85

Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Diplomarbeit

Autonome Energieversorgung für Plattformen zum automatischen Erfassen vonWi�-Probe-Requests

Miriam Alina Scholz

5. Dezember 2018

Betreuer: Prof.-Ing. Robert Baumgartl

2. Gutachter: Prof. Dr-Ing. habil. Dirk Müller

Page 2: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre
Page 3: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Danksagung

An dieser Stelle möchte ich mich bei allen Freunden und Bekannten bedanken, die zudieser Diplomarbeit durch verschiedenste Anregungen und Diskussionen beigetragen ha-ben.

Zuerst gebührt mein Dank Herrn Prof. Dr.-Ing. Robert Baumgartl, für die vielfältigenGespräche und die Betreuung dieser Arbeit.

Mein tiefster Dank gilt auch Herrn Peter Scholz, für die unablässige Unterstützung wäh-rend meines gesamten Studiums. Ohne dessen Werkstatt wäre es mir auch nicht möglichgewesen den (später beschriebenen) Prototyp zu erstellen. Auch dabei stand er mir mitvielen guten Ratschlägen zur Seite.

Herrn Markus Mauksch und Frau Ilona Scholz danke ich für die Diskussionen verschie-dener Ideen und für viele motivierende Worte.

Auch bei Herrn René Unger von der EA-Systems GmbH, der mich während des Studiumsstets unterstützt hat, möchte ich mich bedanken.

Alina Scholz,

05. Dezember 2018

3

Page 4: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre
Page 5: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Erklärung über die eigenständige

Erstellung der Arbeit1

Hiermit erkläre ich, dass ich die vorgelegte Arbeit mit dem Titel

�Autonome Energieversorgung für Plattformen zum automatischen Erfassen

von Wi�-Probe-Requests�

selbständig verfasst, keine anderen als die angegebenen Quellen und Hilfsmittel benutztsowie alle wörtlich oder sinngemäÿ übernommenen Stellen in der Arbeit als solche unddurch Angabe der Quelle gekennzeichnet habe. Dies gilt auch für Zeichnungen, Skizzen,bildliche Darstellungen sowie für Quellen aus dem Internet.

Mir ist bewusst, dass die Hochschule für Technik und Wirtschaft Dresden Prüfungsarbei-ten stichprobenartig mittels der Verwendung von Software zur Erkennung von Plagiatenüberprüft.

____________________

(Ort, Datum)

____________________(Unterschrift)

1https://www.htw-dresden.de/�leadmin/user�les/land/pdf/Fakultaet/Regelungen/Selbststaendigkeitserklaerung.pdf

5

Page 6: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre
Page 7: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Inhaltsverzeichnis

1 Einleitung 91.1 Kontext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.3 Zielstellung der Diplomarbeit . . . . . . . . . . . . . . . . . . . . . . . . . 101.4 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Stand der Technik 112.1 Stauerkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.1 Stationäre Datenquelle . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.2 Mobile Datenquelle . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Ähnliche Projekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Anlagenüberblick 13

4 Entwurf 154.1 Sensormodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.1.1 Vorüberlegungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1.2 Überblick über die zur Auswahl stehenden Sensormodule . . . . . . 15

4.1.2.1 Raspberry Pi Zero W . . . . . . . . . . . . . . . . . . . . 154.1.2.2 ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.1.2.3 ESP8266 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1.3 Vergleich der Sensormodule . . . . . . . . . . . . . . . . . . . . . . 174.1.4 Softwareentwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2 Sensorperipherie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2.1 Identi�kation nötiger Komponenten . . . . . . . . . . . . . . . . . . 284.2.2 Systemaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.3 Prototypische Systemplattform . . . . . . . . . . . . . . . . . . . . . . . . 324.3.1 Erstes Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3.2 Verbessertes Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4.1 Datenbankkonzept . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.4.2 Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5 Implementierung & Aufbau 495.1 Sensormodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.1.1 Softwarearchitektur . . . . . . . . . . . . . . . . . . . . . . . . . . . 505.1.2 Aufgetretene Probleme . . . . . . . . . . . . . . . . . . . . . . . . . 52

7

Page 8: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Inhaltsverzeichnis Inhaltsverzeichnis

5.2 Sensorperipherie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.2.1 Stromquelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.2.2 Akku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545.2.3 Laderegler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.2.4 Spannungskonverter . . . . . . . . . . . . . . . . . . . . . . . . . . 575.2.5 Ladezustandsüberwachung . . . . . . . . . . . . . . . . . . . . . . . 585.2.6 Verschaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.3 Sensorplattform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.4 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.4.1 Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.4.2 Webinterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6 Versuchsaufbau 69

7 Bewertung 737.1 Grenzen & Erweiterungspotential . . . . . . . . . . . . . . . . . . . . . . . 73

Literaturverzeichnis 75

8

Page 9: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

1 Einleitung

1.1 Kontext

Die Mehrzahl heutiger mobiler Geräte, wie zum Beispiel Smartphones, Smartwatchesund ähnliches unterstützen Wi�. Damit sie sich, unter anderem, mit einem (kon�gu-rierten) Netzwerk verbinden können, senden sie regelmäÿig Datenpakete aus. Diese Da-tenpakete werden Wi�-Probe-Requests genannt und dienen dazu herauszu�nden, welcheWi�-Netzwerke sich in der Umgebung be�nden. Werden sie von einem Wi�-Access-Pointempfangen, so antwortet dieser in den meisten Fällen mit einem Wi�-Probe-Response.

Dieser Vorgang ist auch für externe Geräte sichtbar. Mit Hilfe der dabei verwendetenMac-Adresse ist es möglich ein mobiles Endgerät eindeutig zu identi�zieren. In einem aus-reichend langem Aufzeichnungszeitraum lässt sich so beispielsweise Erkennen ob, wannund wie oft ein Gerät an einen bestimmten Punkt zurückgekehrt ist. In einem ausrei-chend groÿen Netz ist es mit dieser Technik auch möglich komplette Bewegungspro�lezu erstellen. Als ein weiteres potentielles Anwendungsgebiet wird in dieser Arbeit dieÜberwachung von Verkehrsströmen behandelt.

Sie reiht sich dabei in eine Reihe anderer Arbeiten zu diesem Themenkomplex ein. [1, 2, 3]

Eine erste Versuchsreihe wurde mit Hilfe eines Raspberry Pi realisiert. Dabei wurdenin mehreren Situationen WLAN Pakete gesammelt und anschlieÿend ausgewertet. Eswurde mittels einer Fahrt auf der Autobahn gezeigt, dass es auch bei hohen Geschwin-digkeiten möglich ist, WLAN Pakete der anderen Verkehrsteilnehmer einzufangen. Auchwährend einer Zugfahrt wurde eine hohe Anzahl an Paketen gesammelt. Als abschlie-ÿender Versuch wurden an zwei Autobahnbrücken Wi�-Probe-Requests gesammelt. MitHilfe der gesammelten Daten lieÿ sich erkennen, ob ein Fahrzeug beide Kontrollpunktepassiert hat. Betrachtet man die Zeitdi�erenz zwischen den Durchfahrten an diesen bei-den Kontrollpunkten, dann ist es möglich daraus die Geschwindigkeit und Fahrtrichtungabzuleiten.

In einer anderen Arbeit wurden die Grenzen der Genauigkeit dieses Verfahrens überprüft.Dabei ist herausgekommen, dass verschiedene Faktoren, wie zum Beispiel die Fahrzeugka-rosserie, Ein�uss auf die Qualität der Daten nehmen. Anhand der gewonnenen Kenntnis-se, wurden Möglichkeiten untersucht, wie sich die Genauigkeit verbessern lässt. Einer derAnsätze dieser Arbeit ist es, mehrere Stationen an einem Kontrollpunkt aufzustellen. Fürdiesen Anwendungszweck wird in einer parallelen Arbeit ein Kommunikationsprotokollentwickelt.[4]

9

Page 10: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

1.2. PROBLEMSTELLUNG KAPITEL 1. EINLEITUNG

1.2 Problemstellung

Zur Überwachung der Verkehrsströme sollen Wi�-Probe-Request-Empfangssysteme ent-lang von Bundesstraÿen oder Autobahnen positioniert werden. Diese Plattformen erfor-dern einen autonomen Betrieb ohne zentralisierte Stromversorgung.

1.3 Zielstellung der Diplomarbeit

Ziel der Diplomarbeit sind Untersuchungen zur autonomen Energieversorgung eingebet-teter Plattformen zur Aufzeichnung von Wi�-Probe-Requests, sowie die Konstruktioneines unter verschiedenen naturräumlichen Bedingungen ganzjährig betriebsfähigen Sys-tems auf Basis von Photovoltaik.

1.4 Aufbau der Arbeit

Im ersten Schritt wird mit Kapitel 2 - Stand der Technik auf der nächsten Seite auf bis-herige Verfahren zur Stauerkennung eingegangen. Auch artverwandte Systeme werdenbetrachtet. Kapitel 3 - Anlagenüberblick auf Seite 13 gibt eine Veranschaulichung desübergeordneten Themas. Kapitel 4 - Entwurf auf Seite 15 widmet sich zuerst der Un-tersuchung des für die Aufgabe geeignetsten Moduls. Dafür werden verschiedene Modulemiteinander verglichen. Anschlieÿend werden Entwürfe für die Modul- und Serversoft-ware entwickelt. Auch der Identi�kation weiterer benötigter Komponenten widmet sichdieses Kapitel.

Kapitel 5 - Implementierung & Aufbau auf Seite 49 beschreibt den Aufbau eines ers-ten Prototyps. Dabei werden die ausgewählten Hardwarekomponenten dargestellt und eswird auf die entwickelte Software eingegangen. Kapitel 6 - Versuchsaufbau auf Seite 69 be-trachtet einen Langzeittest des entwickelten Systems. Kapitel 7 - Bewertung auf Seite 73gibt eine abschlieÿende Bewertung und zeigt die Grenzen und das Erweiterungspotentialdes Systems auf.

10

Page 11: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

2 Stand der Technik

2.1 Stauerkennung

Zur Erkennung und Bewertung des Verkehrs�usses gibt es bereits einige Techniken mitverschiedenen Vor- und Nachteilen. Eine Möglichkeit diese zu Unterscheiden besteht dar-in, sie in stationäre und mobile Systeme einzuteilen. Die gesammelten Daten dieser Sys-teme dienen nicht allein der Erkennung von Stausituationen. Sie werden auch herangezo-gen um festzustellen, welche Streckenabschnitte möglicherweise weiter ausgebaut werdenmüssen. Auch zur Ampelanlagensteuerung werden sie genutzt. [5, 6, 7]

2.1.1 Stationäre Datenquelle

Innerhalb des deutschen Straÿennetzes sind eine Vielzahl von stationären Sensoren ver-baut. Einige davon sind:

� Induktionsschleifen

� Ist eine mit Wechselstrom betriebene und in die Fahrbahn integrierte Draht-schleife. Innerhalb dieser Schleife entsteht ein magnetisches Wechselfeld, des-sen Induktivität sich durch darüber fahrende Fahrzeuge verändert. Diese Ver-änderung kann gemessen und ausgewertet werden.

� Es gibt sie sowohl als Einzel-, als auch als Doppelschleifen.

� Einzelschleifen werden dabei meist zur Steuerung von Ampelanlagen einge-setzt und können nicht ganz so präzise Informationen über den Verkehrs�ussliefern. Messungen wie Belegung oder Zeitlücken zwischen den Fahrzeugensind aber möglich.

� Mit Hilfe von Doppelschleifen, welche aus 2 Schleifen hintereinander bestehenist es hingegen auch möglich Informationen wie die Geschwindigkeit einesFahrzeuges präzise zu ermitteln oder die Fahrtrichtung zu bestimmen.

� Besitzen eine geringe Fehleranfälligkeit.

� Weit verbreitet.

� Passiv-Infrarotdetektoren

� Erkennen Fahrzeuge durch die vom Motor abgestrahlte Wärme. Sie sendenselber keine Infrarotstrahlung aus.

11

Page 12: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

2.2. ÄHNLICHE PROJEKTE KAPITEL 2. STAND DER TECHNIK

� Radarsensoren

� Arbeitet mit Hilfe von Radarwellen. Wird ein Fahrzeug von diesen Radarwel-len getro�en, so werden diese re�ektiert und von der Anlage erfasst.

Ein Merkmal aller stationärer Systeme ist dabei, dass die Verteilung der Sensorenim Straÿennetz häu�g unregelmäÿig ist und nur ein begrenzter Ausschnitt erfasstwerden kann. Auch ist es nicht möglich genauere Informationen daraus abzuleiten,von wo ein Fahrzeug gekommen ist und welches Ziel es hat.

2.1.2 Mobile Datenquelle

Floating Car Data Hier werden die Daten durch das Auto selber generiert. Es benötigtdafür GPS und ein Mobilfunksystem (GSM / UMTS / LTE). Mittels integrierterSensoren können Daten zum Fahr- oder Warteverhalten des Fahrzeuges generiertund an eine zentrale Stelle zur Auswertung übermittelt werden. Erste Pilotprojektewurden bereits in Berlin und Wien umgesetzt. [8, 9]

Floating Phone Data Basiert auf im Fahrzeug mitgeführte Mobiltelefone. Über die Ein-buchungen in verschiedene Funkzellen kann ein Mobiltelefon im Standort verfolgtwerden. Dies lässt Rückschlüsse auf potentielle Staugebiete zu. Das Produkt �HDTra�c� von TomTom integriert bereits Floating Phone Data von Vodafone. [10,11, 5]

2.2 Ähnliche Projekte

Wi� Positioning System Im Wi� Positioning System werden die von Wi�-Access-Pointsausgesendeten Daten genutzt, um den Standort eines Nutzers zu bestimmen. Umdieses Ziel zu erreichen, werden die Probe-Responses der verschiedenen Access-Points ausgewertet. Die in der Probe-Response enthaltenen Daten, wie MAC-Adresse und SSID werden mit den Einträgen einer globalen Datenbank verglichen.Anhand der in den Datenbanken enthaltenen Standortinformationen ist es möglicheine ungefähre Abschätzung für den Standort des Nutzers zu tre�en.

Solar-Wetterstation Es gibt einige Beispiele, in deinen mittels eines Arduino oder ESPeine Wetterstation mit Hilfe von Solarenergie betrieben wird. Ein besonders inter-essantes Projekt ist dabei die Wetterstation von bitluni.[12] Als Grundlage wird hierein ESP8266 genutzt. Zur Übermittlung der Wetterdaten wird auf den integriertenWi�-Chip zurückgegri�en. Um Energie zu sparen, wird das Modul regelmäÿig inden Tiefschlaf versetzt.

12

Page 13: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

3 Anlagenüberblick

Diese Arbeit ist Teil eines Projektes zur Entwicklung eines Stauerkennungssystems. AlsBasis für die Erkennung dienen Wi�-Probe-Requests. Um die nächsten Kapitel bessernachvollziehen zu können ist es wichtig erst einmal eine vollständige geplante Anlage zuveranschaulichen.

Abbildung 3.1: Beispiel für eine Anlage

In einer Anlage sollen entlang eines Fahrbahnabschnittes mehrere Systeme (1, 2, 3, 4)hintereinander aufgebaut werden.

Diese Systeme erfassen in einem bestimmten Radius Probe-Requests. Fahrzeuge, aus ver-schiedenen Richtungen kommend, durchfahren die Empfangsbereiche der Systeme. Wennsich an Bord dieser Fahrzeuge Wi�-Geräte be�nden, dann können ihre Probe-Requestsvon jedem System erfasst werden. Die Systeme sind dabei in einer Kette miteinanderverbunden. Am Ende dieser Kette be�ndet sich ein spezielles Endgerät (4) mit einerInternetverbindung.

Die miteinander verbundenen Systeme reichen ihre gesammelten Daten an ihr jeweilshöher liegendes Kettenglied weiter. Dieses reicht sie ebenso weiter, bis sie schlussendlicham Endgerät angekommen sind. Das Endgerät lädt sie an einen zentralen Server insInternet. Dort können schlieÿlich sie ausgewertet werden.

13

Page 14: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 3. ANLAGENÜBERBLICK

Eine Anlage besteht damit aus einem, möglicherweise zwei, Endstücken mit einer belie-bigen Anzahl an Knotenpunkten. Dafür werden folgende Begri�ichkeiten eingeführt:

� Anlage

� Die Gesamtheit aller miteinander verbundener Geräte innerhalb eines Stre-ckenabschnittes.

� Transmitter (4)

� Ein am Ende der Kette be�ndliches Endgerät. Sammelt selber keine Daten,sondern dient ausschlieÿlich dazu die Anlage mit einem zentralen Server zuverbinden. Hierbei sollen die gesammelten Probe-Daten regelmäÿig hochgela-den, sowie Verwaltungsdaten ,wie zum Beispiel zur Zeitsynchronisation, her-untergeladen werden.

� Sensorsystem (1, 2, 3)

� Ein Knoten innerhalb der Kette. Es registriert die Probes und reicht diese inbestimmten Abständen an seinen Nachbarn weiter.

� Besteht aus mehreren Unterkomponenten

* Sensormodul

· Das eigentliche Sensormodul. Enthält die Hard- und Software zumEmpfang und Weitergabe der Messdaten.

* Sensorperipherie

· Sind alle zum autonomen Betrieb nötigten elektrischen Komponentenum das Sensormodul herum.

* Systemplattform

· Das Gehäuse, welches das Sensormodul und die Sensorperipherie bein-haltet.

� Server

� Ist der zentrale Server, zu welchem die einzelnen Anlagen ihre Daten übermit-teln.

14

Page 15: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4 Entwurf

4.1 Sensormodul

4.1.1 Vorüberlegungen

Das Sensormodul soll eigenständig Wi�-Probe-Requests erfassen können. Mehrere Sen-sorsysteme sollen sich drahtlos in Form einer Kette miteinander verbinden. Als Funk-übertragungstechnik ist Wi� vorgesehen.

Die Daten, die über diese Verbindung ausgetauscht werden, sind im wesentlichen diegesammelten Probe-Requests, sowie gegebenenfalls Steuerdaten zum Abgleich von Sys-temzeit und anderem.

Die einzelnen Sensorsysteme sollen dabei von einer externen Stromversorgung unabhän-gig betrieben werden können. Um die Gesamtkosten einer Anlage, mit mehreren dieserSensorsysteme, gering zu halten ist auÿerdem auf einen geringen Preis der einzelnen Kom-ponenten zu achten.

Damit ergeben sich die folgende Anforderungen an das Sensormodul:

1. Wi�-Funktionalität

2. Befähigung Probe-Requests zu verarbeiten

3. geringer Stromverbrauch

4. gute Verfügbarkeit

5. geringer Preis

4.1.2 Überblick über die zur Auswahl stehenden Sensormodule

Da es eine Vielzahl verschiedenster Module und Modulkon�gurationen gibt, wurde dieAuswahl auf 3 Möglichkeiten eingeschränkt.

4.1.2.1 Raspberry Pi Zero W

Der erstmals Anfang 2012 auf den Markt gekommene Raspberry Pi 1 ist ein Einplatinen-computer der britischen Raspberry Pi Foundation. Die Idee hinter seiner Entwicklung

15

Page 16: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.1. SENSORMODUL KAPITEL 4. ENTWURF

war es Jugendlichen und Technikinteressierten einen günstigen Computer zum Erlernenvon Programmierkenntnissen, sowie zum generellen Experimentieren zur Verfügung zustellen. Man erho�te sich dadurch sowohl eine steigende Anzahl an Informatikstudenten,als auch verbesserte Kenntnisse der Studienanfänger selber. [13]

Das Konzept sieht dabei vor alle üblichen Komponenten eines PC auf einer einzelnenPlatine zu vereinen. So sind CPU, GPU, Arbeitsspeicher, USB und Netzwerkkarte voll-ständig auf der Platine integriert. Als nicht �üchtigen Massenspeicher wird auf einen(micro-)SD-Kartenanschluss zurückgegri�en. Zusätzlich stehen GPIO (general purposeinput/output) Pins zur Verfügung. Mit diesen lassen sich externe Sensoren oder Moduleansprechen.[14]

Dieser günstige Einplatinenansatz stieÿ auf groÿe Nachfrage und so konnten in den fol-genden Jahren eine Fülle an überarbeiteten Versionen und Nachfolgeplatinen auf demMarkt erscheinen. [15] Zur Beliebtheit trugen dabei auch ein groÿes Software- und Zu-behörpaket bei. Auch wurden durch den Raspberry Pi zahlreiche Konkurrenzprodukteinspiriert.

Der Raspberry Pi Zero W ist ein noch kleineres Modul als der Standard-Pi. Im Ver-gleich zum aktuellen Modell der Hauptreihe ist beispielsweise die CPU niedriger getaktetund die Ramkapazität reduziert. Auf eine Lan-Schnittstelle wurde vollständig verzichtet.Eine WLAN Schnittstelle ist vorhanden. Seine Spezi�kationen lauten: [16]

� 1 GHz, single-core CPU

� 512MB RAM

� 2,4 GHz WLAN (802.11 b/g/n)

� Stromverbrauch: 0,5 W - 0,7 W (100 mA - 140 mA bei 5.09 V)[17]

4.1.2.2 ESP32

Der Esp32 [18, 19] ist ein 32-bit Mikrocontroller der Firma espressif und wurde erstmals2016 vorgestellt. Er zeichnet sich durch eine geringe Leistungsaufnahme aus und ist kos-tengünstig erhältlich. Er besitzt je nach Modell 1-2 Prozessorkerne vom Typ Xtensa LX6mit 160 oder 240 MHz und einen internen RAM von 520kiB. Als Schnittstellen bietet erunter anderem UART, SPI, CAN, I²C, I²S und als Besonderheit Bluetooth und Wi� an.

Die Prozessoren der ESP32-Familie werden im Handel meist auf kleinen Modulplatinenbestückt ausgeliefert. Diese Module ergänzen den Prozessor um einen seriellen Flash-speicher, eine WLAN-Antenne und nach auÿen geführte Ein-/Ausgangs- sowie Strom-versorgungspins. Auch ist häu�g eine USB Schnittstelle zum einfachen Programmierenintegriert.

16

Page 17: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.1. SENSORMODUL

4.1.2.3 ESP8266

Der ESP8266 [20, 21] ist ein 32-bit Mikrocontroller der Firma espressif. Er zeichnet sichähnlich dem ESP32 durch eine geringe Leistungsaufnahme sowie einen günstigen Preisaus. Als Prozessor kommt ein Xtensa LX106 von Tensilica zum Einsatz, welcher mit 80MHz - 160 MHz arbeitet. Es stehen 64 kB RAM Befehlsspeicher, sowie 96 kB RAM alsDatenspeicher zur Verfügung. Es gibt eine Vielzahl an verschiedenen Modulkon�guratio-nen, die sich beispielsweise in der Menge des vorhandenem Flashspeichers unterscheiden.[22] Wie der ESP32 wird er meist auf Modulplatinen bestückt ausgeliefert. Interessantist, dass es auch Module gibt, welche einen externen Antennenanschluss anbieten. EineWLAN-Funktionalität ist auch bei diesem Controller vorhanden.

4.1.3 Vergleich der Sensormodule

Um eine Aussage tre�en zu können, welches Modul für den Anwendungsfall am bestengeeignet ist, ist es nötig sie nach den oben genannten Anforderungen miteinander zuvergleichen.

Wi�-Funktionalität Diese ist bei allen Modulen vorhanden.

Befähigung Probe-Requests zu verarbeiten Alle Module sind in der Lage Probe-Requestszu empfangen. Um dies zu bewerkstelligen, können sie in einen speziellen Monitor-Mode versetzt werden. Ein Nachteil des Monitor-Modes ist es aber, dass alle mög-lichen Pakete empfangen werden. Damit nur Probe-Requests verarbeitet werden,müssen diese gezielt ausge�ltert werden.Eine Besonderheit stellt der ESP8266 dar. Probe-Requests dienen eigentlich zur ge-zielten Suche nach vorhandenen Access-Points. Der ESP8266 bietet die Möglichkeiteinen Access-Point zu erstellen und alle Probe-Requests, die diesen Access-Pointerreichen, mittels eines Callbacks gezielt zu verarbeiten. Diese sehr einfache Mög-lichkeit eignet sich perfekt für den geforderten Anwendungsfall.

Gute Verfügbarkeit Alle drei Module sind weit verbreitet und sehr gut verfügbar.

Geringer Preis

Raspberry Pi Zero W 10-20¿

ESP32 8-12¿

ESP8266 5-12¿

Damit sind alle Module relativ günstig. Die ESP-Modelle setzen sich aber deutlichvom Raspberry ab.

17

Page 18: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.1. SENSORMODUL KAPITEL 4. ENTWURF

Stromverbrauch

Insbesondere die Stromaufnahme der Module ist für den autonomen Betrieb von Be-deutung. Da dies kein fester Wert ist, ist es notwendig verschiedene Bedingungen zusimulieren und den Verbrauch zu bestimmen.

Neben der Wi�-Schnittstelle hat auch die Rechenleistung der Module vermutlich einengroÿen Ein�uss auf ihren Energieverbrauch. Dabei besitzt der Raspberry Pi Zero W diestärkste CPU und den gröÿten Arbeitsspeicher. Auf dem zweiten Platz be�ndet sich derESP32. Das Schlusslicht bildet der ESP8266.

Zur Messung des Energiebedarfs wurden die Module mittels Micro-USB-Kabel an einUSB-Meter angeschlossen, welches in einer USB Buchse eingesteckt war. Das Meter misstdie momentane Spannung und Stromstärke und zeigt sie gra�sch auf einem integriertenDisplay an. Die Spannung betrug in allen Fällen die bei USB üblichen 5 V.

Leerlauf Im absoluten Leerlauf ist das Modul lediglich eingeschaltet. Wlan ist deakti-viert. Diese Testumgebung wurde auf den Modulen wie folgt hergestellt:

Raspberry Pi Zero W

� Raspbian Stretch Lite ( minimal Image ) frisch installiert

� In der Datei /boot/con�g.txt wurden folgende Ergänzungen vorgenommen

# Disable Wifi and Bluetooth

dtoverlay = pi3 -disable -bt

dtoverlay = pi3 -disable -wifi

� Deaktivierung des hciuart (auf dem Raspberry Pi 3 und Zero W ist Bluetooth mitdem UART verbunden)

sudo sys t emct l d i s ab l e hc iua r t

� Blacklisting der entsprechender Treiber unter /etc/modprobe.d/raspi-blacklist.conf

# Wifi

blacklist brcmfmac

blacklist brcmutil

# Bluetooth

blacklist btbcm

blacklist hci_uart

18

Page 19: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.1. SENSORMODUL

Esp32

� Aufspielen eines minimalen Arduino Skripts

#include <WiFi.h>

void setup() {

WiFi.mode(WIFI_OFF);

btStop ();

}

void loop() {

delay (1000);

}

Esp8266

� Aufspielen eines minimalen Arduino Skripts

#include <ESP8266WiFi.h>

void setup() {

WiFi.forceSleepBegin ();

}

void loop() {

delay (1000);

}

Die Ergebnisse stellen sich wie folgt dar:

Abbildung 4.1: Messwerte im Leerlauf

19

Page 20: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.1. SENSORMODUL KAPITEL 4. ENTWURF

Unter Last Die Lastsimulation dient dazu herauszu�nden, wie hoch die Verbrauchs-werte sind, wenn tatsächlich eine Aktion durchgeführt wird. Die Module sind dabei zueinem statischen Access-Point verbunden. Diese Testumgebung wurde auf den Modulenwie folgt hergestellt:

Raspberry Pi Zero W

� Raspbian Stretch Lite ( minimal Image ) frisch installiert

� Anlegen der Datei wpa_supplicant.conf. Sie wird beim starten automatisch nach/etc/wpa_supplicant/ verschoben. Sie dient zur Einrichtung des WLAN.

country=DE

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config =1

network ={

ssid="WLAN -SSID"

scan_ssid =1

psk="WLAN -PASSWORT"

key_mgmt=WPA -PSK

}

� Zusätzlich wurde nach dem Bootvorgang der folgende Befehl ausgeführt um CPU-Last zu erzeugen

cat /dev/ zero > /dev/ nu l l

Esp32

� Aufspielen eines Arduino Skripts. Es verbindet sich zu einem WLAN, gibt denStatus per Serieller-Verbindung aus und führt anschlieÿend in Endlosschleife Be-rechnungen durch.

#include <WiFi.h>

const char* ssid = "WLAN -SSID";

const char* password = "WLAN -PASSWORT";

void setup() {

Serial.begin (115200);

delay (10);

Serial.print("Connecting");

Serial.println(ssid);

WiFi.begin(ssid , password);

while (WiFi.status () != WL_CONNECTED) {

delay (500);

Serial.print(".");

}

Serial.println("");

20

Page 21: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.1. SENSORMODUL

Serial.println("WiFi connected");

Serial.println("IP address: ");

Serial.println(WiFi.localIP ());

}

void loop() {

while(true){

int fact = 1;

for(int x = 1; x <= 10; x++) {

fact = fact * x;

}

}

}

Esp8266

� Aufspielen eines Arduino Skripts. Analog zu ESP32

#include <ESP8266WiFi.h>

const char* ssid = "WLAN -SSID";

const char* password = "WLAN -PASSWORT";

void setup() {

Serial.begin (115200);

delay (10);

Serial.print("Connecting");

Serial.println(ssid);

WiFi.begin(ssid , password);

while (WiFi.status () != WL_CONNECTED) {

delay (500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi connected");

Serial.println("IP address: ");

Serial.println(WiFi.localIP ());

}

void loop() {

while(true){

int fact = 1;

for(int x = 1; x <= 10; x++) {

fact = fact * x;

}

}

}

21

Page 22: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.1. SENSORMODUL KAPITEL 4. ENTWURF

Die Ergebnisse stellen sich wie folgt dar:

Abbildung 4.2: Messwerte unter Last

Leerlauf mit aktiver Wi�-Verbindung Das nächste Szenario ist Leerlauf bei zusätzlichaktiviertem WLAN. Die Module sind dabei zu einem statischen Access-Point verbunden.Die Testumgebungen wurden wie beim letzten Szenario hergestellt. Es wurde lediglichauf die Lastkomponente verzichtet.

Abbildung 4.3: Messwerte unter Leerlauf mit aktiviertem Wi�

Ergebnis: Es zeigt sich, dass das der ESP8266 in allen getesteten Szenarien am wenigstenEnergie benötigte. Zwar besitzt er auch die geringste Rechenleistung, doch ist diese fürden Anwendungszweck nur von geringerer Bedeutung. Er wird deswegen für die weitereArbeit als Modul ausgewählt.

22

Page 23: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.1. SENSORMODUL

Simulation Tagesverbrauch Um den Tagesverbrauch zu simulieren wurde ein weiteresTestskript für den ESP8266 erstellt.

#include <ESP8266WiFi.h>

#include <ESP8266HTTPClient.h>

const char* ssid = "WLAN -SSID";

const char* password = "WLAN -PASSWORT";

HTTPClient http;

void setup() {

Serial.begin (115200);

delay (10);

Serial.print("Connecting");

Serial.println(ssid);

WiFi.begin(ssid , password);

while (WiFi.status () != WL_CONNECTED) {

delay (500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi connected");

Serial.println("IP address: ");

Serial.println(WiFi.localIP ());

}

void loop() {

http.begin("http ://192.168.178.142/ in ");

http.addHeader("Content -Type", "application/x-www -form -

urlencoded");

int httpCode = http.GET();

String payload = http.getString ();

Serial.print("HttpCode: ");

Serial.println(httpCode);

Serial.print("content: ");

Serial.println(payload);

http.end();

}

In diesem Skript verbindet sich der ESP8266 zu einem Access-Point und ruft in einerEndlosschleife mittels HTTP eine Website ab. Dies soll Last auf den Wi�-Chipsatz er-zeugen, wie es auch im späteren Einsatz möglich sein könnte.Bei diesem Versuch wurde eine Stromstärke von ~75 mA bei 5 V Spannung gemessen.

23

Page 24: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.1. SENSORMODUL KAPITEL 4. ENTWURF

Die benötigte Leistung beträgt also:

P = U ∗ I

W = 0.075A ∗ 5V = 0, 375W

Mit Hilfe des ermittelten Verbrauchswertes ist es möglich einige Simulationen aufzustel-len. Für den Tiefschlafzustand wird eine Leistungsaufnahme von 0 W angenommen. Dasverwendete USB-Meter zeigte in disem Modus 0 mA an. Die Au�ösung dieses Geräteslag allerding auch nur bei 1 mA. Es wird davon ausgegangen, dass der Verbrauch unter1 mA liegt.

Szenario 1

Rahmenbedingung: Das Modul läuft 24 Stunden am Tag ununterbrochen.Die benötigteEnergie beträgt also:

W = P ∗ t

W = 0, 375W ∗ 24h = 9Wh

Szenario 2

Rahmenbedingung: Das Modul schaltet sich regelmäÿig in einen energiesparenden Tief-schlafzustand, der von ebenso regelmäÿigen Wachphasen unterbrochen wird. Beieiner gleichmäÿigen Verteilung von Schlaf- und Wachphasen halbiert sich die be-nötigte Energie. Das System ist e�ektiv nur noch 12 Stunden aktiv.

W = 0, 375W ∗ 12h = 4, 5Wh

Szenario 3

Rahmenbedingung: Das Modul schaltet sich regelmäÿig in einen energiesparenden Tief-schlafzustand, der von ebenso regelmäÿigen Wachphasen unterbrochen wird. Beieiner gleichmäÿigen Verteilung von Schlaf- und Wachphasen halbiert sich die be-nötigte Energie. Der Tiefschlafzustand wird zusätzlich über Nacht von 22 Uhr - 7Uhr durchgängig aufrechterhalten. Das System ist e�ektiv nur noch 7,5 Stundenaktiv. (15 Stunden Tagsüber, davon 50% im Schlaf)

24

Page 25: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.1. SENSORMODUL

W = 0, 375W ∗ 7, 5h = 2, 8125Wh

Man sollte allerdings auch noch berücksichtigen, dass sowohl beim Speichern, als auchbeim Abrufen der Energie in einen Akku ein gewisser Leistungsverlust entsteht. DieSpannung muss wahrscheinlich an zwei Stellen gewandelt werden (Solarpanelspannung -> Akku, Akkuspannung -> ESP8266). Und auch die restlichen Komponenten des Systemsbenötigen Energie. Wenn man (vereinfacht) von einem zusätzlichen Energiebedarf von40% ausgeht, kommt man auf folgendes Ergebnis:

2, 8125Wh ∗ 1, 4 = 3, 9375Wh

Dieses Ergebnis ist natürlich nur eine sehr grobe Abschätzung. Der genaue Wert wirdam Ende vom Wirkungsgrad der gewählten Modulen bestimmt. Das Problem ist dabeiallerdings, dass sich eben dieser Wirkungsgrad häu�g in Abhängigkeit zu verschiedenenUmgebungsbedingungen (z.B. Temperatur) ändert.

4.1.4 Softwareentwurf

Die eigentliche Software, welche später auf den Esp8266 laufen soll, entsteht im Rahmeneiner anderen Diplomarbeit. Für die Versuchszwecke eines ersten Testsystems wird des-halb lediglich eine vereinfachte Software benötigt.

Diese Software verzichtet auf eine aufwendige Kommunikation der Sensorsysteme un-tereinander. Auch auf eine automatisierte Kon�guration bei Erstinbetriebnahme oderAustausch defekter Geräte wird verzichtet. Eine regelmäÿige Zeitsynchronisation [23] un-tereinander �ndet ebenfalls nicht statt. Vielmehr dient die Software lediglich dem Zweck,eine realistische Abschätzung tre�en zu können, wie hoch die späteren Verbrauchswertesind.

Damit der Energieverbrauch reduziert wird, ist ein Wechsel zwischen Wach und Schlaf-phasen vorgesehen. Das System soll über den Akkuverbrauch und die gesammelten Probe-Requests informieren. Um dies zu bewerkstelligen wird eine gewisse Grundfunktionalitäthergestellt.

Diese Grundfunktionalität beschränkt sich auf:

1. Den Verbindungsaufbau zu einem stationären Wi�-Access-Point

2. Abfragen der aktuellen Zeit mittels NTP1

3. Das Erfassen und Zwischenspeichern von Wi�-Probe-Requests

1Network Time Protocol [24]

25

Page 26: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.1. SENSORMODUL KAPITEL 4. ENTWURF

4. Der Übertragung der gesammelten Requests zu einer festen Zieladresse

5. Einen regelmäÿigen Zyklus zwischen Wach- und Schlafphasen des Moduls

6. Eine extra lange Schlafphase

7. (Extra Prototyp) Das Erfassen und Senden des aktuellen Akkuzustandes

26

Page 27: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.1. SENSORMODUL

Die folgende Gra�k verdeutlicht dabei den Programmablauf:

Abbildung 4.4: Sensormodul - Programmablaufplan

27

Page 28: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.2. SENSORPERIPHERIE KAPITEL 4. ENTWURF

4.2 Sensorperipherie

4.2.1 Identi�kation nötiger Komponenten

Stromquelle & Akku

Das System soll autonom mit Strom betrieben werden. Es wird also eine lokale Strom-quelle benötigt. Für diese stehen im Grunde nur 2 Möglichkeiten zur Auswahl. Entwederauf Basis von Wind- oder auf Basis von Sonnenenergie.

Eine Windkraftanlage wandelt dabei die Energie des Windes in elektrische Energie um.Dabei wird ein Rotor durch den Wind in Rotation versetzt, aus welcher ein dahinterliegender Generator nutzbaren Strom erzeugt. Groÿe Windkraftgeneratoren können da-bei Leistungen von bis zu 8MW erzeugen. Doch obwohl es auch Kleinanlagen gibt, istihre Skalierbarkeit besonders für kleinste Anwendungen eingeschränkt. Durch die für denBetrieb nötigen beweglichen Teile besitzen sie auch einen gewissen Wartungsaufwand.

Solar-/Photovoltaikmodule wandeln stattdessen die Energie der Sonne in elektrischeEnergie um. Dabei wird zwischen 2 verschieden dotierten Siliziumschichten ein elek-trisches Feld aufgebaut. Auftre�ende Photonen (Sonnenstrahlen) erzeugen dabei freieLadungsträger, wodurch eine Spannung und nutzbarer Strom entsteht. Solarzellen kannman nach verschiedenen Kriterien einordnen. So gibt es Unterscheidungen zwischen derMaterialdicke (Dickschicht / Dünnschicht) oder auch des verwendeten Halbleitermateri-als (am häu�gsten Silizium). Auch eine Unterscheidung ihrer Kristallstruktur in mono-/ polykristallin oder amorph ist möglich.

Ein Akku ist notwendig, damit das System auch funktioniert, wenn nicht genug Sola-renergie zur Verfügung steht.

Das kann in folgenden Situationen der Fall sein:

� bei Dunkelheit tagsüber im Winter (Aktivphase)

� bei Nacht (Schlafphase)

� bei starker Bewölkung

� bei Nebel

Dabei ist es wichtig eine Akkukapazität zu wählen, die hoch genug ist, um auch mehrereTage mit schlechten Wetterkonditionen zu überbrücken. Die Photovoltaikmodule solltendarüber hinaus genug Leistung liefern, dass auch an schlechten Tagen zumindest derVerbrauch bei Tageslicht gröÿtenteils abgefangen wird. An guten Tagen sollten sie genugLeistung liefern um den Akku wieder aufzuladen.

Diese zwei Gröÿen (Akkukapazität und notwendige Solarzellenleistung) werden dabei

28

Page 29: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.2. SENSORPERIPHERIE

maÿgeblich vom späteren Einsatzort bestimmt. So spielen mögliche Verschattungen vorOrt oder der Breitengrad eine signi�kante Rolle.Bei der Wahl des Akkutyps sollte darauf geachtet werden, dass dieser durch den regel-mäÿigen Zyklus von kurzen Teilladungen und Teilentladungen keinen Schaden nimmt.

Um sich diesen zwei Gröÿen anzunähern kann das Tool PVGIS2 im O�-Grid Modusgenutzt werden. Dieses ermöglicht für einen spezi�schen Standort die Performance einesO�-Grid Photovoltaik-Systems zu bestimmen.

Für ein erstes Testsystem wird von folgenden Gröÿen ausgegangen.

Komponente Wert

Akku 3000 mAh // 3,7 V ~11 WSolarpanels 10 Wpeak

Die Performanceanalyse für den Standort Dresden wird in Abbildung 4.5 gezeigt. Manerkennt, dass es im Winter eher kritisch wird. Für ein erstes Testsystem reicht es abermehr als aus.

Abbildung 4.5: PV-System Performance(http://re.jrc.ec.europa.eu/pvg_tools/en/tools.html)

Laderegler

Der Laderegler dient dazu den Strom aus den Photovoltaikmodulen zu entnehmen undden Akku ordentlich zu laden. Als wichtigste Eigenschaft ist zu nennen, dass er zusätzlichzum Laden auch einen gleichzeitig angeschlossenen Verbraucher unterstützen muss. Alsweitere wichtige Funktion muss er ein Überladen des Akkus verhindern.

Bei Solarladereglern gibt es neben dem einfachen Typ auch noch MPPT-Laderegler. [26]Maximum Power Point Tracking bezeichnet dabei ein Verfahren, mit dem die Last aufdem Solarmodul angepasst wird, um immer die gröÿte mögliche Leistung zu entnehmen.

2PHOTOVOLTAIC GEOGRAPHICAL INFORMATION SYSTEM, European Commission [25]

29

Page 30: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.2. SENSORPERIPHERIE KAPITEL 4. ENTWURF

Dieser Betriebspunkt ist nicht konstant, sondern beispielsweise durch Temperaturunter-schiede und Veränderungen im Sonnenstand schwankend. MPPT-Laderegler laden durchdieses Verfahren etwas e�zienter, sind aber auch wesentlich teurer.

Spannungskonverter

Ein Spannungskonverter ist notwendig, falls die Eingangsspannungstoleranz des Verbrau-chers (ESP8266) und die Ausgangsspannung des verwendeten Akkus nicht miteinanderkompatibel sind. Die Konverter werden dabei meist in 3 Kategorien eingeteilt.

Buck Wandeln eine höhere Eingangsspannung in eine niedrigere Ausgangsspannung um.

Boost Wandeln eine niedrigere Eingangsspannung in eine höhere Ausgangsspannung um.

Buck-Boost Wandeln eine beliebige Spannung die Ausgangsspannung um.

Dabei gibt es verschiedene Modelle mit verschiedenen Ein-/Ausgangsspannungen.

(Extra Prototyp) Ladezustandsüberwachungsmodul

Für den autonomen Betrieb ist ein Ladezustandsüberwachungsmodul nicht zwingend not-wendig. Für den Prototyp ist es hingegen hilfreich den Ladezustand jederzeit überprüfenzu können. Auch für die späteren Systeme im freien Feld könnte das interessant sein. Solieÿe sich bei einem Systemausfall schnell feststellen, dass es �nur� am leeren Akku liegt.

30

Page 31: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.2. SENSORPERIPHERIE

4.2.2 Systemaufbau

Das folgende Bild veranschaulicht die Verkabelung der einzelnen Komponenten.

Abbildung 4.6: Zusammenspiel der einzelnen Komponenten

Die Solarmodule sind mit dem Lademodul verbunden. Das Lademodul muss über 2 Aus-gänge verfügen. Einer der Ausgänge geht in Richtung Akku und der Andere in RichtungESP8266. Dazwischen sitzen Ladezustandsüberwachung beziehungsweise Spannungskon-verter. Das Ladezustandsüberwachungsmodul ist über Messleitungen ebenfalls direkt mitdem ESP8266 verbunden.

31

Page 32: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.3. PROTOTYPISCHE SYSTEMPLATTFORM KAPITEL 4. ENTWURF

4.3 Prototypische Systemplattform

Die Komponenten müssen verschiedene Witterungsbedingungen aushalten können. Eben-so ist es wichtig die Solarzellen in einem günstigen Winkel zur Sonne ausrichten zukönnen. Die restlichen Komponenten sollen möglichst geschützt untergebracht sein. Ex-tremwetterlagen wie Wirbelstürme werden nicht betrachtet.

4.3.1 Erstes Konzept

Das Konzept besteht aus 2 Komponenten. Einer Bodeneinheit und einem Panelhalter.

Abbildung 4.7: erstes Plattformkonzept

Der Panelhalter hat dabei die Aufgabe die Solarmodule zu beherbergen. Er soll in einembeliebigen Winkel zur Sonne einstellbar sein. Da die Solarpanels keine Befestigungsmög-lichkeiten für Schrauben vorsehen muss der Panelhalter sie leicht überlagern, ohne dabeizu viel von ihrer Fläche zu verdecken. Auf seiner Rückseite werden die einzelnen Solar-panels zusammengeführt.Die Bodeneinheit bietet Platz um die restlichen Komponenten unterzubringen. Der vor-dere tiefere Teil dient als Platzhalter um eine Beschwerung (z.B. Beton�iese) au�egenzu können. In der Mitte der Bodeneinheit ist eine Höhenstange vorgesehen. An der Spit-ze dieser Stange ist eine Schraubschelle eingeplant, an welcher der Panelhalter befestigtwerden kann.

32

Page 33: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.3. PROTOTYPISCHE SYSTEMPLATTFORM

4.3.2 Verbessertes Konzept

Nach einigen Überlegungen wurde das erste Konzept um eine zweite Höhenstange erwei-tert. Diese soll zusätzliche Stabilität bieten.

Abbildung 4.8: verbessertes Plattformkonzept

An der Rückseite des Panelhalters ist eine zusätzliche wasser- und staubfeste Box (IP54) 3

vorgesehen, in welcher die Kabel der Solarpanels zusammengeführt werden sollen. Auf derBodeneinheit ist ebenfalls eine wasser- und staubfeste Box (IP54) eingeplant. Sie wird dierestlichen Komponenten beherbergen. Es sollen zusätzlich auch ein Winkelmesser und einKompass in die Plattform integriert sein. Diese dienen der besseren Standortausrichtung.

3vollständiger Berührungsschutz, Schutz vor Staub in schädigender Menge, Schutz gegen allseitigesSpritzwasser � siehe auch: [27, 28]

33

Page 34: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

4.4 Server

Der Server hat die Aufgabe die Daten des Systems entgegenzunehmen und abzuspeichern.Dabei sind folgende Daten interessant:

� die gesammelten Probes mit Zeitstempel versehen

� die Ladezustandsdaten am Anfang und Ende der Wachphase

� die Ladezustandsdaten beim kurzen nächtlichen Aufwachen

� das Zeitfenster der Wachphase

Weiterhin soll er verschiedene Ober�ächen anbieten, welche die Daten in aufbereiteterForm darstellen:

� Anzeige aller gefundener MAC-Adressen zusammen mit ihrer Häu�gkeit

� Anzeige einer spezi�schen MAC-Adresse sowie die Zeitpunkte ihres Auftretens

� Anzeige des Ladezustands im zeitlichen Verlauf

� Anzeige der Korrelation zwischen Ladezustand und Wetterdaten

� Anzeige der Zeiträume, in denen das System Daten gesammelt hat

Die Wetterdaten werden vom deutschen Wetterdienst in Form einer CSV-Datei [29] zurVerfügung gestellt. Sie sind online mittels FTP abrufbar. [30] Die Daten sind jeweilseiner bestimmten Wetterstation zugeordnet. Für diese Arbeit wurde die Station 01048Dresden-Klotzsche in Sachsen ausgewählt.

Zur Überprüfung, der vom Solarpanel abgehenden Stromstärke, ist noch eine zusätzlicheOber�äche vorgesehen. Die Werte hierfür werden mittels Digitalmultimeter (vom TypUni-T UT61E) aufgezeichnet und in eine CSV-Datei exportiert.

4.4.1 Datenbankkonzept

Abbildung 4.9: benötigte Entities der Datenbank

34

Page 35: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.4. SERVER

Tabelle macs

Dient der Speicherung der empfangenen MAC-Adressen beziehungsweise Probe-Requests.Hat die folgenden Attribute:

Attribut Verwendung

id : integer Eindeutiges Merkmal eines Datensatzes der Tabelle macsmac : text Die MAC-Adresse des Gerätes, welches das Probe-Request gesendet hattime : integer Der Zeitpunkt des Empfangs der MAC-Adresseservertime : integer Der Zeitpunkt des Eintre�ens auf dem Server

Tabelle power

Dient der Speicherung der Ladezustandsdaten. Hat die folgenden Attribute:

Attribut Verwendung

id : integer Eindeutiges Merkmal eines Datensatzes der Tabelle powervoltage : string Die gemessene Spannung des Akkussoc : string Die gemessene prozentuale Restkapazität des Akkustime : integer Der Zeitpunkt der Messungservertime : integer Der Zeitpunkt des Eintre�ens auf dem Server

Tabelle timeframes

Dient der Speicherung der Aktivphasen des Systems. Hat die folgenden Attribute:

Attribut Verwendung

id : integer Eindeutiges Merkmal eines Datensatzes der Tabelle powerstart : integer Der Startzeitpunkt der Aktivphaseend : integer Der Endzeitpunkt der Aktivphase

35

Page 36: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

4.4.2 Klassen

Übersicht

Abbildung 4.10: Klassendiagramm

36

Page 37: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.4. SERVER

Klasse databaseService

Dient als Schnittstelle zu einer beliebigen Datenbank. Stellt die Verbindung her und führtdie SQL-Queries aus.

Attribute

Attribut Verwendung

� dsn : string Der �Data Source Name�, enthält alle notwendigenInformationen (Treiber, Datenbankname, etc.) um sich zurDatenbank zu verbinden. Durch Verändern des dsn kann eineumfangreiche Auswahl anderer Datenbanken genutzt werden.[31]

spezielle Methoden

Methode Verwendung

� dbConnect() Stellt die Verbindung zur Datenbank her.+ Execute (query,params)

Führt ein spezielles SQL-Statement mit bestimmtenParametern aus. Dient für Kommandos welche keinen Werteaus der Datenbank abfragen. (z.B. Inserts)

query : string das SQL-Statement

params : string[] die Parameter des Statements

+ ExecuteIntoAssocArray(query, params) : string[][]

Führt ein spezielles SQL-Statement mit bestimmtenParametern aus. Dient für Kommandos welche ein odermehrere Werte aus der Datenbank abfragen. (z.B. Selects)Die zurückgegebenen Werte sind ein zweidimensionales Arraynach Datenbankzeile und -spalte aufgetrennt.

query : string das SQL-Statement

params : string[] die Parameter des Statements

37

Page 38: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

Klasse powerstateProvider

Stellt alle nötigen Funktionen bereit, um Objekte der Klasse �powerstate� aus der Daten-bank zu laden oder abzuspeichern. Beinhaltet die SQL-Kommandos um auf die Tabelle�power� zuzugreifen.

Attribute

Attribut Verwendung

� databaseService :databaseService

Der DatabaseService, der genutzt wird, um mit derDatenbank zu kommunizieren.

spezielle Methoden

Methode Verwendung

+ insert (powerstate) Speichert ein Objekt der Klasse �powerstate� in dieDatenbank ab.

powerstate : powerstate der abzuspeichernde Powerstate

+ insertMultiple(powerstates)

Speichert mehrere Objekt der Klasse �powerstate� in dieDatenbank ab.

powerstates : powerstate[] die abzuspeicherndenPowerstates

+ �ndAllPower-states(starting, ending) :powerstate[]

Lädt alle powerstates aus der Datenbank und gibt sie zurück.

starting [optional] : integer optionaler Startzeitpunkt

ending [optional] : integer optionaler Endzeitpunkt

� createPowerstateFrom-Row(row)

Erstellt ein Objekt der Klasse �powerstate� aus einemDatensatz der Datenbank.

row : string[] ein Datensatz der Datenbank mit allenabgefragten Feldern

38

Page 39: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.4. SERVER

Klasse powerstate

Stellt eine Akkuzustandsmessung zu einer bestimmten Zeit dar.

Attribute

Attribut Verwendung

+ voltage : �oat Die Spannung zum Zeitpunkt der Messung.

+ soc : �oat Die prozentuale Akku-Restkapazität zum Zeitpunkt derMessung.

+ time : integer Der Zeitpunkt der Messung als Unix-Timestamp.

+ servertime : integer Der Zeitpunkt des Eintre�ens auf dem Server alsUnix-Timestamp.

+ timezone : string Die Zeitzone zu welcher konvertiert werden soll.

spezielle Methoden

Methode Verwendung

+ getTimePretty() :string

Gibt time als Datum formatierten String mit Zeitzonezurück. Bsp: �2018-11-26 13:56:30 +01:00�

Klasse sensordataProvider

Stellt alle nötigen Funktionen bereit, um Objekte der Klassen �sensordata� oder �mac-Count� aus der Datenbank zu laden oder abzuspeichern. Beinhaltet die SQL-Kommandosum auf die Tabelle �macs� zuzugreifen.

Attribute

Attribut Verwendung

� databaseService :databaseService

Der DatabaseService, der genutzt wird, um mit derDatenbank zu kommunizieren.

39

Page 40: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

spezielle Methoden

Methode Verwendung

+ insert (sensordata) Speichert ein Objekt der Klasse �sensordata� in dieDatenbank ab.

sensordata : sensordata die abzuspeichernde sensordata

+ insertMultiple(sensordata)

Speichert mehrere Objekt der Klasse �sensordata� in dieDatenbank ab.

sensordata : sensordata[] Array an abzuspeicherndensensordata

+ �ndAllDistinct-MacWithCount() :macCount[]

Lädt alle MAC-Adressen zusammen mit ihrer Häu�gkeit ausder Datenbank und gibt als Array an Objekten der Klasse�macCount� zurück.

+�ndAllSensordataForMac(mac) : sensordata[]

Lädt alle sensordata mit einer speziellen MAC-Adresse ausder Datenbank und gibt sie als Array an Objekten der Klasse�sensordata� zurück.

mac : string die MAC-Adresse die gesucht wird

� createSensorDataFrom-Row (row) :sensordata

Erstellt ein Objekt der Klasse �sensordata� aus einemDatensatz der Datenbank.

row : string[] ein Datensatz der Datenbank mit allenabgefragten Feldern

�createMacCountFromRow(row) : macCount

Erstellt ein Objekt der Klasse �macCount� aus einemDatensatz der Datenbank.

row : string[] ein Datensatz der Datenbank mit allenabgefragten Feldern

40

Page 41: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.4. SERVER

Klasse macCount

Stellt den Zusammenhang dar, wie oft welche MAC-Adresse gefunden wurde.

Attribute

Attribut Verwendung

+ mac : string Die MAC-Adresse

+ count : integer Die aufgefundene Häu�gkeit.

spezielle Methoden

Methode Verwendung

+ getMacPretty() : string Gibt mac als formatierten String zurück. Bsp:�78:11:dc:ec:fd:2f�

Klasse sensordata

Stellt das Au�nden einer MAC-Adresse zu einem bestimmten Zeitpunkt dar.

Attribute

Attribut Verwendung

+ mac : string Die MAC-Adresse

+ time : integer Der Zeitpunkt der Messung als Unix-Timestamp.

+ servertime : integer Der Zeitpunkt des Eintre�ens auf dem Server alsUnix-Timestamp.

+ timezone : string Die Zeitzone zu welcher konvertiert werden soll.

spezielle Methoden

Methode Verwendung

+ getMacPretty() : string Gibt mac als formatierten String zurück. Bsp:�78:11:dc:ec:fd:2f�

+ getTimePretty() :string

Gibt time als Datum formatierten String mit Zeitzonezurück. Bsp: �2018-11-26 13:56:30 +01:00�

41

Page 42: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

Klasse timeframeProvider

Stellt alle nötigen Funktionen bereit, um Objekte der Klasse �timeframe� aus der Daten-bank zu laden oder abzuspeichern. Beinhaltet die SQL-Kommandos um auf die Tabelle�timeframes� zuzugreifen.

Attribute

Attribut Verwendung

� databaseService :databaseService

Der DatabaseService, der genutzt wird, um mit derDatenbank zu kommunizieren.

spezielle Methoden

Methode Verwendung

+ insert(timeframe) Speichert ein Objekt der Klasse �timeframe� in dieDatenbank ab.

timeframe : timeframe der abzuspeichernde timeframe

+ �ndAllTimefra-mes(starting, ending) :timeframe[]

Lädt alle Timeframes zusammen aus der Datenbank und gibtsie als Array an Objekten der Klasse �timeframe� zurück.

starting [optional] : integer optionaler Startzeitpunkt

ending [optional] : integer optionaler Endzeitpunkt

� createTimeframesFrom-Row (row) :timeframe

Erstellt ein Objekt der Klasse �timeframe� aus einemDatensatz der Datenbank.

row : string[] ein Datensatz der Datenbank mit allenabgefragten Feldern

42

Page 43: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.4. SERVER

Klasse timeframe

Stellt den Zeitbereich dar, in dem das System in einer Wachphase war.

Attribute

Attribut Verwendung

+ start : integer Der Startzeitpunkt der Wachphase als Unix-Timestamp.

+ end : integer Der Endzeitpunkt der Wachphase als Unix-Timestamp.

spezielle Methoden

Methode Verwendung

+ getStartPretty() :string

Gibt start als Datum formatierten String mit Zeitzonezurück. Bsp: �2018-11-26 13:56:30 +01:00�

+ getEndPretty() : string Gibt end als Datum formatierten String mit Zeitzone zurück.Bsp: �2018-11-26 13:56:30 +01:00�

Klasse solar10minProvider

Dient dazu eine CSV-Datei mit Wetterdaten im 10 Minutentakt einzulesen und die darinenthaltenen Daten bereitzustellen.

Attribute

Attribut Verwendung

� defaultFilename : string Der Default-Dateiname der CSV-Datei, welche dieWetterdaten im 10 Minutentakt enthält.

� �lename : string Der Dateiname der CSV-Datei, welche die Wetterdaten im 10Minutentakt enthält.

� solar10minData :solar10min[]

Array, welches alle eingelesenen solar10min Daten enthält.

� minTimestamp : integer Der Startzeitstempel, ab welchem die Daten in der CSVgelesen werden sollen. Dient dazu ältere Datensätzeauszu�ltern.

� maxTimestamp : integer Der Endzeitstempel, bis zu welchem die Daten in der CSVgelesen werden sollen.

spezielle Methoden

Methode Verwendung

+ get10minData() :solar10min[]

Gibt alle eingelesenen solar10min Objekte zurück.

� readWeather�le() Liest die CSV Datei ein.

43

Page 44: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

Klasse solar10min

Stellt einen Datensatz der CSV-Wetterdatei dar. Ist im 10 Minutenintervall aufgelöst.

Attribute

Attribut Verwendung

+ stationid : integer Identi�kationsnummer der Station+ timestamp : string Intervallende in UTC yyyymmddhhmm+ qn : integer Qualitätsniveau der nachfolgenden Spalten+ ds_10 : �oat 10min-Summe der di�usen solaren Strahlung in J/cm^2+ gs_10 : �oat 10min-Summe der Globalstrahlung in J/cm^2+ sd_10 : �oat 10min-Summe der Sonnenscheindauer in Stunden+ ls_10 : �oat 10min-Summe der atmosphärischen Gegenstrahlung in

J/cm^2

spezielle Methoden

Methode Verwendung

+ createFromCSV (csv) :solar10min

Erstellt ein Objekt der Klasse solar10min aus einer Zeile derCSV-Datei.

csv : string eine Zeile der CSV-Datei

+ getTimestampUnix() :integer

Gibt das Intervallende als Unix-Timestamp kodiert zurück.

+ getSd10AsMinutes() :�oat

Gibt die Sonnenscheindauer in Minuten zurück.

44

Page 45: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.4. SERVER

Klasse dygraph

Dient dazu verschiedene Diagramme für die Ausgabe zu erstellen.

Attribute

Attribut Verwendung

+ drawpoints : boolean Gibt an, ob Punkte gezeichnet werden sollen.+ pointsize : �oat Die Gröÿe der Punkte.+ strokeWidth : �oat Die Dicke der Linie.+ �llGraph : boolean Gibt an, ob der Bereich unterhalb des Graphen ausgefüllt

sein soll.+ timezone : string Die Zeitzone zu der Konvertiert werden soll.� data : �oat[][] Die Daten der einzelnen Graphen.� datanames : string[] Die Namen der einzelnen Graphen.� name : string Der Name des Diagramms.� width : integer Die Breite des Diagramms.� height : integer Die Höhe des Diagramms.� axis2 : string[] Array an Graphennamen, welche in Bezug zur rechten

Y-Achse gezeichnet werden sollen.

45

Page 46: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

spezielle Methoden

Methode Verwendung

+ addData (timestamp,name, value)

Fügt einen Datenpunkt zum Diagramm hinzu.

timestamp : integer Zeitstempel (Unix-Timestamp) desDatenpunktes

name : string Name des Graphen zu dem dieser Datenpunktgehört

value : �oat Wert des Datenpunktes

+ moveToSecondAxis(name)

Verschiebt den Graph mit dem übergebenen Namen auf diezweite Y-Achse

name : string Name des Graphen

+ drawGraph() : string Generiert das Diagramm. Erzeugt Javascript Code.+ syncronizeGraphs(graphsArray, selection,zoom, range) : string

Verschränkt alle übergebenen Diagramme miteinander. Dasbewirkt, dass beispielsweise Zoom-Aktionen in einemDiagramm, auch auf alle anderen Diagramme übertragenwerden. Erzeugt Javascript Code.

graphsArray : string[] Array mit den Namen allerDiagramme, die miteinander verschränkt werden sollen

selection : bool Auswahl miteinander synchronisieren

zoom : bool Zoom miteinander synchronisieren

range : bool Nur X-Achse synchronisieren

46

Page 47: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 4. ENTWURF 4.4. SERVER

Klasse page

Dient zur Erstellung einer Ober�äche / Webpage mit Hilfe eines Templates.

Attribute

Attribut Verwendung

+ title : string Der Seitentitel.+ content : string Der Inhalt der Seite.+ template : string Der Dateiname des zu benutzenden Seitentemplates.� defaultTemplate : string Der Defaultdateiname des zu benutzenden Seitentemplates.

spezielle Methoden

Methode Verwendung

+ printPage() Erzeugt die Ober�äche.

Klasse dmmProvider

Dient dazu eine CSV-Datei mit Messwerten eines Digitalmultimeters einzulesen und diedarin enthaltenen Daten bereitzustellen.

Attribute

Attribut Verwendung

� defaultFilename : string Der Defaultdateiname der CSV-Datei, welche die Messwerteenthält.

� �lename : string Der Dateiname der CSV-Datei, welche die Messwerte enthält.� dmmData :dmmReading[]

Array, welches alle eingelesenen dmmReading Daten enthält.

� minTimestamp : integer Der Startzeitstempel, ab welchem die Daten in der CSVgelesen werden sollen. Dient dazu ältere Datensätzeauszu�ltern.

� maxTimestamp : integer Der Endzeitstempel, bis zu welchem die Daten in der CSVgelesen werden sollen.

spezielle Methoden

Methode Verwendung

+ getReadings() :dmmReading[]

Gibt alle eingelesenen dmmReading Objekte zurück.

� readDmmFile() Liest die CSV Datei ein.

47

Page 48: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

4.4. SERVER KAPITEL 4. ENTWURF

Klasse dmmReading

Stellt einen Datensatz der CSV-Messwertedatei dar.

Attribute

Attribut Verwendung

+ timestamp : string Zeitstempel der Messung als Unix-Timestamp+ value : �oat Der gemessene Wert

spezielle Methoden

Methode Verwendung

+ createFromCSV (csv) :dmmReading

Erstellt ein Objekt der Klasse dmmReading aus einer Zeileder CSV-Datei.

csv : string eine Zeile der CSV-Datei

48

Page 49: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5 Implementierung & Aufbau

5.1 Sensormodul

Abbildung 5.1: Wemos D1 mini Pro(https://wiki.wemos.cc)

Als Hardware wurde das Modul WemosD1 mini Pro ausgewählt. Es setzt sich vonanderen ESP8266 Modulen dadurch ab,dass es einen externen Antennenanschlussbesitzt. Alternativ kann auch auf die inte-grierte Antenne zurückgegri�en werden.

Der ESP8266 unterstützt drei verschiede-ne Tiefschlafmodi. [20, 32]

Modem sleep Die CPU ist eingeschaltet.Wi�-Modem wird deaktiviert. Akti-ve Wi�-Verbindungen werden gehal-ten, allerdings ohne Datenübertragung.

Light sleep Hier wird zusätzlich die CPUnur bei Bedarf reaktiviert.

Deep sleep Hier ist auch die CPU deak-tiviert.

Abbildung 5.2: Sleep-Modes des ESP8266 (https://diyprojects.io/)[32]

Für die geplanten Schlafphasen wurde der DeepSleep() Modus ausgewählt. Dieser bie-tet am meisten Energiesparpotential. Nach Beendigung des DeepSleep resettet sich das

49

Page 50: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.1. SENSORMODUL KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

Modul und startet neu. Hierfür ist es notwendig Pin D0 des Moduls mit dem Reset-Pin(RST) zu verbinden.

5.1.1 Softwarearchitektur

Arduino Framework

Als Basis der Software dient das Arduino Framework. Arduino ist eine Physical Com-puting Plattform, welche aus Hard- und Software besteht. Das Framework bietet eineVielzahl an Bibliotheken rund um die Themen Mikrocontroller, IoT, Sensoren und Ähn-lichem. Es bietet auch eine eigene (sehr einfache) IDE. Es wurde als Plattform für dieEntwicklung ausgewählt, da mittels der verfügbaren Bibliotheken, der skizzierte Anwen-dungsfall relativ einfach umgesetzt werden sollte.

Um auch andere Module, als die von Arduino direkt vertriebenen (wie den ESP8266),mit dem Framework kompatibel zu machen ist es notwendig die Boards in der IDEhinzuzufügen.

Kurzanleitung für den ESP8266 [33]:

� Unter File > Preferences > Additional Board Manager URLs:�http://arduino.esp8266.com/stable/package_esp8266com_index.json� eintragen.

� Unter Tools > Board > Boards Manager: nach �ESP8266� �ltern und installieren

� Unter Tools > Board das richtige Board auswählen

Ein Arduino Programm besteht im einfachsten Fall nur aus 2 Methoden. [34]

void setup() {

}

void loop() {

}

Die setup()-Methode wird dabei nach dem Start ausgeführt. Die loop()-Methode wirdhingegen über die gesamte Laufzeit immer wieder neu aufgerufen.

Die Bibliothek für das gewählte Ladezustandsmodul muss ebenfalls noch integriert wer-den. [35, 36, 37] Dazu wird die Zip-Datei heruntergeladen und mittels Sketch > IncludeLibrary > Add .Zip Library hinzugefügt.

Softwareimplementierung

setup() Die setup()-Methode dient der Initialisierung des Ladezustandsmoduls. Es wirddie aktuelle Zeit abgefragt und der Wi�-Access-Point und Wi�-Client gestartet. Ebensowird der Callback für das Probe-Request-Empfangs-Event [38] eingerichtet .

50

Page 51: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.1. SENSORMODUL

Abbildung 5.3: setup()

loop() Die loop()-Methode prüft am Anfang ob es Schlafenszeit ist. Wenn ja, dann wer-den nur die aktuellen Ladezustandsinformationen an den Server gesendet. Wenn nicht,dann bleibt das System solange aktiv, wie für die Wachphase festgelegt wurde. Anschlie-ÿend sendet es die Ladezustandsinformationen vom Anfang und Ende des Zeitbereicheszusammen mit den Probe-Requests an den Server. Je nachdem ob es Schlafenszeit istoder nicht, wird wird entweder ein kurzer oder ein langer DeepSleep() ausgeführt. NachAblauf des DeepSleep() resettet sich das Modul und startet neu. Die Übertragung derDaten �ndet mittels HTTP-POST-Request statt.

Der Zwischenschritt, direkt bei Start einer Wachphase die aktuellen Ladezustandsinfor-mationen zu senden, ist nur aus entwicklungstechnischen Gründen integriert. Er dientdazu nicht immer die volle Wachphase warten zu müssen, um zu überprüfen, ob dieVerbindung zum Server funktioniert.

Abbildung 5.4: loop()

51

Page 52: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.1. SENSORMODUL KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

5.1.2 Aufgetretene Probleme

Im Rahmen der Entwicklung sind folgende Probleme aufgetreten.

1. NTP - Implementierung gibt falschen Timestamp zurück

Es gibt normalerweise eine integrierte Funktion, um die interne Zeit mittels NTP ab-zugleichen. Bei dieser wurde jedoch immer ein um 8 Stunden verschobener Timestampzurückgeliefert. Anpassungen der ersten beiden Parameter bei con�gTime() brachtenauch keinerlei Änderung.

#include <time.h>

...

configTime(timezone , dst , "pool.ntp.org");

time_t tnow = time(nullptr);

Serial.print(ctime(&now));

Serial.print(now);

Das Problem wurde dadurch umgangen das direkt ein NTP Server mittels UDP abgefragtwurde. Nützlicherweise gab es dafür bereits ein mitgeliefertes Beispiel. [39]

2. keine Rückkehr aus DeepSleep()

Es war ursprünglich geplant den Controller in der Nacht lediglich im Stundentakt kurzaufwachen zu lassen. Bei dieser Kon�guration ist er allerdings nicht mehr erwacht. EineRecherche brachte folgendes Ergebnis:

�node.dsleep()Enters deep sleep mode, wakes up when timed out.The maximum sleep time is 4294967295us, ~71 minutes. This is an SDKlimitation. Firmware from before 05 Jan 2016 have a maximumsleeptime of ~35 minutes.�1

Das Problem ist vermutlich, dass die maximale Zeit in einem 32-bit Integer abgelegt wird.4294967295 us ist bei einem unsigned 32-bit Integer das Maximum. Vermutlich wurdebei älteren Firmwares ein signed 32-bit Integer genutzt. Dort reduziert sich die maximaleZeit auf 2147483647 us. Das entspricht etwas mehr als 35 Minuten.

Daraufhin wurde die Schlafzeit auf 30 Minuten reduziert.

1Vgl. Documentation node.dsleep() [40]

52

Page 53: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.1. SENSORMODUL

3. Nameserverausfall bei NTP Ersatzimplementierung

Zu einer weiteren Störung kam es, als beim benutzten Internet Service Provider der Na-meserver aus�el. Durch eine ungünstige Codereihenfolge kam es dadurch zu dem E�ekt,dass der ESP8266 in Endlosschleife NTP-Anfragen an IP 0.0.0.0 sendete.

Abbildung 5.5: Wireshark Ausschnitt des NTP 0.0.0.0 Problems

53

Page 54: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.2. SENSORPERIPHERIE KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

5.2 Sensorperipherie

Für den Prototyp wurden folgende Komponenten ausgewählt.

5.2.1 Stromquelle

Als Stromquelle dienen 4 Solarmodule von Seeed Studio mit folgenden Spezi�kationen [41](jeweils):

Abbildung 5.6: Solarmodul(https://www.seeedstudio.com/)

� Spannung: 5,5V

� Strom: 450mA

� Leistung: 2,5W

� Wirkungsgrad: 15%

� Gröÿe des Moduls: 116 x 160 x 1,5 mm

� Anschluss: 2.0mm JST

Die Module wurden zusammen parallel geschaltet. Das parallele Verschalten ist notwen-dig, damit die Ausgangsspannung gleich bleibt, und sich weiterhin im Rahmen der vomLaderegler akzeptieren Eingangsspannung be�ndet. Auf der Rückseite der Panels ist dasAnschlusskabel mit o�enen Lötstellen befestigt. Diese wurden groÿ�ächig mit Gewebe-band abgeklebt. Die Anschlüsse wurden an den Anschlussstellen mit Schrumpfschlauchgeschützt.

5.2.2 Akku

Für den Akku wurde ein Lithium-Polymer Akku Model: JA-0545135P von J&A Electro-nics mit den folgenden Spezi�kationen[42] ausgewählt:

Abbildung 5.7: Li-Po-Akku(https://www.olimex.com)

� Akku-Typ: Lithium-ion Polymer

� Ladeschlussspannung: 4,25 V

� Nennspannung: 3,7 V

� Entladeschlussspannung: 3,0 V

� maximaler Ladestrom: 1,0 C

54

Page 55: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.2. SENSORPERIPHERIE

� Kapazität: 3000 mAh

� maximaler Entladestrom 2,0 C

� Betriebstemperatur

� Laden: 0 °C ~ 45 °C

� Entladen: -20 °C ~ 60 °C

Für den Prototyp wurde ein Lithium-Polymer Akku gewählt, da diese gut verfügbar sind.Sie besitzen die Eigenschaft, auch bei öfteren kurzen Lade- und Endladezyklen keinenMemory-E�ekt zu bilden.

Der C-Wert eines Lithium-Polymer-Akkus gibt an, mit wie viel Strom der Akku ma-ximal geladen oder entladen werden darf. Er ist de�niert als Quotient des maximalenStroms (Imax) und der Kapazität des Akkus (CN).

C =Imax

CN

Der maximale Entladestrom dieses Akkus wird also beispielsweise wie folgt berechnet:

ImaxEntladen = C ∗ CN = 2, 0C ∗ 3000mAh = 6A

Der maximale Ladestrom beträgt:

ImaxLaden = 1, 0C ∗ 3000mAh = 3A

Der maximale Ladestrom ist besonders für den Laderegler wichtig. Er muss so kon�gu-riert sein, dass er ihn nicht überschreitet.

Lithium Polymer Akkus liefern über einen langen Zeitraum eine relativ konstante Entla-despannung. Abbildung 5.8 veranschaulicht dabei eine typische Lithium-Polymer-AkkuEntladekurve. Der gewählte Akku besitzt lediglich eine einzelne Zelle. Bei mehrzelligenLithium-Polymer-Akkus müsste beim Laden noch auf ein �Balancen� der einzelnen Zellengeachtet werden. [43]

55

Page 56: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.2. SENSORPERIPHERIE KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

Abbildung 5.8: eine beispielhafte Lithium-Polymer Akku Entladekurve(https://www.exp-tech.de/)

56

Page 57: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.2. SENSORPERIPHERIE

5.2.3 Laderegler

Als Laderegler wurde ein �TP4056�[44] Modul mit integriertem �DW01A�[45] Schutz-schaltkreis ausgewählt.

Abbildung 5.9: Laderegler(http://www.addicore.com)

TP4056 Laderegler:

� Eingangsspannung: 4,0 V - 8,0 V

� Maximaler Ladestrom: 1A

� Ladeschlussspannung: 4,2 V

DW01A Akkuschutz

� Überladeschutz-Erkennungsspannung: 4,3 V

� Überladeschutz-Freigabespannung: 4,1 V

� Tiefentladeschutz-Erkennungsspannung: 2,4 V

� Tiefentladeschutz-Freigabespannung: 3,0 V

Dieser Laderegler ist für Lithium-Polymer Akkus mit 3,7 V vorgesehen und kann gleich-zeitig Laden und Entladen. Sein maximaler Ladestrom ist einstellbar. Dafür ist es jedochnotwendig einen Widerstand zu tauschen. Seine Werkseinstellung, die gleichzeitig auchseine maximale Obergrenze ist, beträgt 1 A. Den Ladestrom zu reduzieren macht eigent-lich nur Sinn, wenn der angeschlossene Akku keine 1 A verträgt. Der gewählte Akkubesitzt jedoch einen maximalen Ladestrom von 3 A. Diesbezüglich sollten also keineProbleme auftauchen. Dieser Laderegler ist für einzellige Akkus bestimmt.

5.2.4 Spannungskonverter

Als Spannungskonverter wurde eigentlich ein Modul vom Typ �Sparkfun LiPower� [46]ausgewählt. Der integrierte Schaltkreis ist vom Typ �TPS61200�. [47]

Abbildung 5.10: LiPower(https://www.sparkfun.com)

� Typ: Buck-Boost

� Eingangsspannung: 0,3 - 5,5 V

� Ausgangsspannung: 3,3 oder 5 V

� 5 V @ 600 mA max

� 3.3V @ 200 mA max

� Tiefentladeschutz bei 2.6 V

57

Page 58: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.2. SENSORPERIPHERIE KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

Problem: Dieses Modul war allerdings entweder von Anfang an beschädigt gewesen oderes ist beim Löten und / oder Versuchsaufbau beschädigt worden. Es wurde lediglich sehrheiÿ. Eine Ausgangsspannung lieÿ sich jedoch nicht entnehmen.

Glücklicherweise besitzt das gewählte ESP8266 Modul einen integrierten Spannungs-wandler. Dieser dient eigentlich dazu die bei USB-Betrieb vorliegende 5 V Spannung aufdie intern benötigten 3,3 V herabzusetzen. Dieser interne Spannungswandler ist laut Da-tenblatt vom Typ �RT9013� [48] welcher eine Eingangsspannung von 2,2 V - 5 V erlaubt.Die SMD Bezeichnung auf dem Modul lautet jedoch 4a2d. Diese lässt eher auf einen�XC6204A23AD� [49] schlieÿen.2 Dieser Wandler hat eine erlaubte Eingangsspannungvon 2 V - 10 V.

Unabhängig davon ob ein �RT9013� oder ein �XC6204A23AD� verbaut ist, der Eingangs-spannungstoleranzbereich ist ausreichend. Es ist allerdings nicht sichergestellt, dass im-mer der gleiche Typ verbaut ist. Deshalb sollte bei weiteren Prototypen entweder aufeinen externen Spannungskonverter gewechselt, oder der intern verbaute stets genauüberprüft werden.

5.2.5 Ladezustandsüberwachung

Abbildung 5.11: LiPower(https://www.sparkfun.com)

Als Ladezustandsüberwachung wurde ein Modul vom Typ�SparkFun LiPo Fuel Gauge� [50] ausgewählt. Der verbauteChip ist ein �MAX17043�. [51] Das Modul bietet die Mög-lichkeit die aktuell anliegende Spannung per I²C auszulesen.Eine passende Arduino Bibliothek existiert ebenso. Auch ei-ne Funktion, welche die prozentuale Restkapazität bestimmtist verbaut. Der Hersteller beschreibt sie als:

�The MAX17043/MAX17044 use a sophisticatedLi+ battery-modeling scheme, called ModelGau-geTM to track the battery's relative state-of-charge (SOC) continuously overa widely varying charge/discharge pro�le.�3

2mittels: http://www.ecadata.de/suchneu/smdsuch.html3Vgl. Maxim Integrated Products, MAX17043 Datasheet, S. 1 [51]

58

Page 59: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.2. SENSORPERIPHERIE

5.2.6 Verschaltung

Abbildung 5.12 stellt die Verschaltung der einzelnen Komponenten dar. Neben der Ver-kabelung für den Strom�uss sind weitere Signalverbindungen notwendig:

von nach Verwendung

SparkFun-LiPo-Fuel-Gauge Pin SCL ESP8266 Pin D1 I²C Taktleitung zurÜbertragung der

LadezustandsinformationenSparkFun-LiPo-Fuel-Gauge Pin SDA ESP8266 Pin D2 I²C Datenleitung zur

Übertragung derLadezustandsinformationen

ESP8266 Pin RST ESP8266 Pin D0 Am Ende des DeepSleep()führt der Controller einen

Abbildung 5.12: Verschaltung der Komponenten

59

Page 60: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.3. SENSORPLATTFORM KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

5.3 Sensorplattform

Für den Prototyp der Sensorplattform wurde eine Holzkonstruktion auf Basis des zwei-ten/verbesserten Entwurfs erstellt. Diese Plattform besteht aus 2 voneinander trennbarenElementen.

Bodeneinheit

Abbildung 5.13: Bodeneinheit (im Bau)

Als Basis der Bodeneinheit dient eine 55cm x 33,5 cm x 2 cm groÿe Multiplex-platte. Diese wurde in den hinteren 24 cmzu doppelter Dicke verklebt. In der obe-ren Schicht sind 2 Bohrungen vorgenom-men worden. Diese dienen zur Aufnahmeder beiden 30mm breiten Rundhölzer.

Der vordere Bereich dient zur Aufnahmeeiner 30 cm x 30 cm x 4cm Beton�iese,welche das Konstrukt zusätzlich beschwe-ren soll, um es bei starkenWinden vor demUmkippen zu schützen. Für diese wurdenauch 2 seitliche Begrenzungen eingebaut.

Die Bohrungen am oberen Ende der Rund-hölzer sind jeweils zur Aufnahme einerStockschraube bestimmt. An das obe-re Ende der Stockschraube wird eineSchraubschelle mit Gewinde geschraubt.Damit eine einfachere Bedienung ge-währleistet ist, wurden die ursprünglichvorhanden Schrauben der Schraubschelledurch Flügelschrauben ersetzt.

Alle verklebten Teile wurden zur zu-sätzlichen Stabilität auch noch einmalverschraubt. Das Holz wurde in einerabschlieÿenden Behandlung mit Hybrid-Holzlasur eingestrichen, um es vor ver-schiedenen Wettere�ekten zu schützen.

60

Page 61: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.3. SENSORPLATTFORM

Panelhalter

Als Basis des Panelhalters dient eine 360 mm x 265 mm x 5 mm groÿe Multiplexplat-te. Auf ihr wurde mit kleineren Hölzern ein Rahmen für die 4 Solarpanels verleimt.Auf der Rückseite sind 2 Vierkanthölzer mit den Abmaÿen 70 mm x 40 mm x 40 mmuntergebracht. Sie dienen als Führung für ein 30mm breites Rundholz. Alle Teile sindmiteinander verklebt und verschraubt. Die Solarpanels lassen sich durch kleine seitli-che Ö�nungen einfach montieren bzw. demontieren. Auf der Rückseite wurde eine IP54sichere Box angebracht. In dieser laufen die Solarpanel- und die Lademodulkabel zusam-men. Alle Kabelenden wurden mit Kabelendhülsen versehen. Zur Verbindung wird eineWago-Verbindungsklemme4 genutzt.

Abbildung 5.14: Panelhalter (im Bau)

Gesamtplattform

Kombiniert man Panelhalter und Bodeneinheit miteinander, dann erhält man die Ge-samtplattform. Der Winkel in dem der Panelhalter zur Sonne steht ist beliebig einstellbar.Dafür muss man die Schraubschellen ö�nen, den Winkel einstellen, und sie anschlieÿendwieder schlieÿen. Abbildung 6.5 zeigt die Gesamtplattform im Einsatz.

4Typ 221-415, 5 Anschlüsse [52]

61

Page 62: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.4. SERVER KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

5.4 Server

Als Basis des Server dient ein debian GNU/Linux System [53]. Es werden der ApacheWebserver [54] und PHP [55] zur Erstellung von Webseiten genutzt. Als Datenbanklösungwird SQLite3 [56] eingesetzt. Die Verbindung zwischen PHP und SQLite3 wird mittelsphp_pdo Modul umgesetzt. PDO ist dabei eine Abstraktionsschicht zwischen PHP undder Datenbank. Es ermöglicht einen gleichartigen Zugri� auf verschiedene Datenbank-technologien. [31] Sollte es gewünscht sein, kann man durch ändern des DSN auf eineandere Datenbank wechseln. Der restliche Code muss dafür nicht angepasst werden.

5.4.1 Datenbank

Die Datenbank wurde mittels SQLite3 umgesetzt. Es ist darauf zu achten, dass derWebserver sowohl Schreibzugri�rechte auf die SQLite3-Datenbankdatei, als auch auf dassie beinhaltende Verzeichnis benötigt. Zur Administration der Datenbank wurde die Soft-ware phpLiteAdmin[57] genutzt. Die Kommandos5 zum Erstellen der Tabellen lauten:

CREATE TABLE macs (

id INTEGER PRIMARY KEY AUTOINCREMENT ,

mac TEXT NOT NULL ,

time integer NOT NULL ,

servertime integer NOT NULL

);

CREATE TABLE power (

id INTEGER PRIMARY KEY AUTOINCREMENT ,

voltage TEXT NOT NULL ,

soc TEXT NOT NULL ,

time integer NOT NULL ,

servertime integer NOT NULL

);

CREATE TABLE timeframes (

id INTEGER PRIMARY KEY AUTOINCREMENT ,

start integer NOT NULL ,

end integer NOT NULL

);

5ein PHP-Skript zum automatischen Anlegen der Datenbank / Tabellen ist den elektronischen Unter-lagen beigefügt, siehe: /code/server/database/createdb.php

62

Page 63: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.4. SERVER

5.4.2 Webinterface

Das Webinterface wurde mittels PHP erstellt. Zur Darstellung der Diagramme wurde dieBibliothek dygraphs [58] genutzt. Alle erzeugten Diagramme sind dabei interaktiv. Wennmehrere Diagramme auf einer Ober�äche integriert sind, so sind diese stets miteinanderverschränkt. Der gewählte Ansichtszeitraum in einem Diagramm wird dabei automatischauf die anderen Diagramme übertragen.

Es wird zwischen Eingangsschnittstellen und Ober�ächen unterschieden.

Eingangsschnittstellen

Endpunkt: /in.php

Beschreibung: Dies ist die Eingangsschnittstelle, welche vom Sensorsystem aufgerufenwird. Es werden dabei die gesammelten Probes und auch Akkuzustandsinformatio-nen übertragen. Die Art der Übertragung erfolgt mittels HTTP-POST-REQUEST(Content-Type: "application/x-www-form-urlencoded�). Folgende POST-REQUESTParameter werden dabei genutzt:

Parameter Verwendung

m0 ... mN Enthalten die übermittelten MAC-Adressent0 ... tN Enthalten die Empfangszeitpunkte der MAC-Adressen

ts Startzeitpunkt des Messzeitraumeste Endzeitpunkt des Messzeitraumesvs Voltage am Beginn des Messzeitraumesve Voltage am Ende des Messzeitraumesps StateOfCharge am Beginn des Messzeitraumespe StateOfCharge am Ende des Messzeitraumes

Abbildung 5.15: Ablauf /in.php

63

Page 64: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.4. SERVER KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

Endpunkt: /pin.php [dev]

Beschreibung: Dies ist eine spezielle Eingangsschnittstelle, welche vom Sensorsystemaufgerufen wird. Es wird lediglich ein einzelner powerstate übertragen. Diese Schnitt-stelle wurde genutzt, um während der Entwicklung nicht jedes mal 5 Minuten war-ten zu müssen, bis sich das System das erste Mal beim Server meldet. Stattdes-sen wird der Ladezustand am Anfang eines Timeframes direkt gesendet. Die Ver-arbeitung desselben powerstates im Endpunkt /in.php wurde dafür auskommen-tiert. Die Art der Übertragung erfolgt mittels HTTP-POST-REQUEST (Content-Type: "application/x-www-form-urlencoded�). Folgende POST-REQUEST Para-meter werden dabei genutzt:

Parameter Verwendung

ts Startzeitpunkt des Messzeitraumesvs Voltage am Beginn des Messzeitraumesps StateOfCharge am Beginn des Messzeitraumes

Ober�ächen

Der Programmablauf zur Ober�ächengenerierung ist im Grunde immer gleich. Zuerstwerden die nötigen Provider angelegt. Sie werden genutzt um die jeweiligen Daten, ausden verschiedenen Datenquellen (CSV-Dateien und Datenbank), bereitzustellen. Mit Hil-fe der Daten werden HTML und Javascript-Code erzeugt und zum Client gesendet. Dafürwurde ein sehr einfaches Templatesystem entwickelt.

Endpunkt: /overview.php

Beschreibung: Diese Ober�äche zeigt alle bisher empfangenen MAC-Adressen inklusiveder Häu�gkeit ihres Auftretens. Die einzelnen MAC-Adressen sind dabei Verlinkun-gen auf die Detailansicht. Das Menü auf der linken Seite ist auf allen Ober�ächensichtbar.

Abbildung 5.16: /overview.php

64

Page 65: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.4. SERVER

Endpunkt: /macDetail.php?mac=

Beschreibung: Diese Ober�äche zeigt Detailinformationen zu einer spezi�schen MAC-Adresse an. Es wird aufgeführt wie oft sie gesichtet wurde und wann dies daserste und das letzte Mal geschehen ist. Es wird ein HTTP-GET Parameter (mac)verwendet, um die MAC-Adresse zu spezi�zieren. Im Diagramm darunter werdendie Sichtungen zeitlich eingeordnet.

Abbildung 5.17: /macDetail.php?mac=7811dcecfd2f

Endpunkt: /power.php

Beschreibung: Diese Ober�äche zeigt den Akkuzustandsverlauf über den gesamten Ver-suchszeitraum. Im Kopf werden allgemeine Informationen über die Gesamtanzahlempfangener Zustandsinformationen, sowie über den letzten empfangenen Zustanddargestellt. Darunter be�nden sich drei Diagramme. Das Erste zeigt den Akkuspannungs-, sowie den StateOfCharge-Verlauf über die Zeitspanne. Die beiden Diagrammedarunter bilden diese Werte nochmals einzeln ab.

65

Page 66: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.4. SERVER KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

Abbildung 5.18: /power.php

Endpunkt: /powerweather.php

Beschreibung: Diese Ober�äche zeigt den Akkuzustandsverlauf über den gesamten Ver-suchszeitraum. Dieser Verlauf wird in Relation zum Verlauf der Globalstrahlungund zum Verlauf der direkten Sonnenscheindauer (wenn die Sonne nicht durchWolken verdeckt ist) gesetzt. Es be�nden sich verschiedene Diagramme auf derSeite. Das erste bildet die Werte gemeinsam ab. Die restlichen Diagramme zeigensie zusätzlich nochmals einzeln.

66

Page 67: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 5. IMPLEMENTIERUNG & AUFBAU 5.4. SERVER

Abbildung 5.19: /powerweather.php

Endpunkt: /timeframes.php

Beschreibung: Diese Ober�äche zeigt in welchen Zeiträumen das System aktiv war.Im Kopf werden allgemeine Informationen über die Gesamtanzahl empfangenerZeiträume, sowie über den ersten und letzten empfangenen Zeitstempel dargestellt.Das Diagramm darunter stellt die Zeiträume gra�sch dar. Um es sinnvoll nutzenzu können sollte stark hereingezoomt werden.

Abbildung 5.20: /timeframes.php

67

Page 68: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

5.4. SERVER KAPITEL 5. IMPLEMENTIERUNG & AUFBAU

Endpunkt: /solarcurrent.php

Beschreibung: Diese Ober�äche zeigt die von den Solarpanels abgegebene Stromstärkein Relation zu den anderen Daten. Man sieht auf ihr auch sehr gut wie sich des La-demodul bei fast vollem Akku verhält.. Erst regelt es den Ladestrom herunter undschaltet schlieÿlich ganz ab. Die vom Solarpanel abgehende Stromstärke wurde mit-tels Digitalmultimeter bestimmt und in eine CSV-Datei exportiert. Die Werte derCSV-Datei werden für diese Ober�äche eingelesen und zur Anzeige gebracht. DieseSeite ist aufgrund der sehr vielen Messwerte leider etwas träge. Zur Verbesserungder Antwortzeiten wurde sie schlieÿlich auf drei Seiten aufgeteilt.

Abbildung 5.21: /solarcurrent.php

68

Page 69: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

6 Versuchsaufbau

Um die Tauglichkeit des Prototyps zu prüfen, wurde er über einen Zeitraum von ca. zweiWochen betrieben. Der Akku wurde dabei am Anfang manuell aufgeladen. Anschlieÿendlief das System ausschlieÿlich eigenständig.

Abbildung 6.1: Versuchsaufbau (hier mit zusätzlich zwischengeschaltetem Multimeter)

Das System wurde auf einem Balkon aufgebaut. Der Balkon ist dabei Richtung Süd-Südwest ausgerichtet. Das System selber wurde nach Süden positioniert. Der Winkel desPanelhalters beträgt 40°.

69

Page 70: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 6. VERSUCHSAUFBAU

Abbildung 6.2: Spannungsverlauf über den Versuchszeitraum

Abbildung 6.2 stellt den Akkuspannungsverlauf über den Versuchszeitraum dar. Manerkennt sehr gut den Ein�uss der Globalstrahlung. Globalstrahlung ist die gesamte aufeine horizontale Fläche (an der Erdober�äche) auftre�ende Solarstrahlung. Sie setzt sichzusammen aus di�user und direkter Strahlung.

An sonnigen Tagen, an denen eine hohe Globalstrahlung vorlag, war das System sehrgut in der Lage den Akku wieder aufzuladen. An sehr stark bewölkten Tagen konnte dieSonnenenergie den Akkuverbrauch lediglich etwas abmildern.

Die Arbeitsweise des Lademoduls ist auch recht interessant. Abbildung 6.3 und Abbildung6.4 zeigen wie es gegen Ende kontinuierlich den Ladestrom reduziert und das Ladenschlieÿlich ganz einstellt. Sobald die Spannung des Akkus wieder etwas gesunken ist(durch Verbrauch) schaltet es wieder ein.

Abbildung 6.3: Akkulevel beim Laden mittels USB

70

Page 71: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 6. VERSUCHSAUFBAU

An drei Tagen wurde, zusätzlich zum Testaufbau, ein Digitalmultimeter (vom Typ Uni-TUT61E) zwischen die Solarpanels und das Lademodul gesetzt. Es hatte die Aufgabe dieStromstärke zu messen. Um die gemessenen Daten digital verfügbar zu machen, sind siemittels Datenkabel auf einen PC übertragen worden. Zum Empfang der Daten wurde dieSoftware sigrok [59] genutzt.

Es wird deutlich, dass das Lademodul, während der Aktivphasen, mehr Strom vom So-larpanel zieht, um den ESP8266 direkt versorgen zu können. Dies ist natürlich nur beiausreichend Sonnenschein möglich. Die Di�erenz in der Stromstärke (zwischen diesenzwei Zuständen) beträgt 0,08 A. Dies kommt an die simulierten Verbrauchswerte ausKapitel 4.1.3 auf Seite 23 sehr nah heran.

Abbildung 6.4: Stromstärke vom Solarpanel kommend in Relation zum Akkustand. DieWachphasen des Systems sind ebenfalls sichtbar.

71

Page 72: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

KAPITEL 6. VERSUCHSAUFBAU

Die Multimeterdaten zeigen in Abbildung 6.5 auch noch einmal sehr schön den Zusam-menhang zwischen Globalstrahlung, direktem Sonnenschein und der abgehenden Energieder Solarpanels auf. Der leichte zeitliche Versatz liegt vermutlich an der Distanz zwischender Wetterstation, von der die Daten kommen, und dem Versuchsaufbau.

Abbildung 6.5: Stromstärke vom Solarpanel kommend in Relation zur Globalstrahlungund direktem Sonnenschein

72

Page 73: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

7 Bewertung

Die Arbeit hat gezeigt, dass es möglich ist den ESP8266 ausschlieÿlich mit Solarenergieund einem Pu�erakku zu betreiben. Es wurden die dafür nötigen Komponenten iden-ti�ziert und ein Prototyp erstellt. Es hat sich gezeigt, dass eines der gröÿten Problemedarin besteht, für einen spezi�schen Einsatzort, die richtige Gröÿe der Solarpanels unddes Akkus zu bestimmen.

Die entwickelten Minimalversionen für den Server und den ESP8266 veranschaulichenden Energiebedarf der Plattform auf eine nachvollziehbare Art. Die dabei gewonnenenInformationen können als Grundlage für weitere Verbesserungen genutzt werden.

Der Aufbau und das übergeordnete Projekt waren sehr interessant und haben viel Spaÿgemacht. Ich bin gespannt, wie es sich weiter entwickeln wird.

7.1 Grenzen & Erweiterungspotential

Standort Der Standort des Systems war relativ ungünstig. Ein lediglich zu einer Seitehin o�ener Balkon verdeckt groÿe Anteile der di�usen Solarstrahlung. Das Stand-ortproblem ist auch allgemein schwierig zu lösen. Je nach Aufstellort herrschenandere Bedingungen. Dies zieht Veränderungen an Solar�äche und Akkukapazitätnach sich. Eine pauschale Aussage lässt sich darüber nicht tre�en.

Antwortzeiten Die meisten Ober�ächen rufen die Daten des gesamten Versuchszeitraumsab. Das resultiert darin, dass bereits jetzt einige Diagramme relativ langsam laden.Die Anzeige, die die Stromstärke vom Solarpanel kommend darstellt, wurde bereitsauf drei Unterseiten aufgeteilt. Das dient dazu die Antwortzeiten zu minimierenund keinen PHP Fehler aufgrund zu langer Skriptlaufzeit auszulösen.

Witterungsbedingungen Die Plattform wurde aus Holz erstellt. Auch wenn einige Ver-suche vorgenommen worden, dieses gegen Witterungsbedingungen resistenter zumachen, so sollte doch eine endgültige Variante aus anderen Materialien bestehen.

Akkutyp Es wurde ein Lithium-Polymer Akku für den Demonstrator gewählt. Es istnicht sicher, wie sich dieser Akkutyp besonders bei Minusgraden verhält. Zur Si-cherheit sollte bei einem späteren System vielleicht auf einen anderen Akkutypgewechselt werden. (möglicherweise Bleiakku)

elektrische Sicherheit Auch wenn auf groÿe Sorgfalt, bei der Auswahl und Verkabelungder Komponenten des Prototyps, geachtet wurde, so sollte ein späteres Endproduktnoch einmal von einem Elektriker überprüft werden.

73

Page 74: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

7.1. GRENZEN & ERWEITERUNGSPOTENTIAL KAPITEL 7. BEWERTUNG

1 System Beschränkung Die Software des Systems dient lediglich der Demonstration.Es ist aktuell nicht möglich Daten mehrerer Systeme auf Serverseite voneinanderzu trennen. Dies wäre mit einer kleineren Überarbeitung der Datenbank aber pro-blemlos möglich. Auch die Software auf dem ESP8266 müsste angepasst werden.

Analyse Die Serversoftware dient gröÿtenteils zur Darstellung der Energiewerte. Es exis-tieren noch keine Funktionen für die eigentliche Analyse zwecks Erkennung vonStausituationen.

Datenbank Für diese Arbeit wurde zwecks besserer Portabilität auf SQLite3 gesetzt.Der spätere Server sollte eine andere Datenbanklösung besitzen.

Amperemeter Um den vom Solarpanel abgehenden Strom zu messen, wurde über 3 Tageein externes Multimeter angeschlossen. Sollte eine dauerhafte Messung gewünschtsein, dann müsste man ein weiteres Modul einbauen. Dabei ist jedoch auch zubedenken, dass jedes weitere Modul zusätzlichen Energieverbrauch mit sich bringt.

Ausrichtung zur Sonne Die entwickelte Plattform ist lediglich manuell zur Sonne aus-richtbar. Es könnte geprüft werden, ob eine automatische Ausrichtung praktikabelist. Sollte der Energieverbrauch dafür zu hoch sein, dann wäre auch nur eine sai-sonale Ausrichtung möglich. Im Winter beispielsweise eine etwas stärkere Neigung,um die tiefere Sonne zu kompensieren.

74

Page 75: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Lizenz

Sämtliche Texte, Diagramme und Bilder dieser Arbeit werden unter den Bedingungender CC-BY-SA 4.0 Lizenz verö�entlicht.

Der im Rahmen dieser Arbeit entwickelte Quellcode wurde unter den Bedingungen derLGPL-3.0 Lizenz verö�entlicht.

Für alle zitierten Bilder oder Texte, sowie für die genutzten Bibliotheken und Werkzeuge,gelten die Lizenzbedingungen der jeweiligen Autoren.

75

Page 76: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre
Page 77: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Literaturverzeichnis

[1] Robert Baumgartl and Dirk Müller. Raspberry pi as an inexpensive platform forreal-time tra�c jam analysis on the road, 2017.

[2] Alexander Kuntsch. Genauigkeitsabschätzungen für die geschwindigkeitsermittlungvon fahrzeugen mittels wlan-probe-requests, 2018.

[3] Michael Danzig. Nutzung des prozessors esp-32 als ressourcenschonende plattformfür die aufzeichnung von wlan-probe-requests, 2018.

[4] Markus Mauksch. Entwurf und implementierung eines kommunikationsprotokollszwischen probe-request-sni�ern, 2018.

[5] Martin Randelho�. Datenbasierte verkehrsplanung: Vom papier-erhebungsbogen zu big data. [Online]. Im Internet verfüg-bar unter: <https://www.zukunft-mobilitaet.net/103615/analyse/datenbasierte-verkehrsplanung-big-data-mobilfunkdaten-optimierung-trajektorien/>,Zugri� am: 29.11.2018.

[6] Carsten Kühnel. Verkehrsdatenerfassung mittels Floating Car Observer auf zwei-strei�gen Landstraÿen. Instituts für Verkehrswesen der Universität Kassel, 2011.Im Internet verfügbar unter: <http://www.uni-kassel.de/upress/online/frei/978-3-86219-418-6.volltext.frei.pdf>, Zugri� am: 29.11.2018.

[7] Heidrun Belzner, Tim Lange, and Irina Matschke. Verkehrsinformationen ohne weis-se Flecken, volume 07-08. Automobiltechnische Zeitschrift, 2010. 112. Jahrgang, S.510-515.

[8] Floating car data projekt verkehrslage wien. [Online]. Im Internet verfügbarunter: <https://www.wien.gv.at/verkehr/verkehrsmanagement/verkehrslage/projekt.html>, Zugri� am: 29.11.2018.

[9] Floating car data projekt berlin. [Online]. Im Internet verfügbar unter:<https://web.archive.org/web/20170719190935/http://www.cityfunk.de/501245958e0f0f414/50124595c00d9c078/50124595c00dbb502/index.html>,Zugri� am: 29.11.2018.

[10] TomTom. Tomtom hd tra�c. [Online]. Im Internet verfügbar unter: <https://www.tomtom.com/lib/doc/licensing/I.HD.DE.pdf>, Zugri� am: 29.11.2018.

[11] Vodafone. Vodafone - tomtom - referenz. [Online]. Im Internet verfügbar unter:<https://www.vodafone.de/media/downloads/pdf/referenz-tomtom.pdf>, Zu-gri� am: 29.11.2018.

77

Page 78: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Literaturverzeichnis Literaturverzeichnis

[12] bitluni.net. Solar powered weather station. [Online]. Im Internet verfügbarunter: <http://bitluni.net/solar-powered-weather-station/>, Zugri� am:29.11.2018.

[13] Shawn Wallace and Matt Richardson. Make: Getting Started with Raspberry Pi, 2ndEdition. Maker Media Inc., October 2014.

[14] The comprehensive gpio pinout guide for the raspberry pi. [Online]. Im Internetverfügbar unter: <https://pinout.xyz/>, Zugri� am: 29.11.2018.

[15] Raspberry Pi Foundation. Raspberry pi products. [Online]. Im Internet verfügbarunter: <https://www.raspberrypi.org/products/>, Zugri� am: 29.11.2018.

[16] Raspberry Pi Foundation. Raspberry pi zero w speci�cations. [Onli-ne]. Im Internet verfügbar unter: <https://www.raspberrypi.org/products/raspberry-pi-zero-w/>, Zugri� am: 29.11.2018.

[17] RasPi.TV. Artikel "raspberry pi zero free on the co-ver of this month's magpi magazine."vom 26.11.2015. [On-line]. Im Internet verfügbar unter: <http://raspi.tv/2015/raspberry-pi-zero-free-on-the-cover-of-this-months-magpi-magazine>,Zugri� am: 29.11.2018.

[18] Espressif System. Esp32 overview. [Online]. Im Internet verfügbarunter: <https://www.espressif.com/en/products/hardware/esp32/overview>,Zugri� am: 29.11.2018.

[19] Espressif System. ESP32 Datasheet, 2018. Im Internet verfügbar unter:<https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf>, Zugri� am: 29.11.2018.

[20] Espressif System. ESP8266EX Datasheet, November 2018. Im In-ternet verfügbar unter: <https://www.espressif.com/sites/default/files/documentation/0a-esp8266ex_datasheet_en.pdf>, Zugri� am: 29.11.2018.

[21] Espressif System. Esp8266 overview. [Online]. Im Internet ver-fügbar unter: <https://www.espressif.com/en/products/hardware/esp8266ex/overview>, Zugri� am: 29.11.2018.

[22] esp8266 module family. [Online]. Im Internet verfügbar unter: <https://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>, Zugri� am:29.11.2018.

[23] Niels Aakvaag, Mogens Mathiesen, and Gilles Thonet. Timing and power issues inwireless sensor networks - an industrial test case. Parallel Processing. ICPP 2005Workshops, pages 419�426, 2005.

[24] D. Mills, J. Martin, J. Burbank, and W. Kasch. Network time protocol version 4:Protocol and algorithms speci�cation. RFC 5905, RFC Editor, June 2010. http:

//www.rfc-editor.org/rfc/rfc5905.txt.

78

Page 79: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Literaturverzeichnis Literaturverzeichnis

[25] European Commission. Photovoltaic geographical information system. [Online]. ImInternet verfügbar unter: <http://re.jrc.ec.europa.eu/pvg_tools/en/tools.html>, Zugri� am: 29.11.2018.

[26] wikipedia.org. Maximum power point tracking. [Online]. Im Internet verfügbar un-ter: <https://de.wikipedia.org/wiki/Maximum_Power_Point_Tracking>, Zu-gri� am: 29.11.2018.

[27] Deutsches Institut für Normung. Din en 60529; vde 0470-1, 2014.

[28] International Organization for Standardization. Iso 20653, February 2013.

[29] Deutscher Wetterdienst. Aktuelle 10-minütige stationsmessungen der solarstrah-lung, der atmosphärischen gegenstrahlung und der sonnenscheindauer in deutsch-land. [Online]. Im Internet verfügbar unter: <ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate/10_minutes/solar/recent/BESCHREIBUNG_

obsgermany_climate_10min_solar_recent_de.pdf>, Zugri� am: 29.11.2018.

[30] Deutscher Wetterdienst. Ftp server mit den wetterdateien. [Online]. Im Inter-net verfügbar unter: <ftp://ftp-cdc.dwd.de/pub/CDC/observations_germany/climate/10_minutes/solar/recent/>, Zugri� am: 29.11.2018.

[31] Php pdo drivers. [Online]. Im Internet verfügbar unter: <http://php.net/manual/en/pdo.drivers.php>, Zugri� am: 29.11.2018.

[32] Di�erent sleep modes and power consumption of an esp8266ex modu-le. [Online]. Im Internet verfügbar unter: <https://diyprojects.io/esp8266-deep-sleep-mode-test-wake-pir-motion-detector/>, Zugri� am:29.11.2018.

[33] Arduino core for esp8266 wi� chip. [Online]. Im Internet verfügbar unter: <https://github.com/esp8266/Arduino>, Zugri� am: 29.11.2018.

[34] arduino.cc. Bare minimum code needed. [Online]. Im Internet verfügbar unter:<https://www.arduino.cc/en/Tutorial/BareMinimum>, Zugri� am: 29.11.2018.

[35] arduino playground max17043. [Online]. Im Internet verfügbar unter: <https://playground.arduino.cc/Main/MAX17043>, Zugri� am: 29.11.2018.

[36] Luca Dentella. Max17043 � arduino library. [Online]. Im Internet verfügbar unter:<http://www.lucadentella.it/en/max17043-libreria-per-arduino/>, Zugri�am: 29.11.2018.

[37] Luca Dentella. Max17043/44 library for arduino. [Online]. Im Internet verfügbarunter: <https://github.com/lucadentella/ArduinoLib_MAX17043>, Zugri� am:29.11.2018.

[38] Markus Sattler and Ivan Grokhotkov. Example wi�events.ino. Im Internet ver-fügbar unter: <https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiEvents/WiFiEvents.ino>, Zugri� am: 29.11.2018.

79

Page 80: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Literaturverzeichnis Literaturverzeichnis

[39] Michael Margolis, Tom Igoe, and Ivan Grokhotkov. Example ntpclient.ino.Im Internet verfügbar unter: <https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/NTPClient/NTPClient.ino>, Zugri�am: 29.11.2018.

[40] Documentation node.dsleep(). [Online]. Im Internet verfügbar unter: <https://web.archive.org/web/20180419004953/https://nodemcu.readthedocs.io/

en/dev/en/modules/node/#nodedsleep>, Zugri� am: 29.11.2018.

[41] Seeed Studio. Seeed studio wiki - 2.5w solar panel 116*160. [Online]. ImInternet verfügbar unter: <http://wiki.seeedstudio.com/2.5W_Solar_Panel_116x160/>, Zugri� am: 29.11.2018.

[42] J & A ELECTRONICS (CHINA) CO. LTD. Lithium-ion Polymer Bat-tery Speci�cation, Model: JA-0545135P, March 2012. Im Internet verfüg-bar unter: <https://www.olimex.com/Products/Power/BATTERY-LIPO3000mAh/resources/JA0545135P-Spec-Data-Sheet-3.7V-3000mAh--120312.pdf>, Zugri�am: 29.11.2018.

[43] http://wiki.mikrokopter.de/. Lipo-grundlagen - balancer. [Online]. Im Internet ver-fügbar unter: <http://wiki.mikrokopter.de/LiPo-Grundlagen#Balancer>, Zu-gri� am: 29.11.2018.

[44] NanJing Top Power ASIC Corp. TP4056 Datasheet, May 2008. Im Internet verfüg-bar unter: <http://www.haoyuelectronics.com/Attachment/TP4056-modules/TP4056.pdf>, Zugri� am: 29.11.2018.

[45] Fortune Semiconductor Corp. DW01 Datasheet, May 2014. Im Internet verfüg-bar unter: <https://www.ic-fortune.com/upload/Download/DW01x-DS-17_EN_53550.pdf>, Zugri� am: 29.11.2018.

[46] Oleg Mazurov and Aaron Weiss. Li_Power_Boost_Converter Schema-tic. Sparkfun, June 2014. Im Internet verfügbar unter: <https://cdn.sparkfun.com/datasheets/Prototyping/Li_Power_Boost_Converter.pdf>, Zu-gri� am: 29.11.2018.

[47] Texas Instruments. TPS61200 Datasheet, February 2008. Im Internet verfügbar un-ter: <http://www.sparkfun.com/datasheets/Prototyping/tps61200.pdf>, Zu-gri� am: 29.11.2018.

[48] Richtek Technology Corp. RT9013 Datasheet, April 2011. Im Inter-net verfügbar unter: <https://www.richtek.com/assets/product_file/RT9013/DS9013-10.pdf>, Zugri� am: 29.11.2018.

[49] Torex Semiconductor Ltd. XC6204 Datasheet, December 2013. Im Internet ver-fügbar unter: <https://www.torexsemi.com/file/xc6205/XC6204-XC6205.pdf>,Zugri� am: 29.11.2018.

[50] Sparkfun. LiPo Fuel Gauge Schematic, September 2011. Im Internet verfüg-bar unter: <https://cdn.sparkfun.com/datasheets/Prototyping/lipo_fuel_gauge-v11.pdf>, Zugri� am: 29.11.2018.

80

Page 81: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Literaturverzeichnis Literaturverzeichnis

[51] Maxim Integrated Products. MAX17043 Datasheet, October 2010. Im In-ternet verfügbar unter: <https://cdn.sparkfun.com/datasheets/Prototyping/MAX17043-MAX17044.pdf>, Zugri� am: 29.11.2018.

[52] WAGO Kontakttechnik GmbH & Co. KG. Compact-verbindungsklemmefür alle leiterarten; 5-leiter-klemme; mit betätigungshebeln. [Online]. ImInternet verfügbar unter: <https://www.wago.com/de/installationsklemmen/compact-verbindungsklemme-fuer-alle-leiterarten/p/221-415>, Zugri� am:29.11.2018.

[53] Debian Project. debian gnu/linux. [Online]. Im Internet verfügbar unter: <https://www.debian.org/>, Zugri� am: 29.11.2018.

[54] Apache Software Foundation. Apache webserver. [Online]. Im Internet verfügbarunter: <https://httpd.apache.org/>, Zugri� am: 29.11.2018.

[55] the PHP Group. Php. [Online]. Im Internet verfügbar unter: <http://php.net/>,Zugri� am: 29.11.2018.

[56] SQLite project. Sqlite database engine. [Online]. Im Internet verfügbar unter:<https://www.sqlite.org/index.html>, Zugri� am: 29.11.2018.

[57] phpliteadmin - the web-based database management tool for sqlite. [Online].Im Internet verfügbar unter: <https://www.phpliteadmin.org/>, Zugri� am:29.11.2018.

[58] dygraphs charting library. [Online]. Im Internet verfügbar unter: <http://dygraphs.com/>, Zugri� am: 29.11.2018.

[59] sigrok.org. sigrok project - a portable, cross-platform, free/libre/open-source signalanalysis software suite. [Online]. Im Internet verfügbar unter: <https://sigrok.org/wiki/UNI-T_UT61E>, Zugri� am: 29.11.2018.

[60] Tanenbaum. Computernetzwerke (German Edition). Pearson Studium, 2003.

81

Page 82: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre
Page 83: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

Anhang

83

Page 84: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

335,00 m

m550,00 mm

240,00 mm

40,00 mm20

,00 m

m

40,00 mm

40,00 mm

375,00 mm360,00 mm

265,00 m

m

107,50 mm

165,00 mm

30,00 mm

Page 85: Diplomarbeit - htw-dresden.derobge/arbeiten/2018/da-alina-scholz.pdf · Alina Scholz, 05. Dezember 2018 3. Erklärung über die eigenständige Erstellung der Arbeit 1 Hiermit erkläre

550,00 mm

335,00 m

m305,00 m

m

310,00 mm

360,00 mm

265,00 m

m

107,50 mm

165,00 mm