Post on 07-Feb-2018
transcript
Alexander Gräb 26.01.2017
Sensornetze auf Basis von 6LoWPAN und Contiki
Abschlusspräsentation zum Forschungsseminar
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 2
1. Zielstellung
2. Verwendete Hard- und Software
3. Ergebnisse des ersten Semesters
4. Ergebnisse des zweiten Semesters
5. Ausblick
Gliederung
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 3
Zielstellung
1. Zielstellung
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 4
Zielstellung
● Contiki 3.0 auf gegebener Hardware zum Laufen bringen
– Ist die Verbindungsqualität unter ContikiMAC damit besser (als unter Contiki 2.7)?
● Funktionierendes Test-Netzwerk aufbauen
● Energieverbrauch mit Contiki 3.0 und ContikiMAC ermitteln
– Mit 8 MHz und 16 MHz CPU-Takt
● Energieverbrauch optimieren
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 5
Verwendete Hard- und Software
2. Verwendete Hard- und Software
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 6
Verwendete Hard- und Software
Hardware Funkmodul deRFmega128 von dresden elektronik● 8-Bit Mikrocontroller ATmega128RFA1 von Atmel● integrierte ZigBee und IEEE 802.15.4 Funkeinheit● CPU bis 16 MHz● 128 KB ROM (Flash-Speicher)● 16 KB Arbeitsspeicher
Node (Ansicht von oben)● deRFnode Board + deRFmega128 Funkmodul● 2 Buttons, 3 LEDs● Temperatur-, Helligkeits- und Beschleunigungs-Sensor● USB-Schnittstelle (USB-zu-Seriell-Interface + Stromversorgung)● JTAG-Programmier-Schnittstelle● Batteriefach für 3 R6 Batterien/Akkus
Node (Ansicht von unten mit Batteriefach)
Border-Router● Breakout-Board + deRFmega128 Funkmodul● Übergang vom drahtlosen IEEE 802.15.4
Netzwerk in anderes Computer-Netzwerk
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 7
Verwendete Hard- und Software
Software
● Contiki OS
● Betriebssystem für Mikrocontroller
● Geeignet für IoT-Anwendungen
– kompletter Netzwerk-Stack
– Multithreading
– ...
● Open-Source-Software (BSD-Lizenz)
● Geschrieben in C
● Version 1.0 erschien 2003, aktuelle Versionsnummer ist 3.0
● Webseite: http://www.contiki-os.org/
● Quellcode auf GitHub: https://github.com/contiki-os/contiki
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 8
Ergebnisse des ersten Semesters
3. Ergebnisse des ersten Semesters
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 9
Ergebnisse des ersten Semesters
● Contiki 3.0 und ContikiMAC wurden zum Laufen gebracht
● Aber Verbindungsqualität immer noch sehr schlecht
● diverse Verbesserungen im Contiki-Quellcode behoben das Problem
● Verbindungsqualität mit ContikiMAC jetzt fast so gut wie ohne
– ~95 Meter im Freien
– ~50 Meter in Gebäuden mit starken Störquellen (WLAN, Relektion, …)
– Ping-Verluste in Gebäuden, selbst durch mehrere Wände, << 10%
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 10
Ergebnisse des ersten Semesters
● Energieverbrauch wurde in vorherigen Semestern bereits analytisch bestimmt (anhand eines Oszilloskop-Diagramms)
– Nur für den Idealfall und nur grobe Annäherung
➔ Numerische Methode, welche auf Oszilloskop-Daten angewandt wird, wurde entwickelt
● Ergebnisse der Messungen des StromverbrauchsContiki ContikiMAC CPU-Takt Mittlerer Strombedarf Betriebsdauer mit
1900 mAh Akku
3.0 deaktiviert 8 MHz 22,28 mA 3,48 Tage
3.0 deaktiviert 16 MHz 24,19 mA 3,27 Tage
3.0 aktiviert 8 MHz 1,02 mA 79,57 Tage
3.0 aktiviert 16 MHz 0,99 mA 79,75 Tage
2.7 aktiviert 16 MHz 0,24 mA 324,5 Tage
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 11
Ergebnisse des zweiten Semesters
4. Ergebnisse des zweiten Semesters
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 12
Ergebnisse des zweiten Semesters
● Zielstellung
– Energiebedarf weiter optimieren
● Andere Channel-Check-Raten ausprobieren usw.
– Funktionierendes Test-Netzwerk
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 13
Ergebnisse des zweiten Semesters
Energiebedarf weiter optimieren
● Idee hinter RDC-Mechanismen wie ContikiMAC
– Funkeinheit ist oft größter Verbraucher (macht ca. 2/3 des Gesamtverbrauchs bei der im Forschungsseminat verwendeten Hardware aus)
➔ Funkeinheit bleibt die meiste Zeit deaktiviert und wird nur zyklisch für einen sehr kurzen Augenblick aktiviert
– Die Channel-Check-Rate [Hz] gibt an, wie oft die zyklische Aktivierung erfolgt (z. B. 8 Hz → 8 mal in der Sekunde oder alle 125 ms)
Prinzipielle Funktionsweise von ContikiMAC(Quelle: Paper „The ContikiMAC Radio Duty Cycling Protocol“ von Adam Dunkels, Dezember 2011)
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 14
Ergebnisse des zweiten Semesters
Energiebedarf weiter optimieren
● Nach einigen Verbesserungen nur noch ca. 1/3 des Strombedarfs unter ContikiMAC als vorher
● Verringerung der Channel-Check-Rate führt zu weiterer Verbesserung
● Strombedarf bei verschiedenen Channel-Check-Raten (CCR) und 16 MHz CPU-Takt
CCR
Idealfall Realität
Strombed. Betriebsdauer (1900 mAh Akku)
Strombed. Betriebsdauer (1900 mAh Akku)
8 Hz 0,31 mA 255,38 Tage 0,33 mA 239,9 Tage
4 Hz 0,18 mA 439,81 Tage 0,26 mA 304,49 Tage
2 Hz 0,11 mA 719,7 Tage 0,17 mA 465,69 Tage
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 15
Ergebnisse des zweiten Semesters
Energiebedarf weiter optimieren
● Warum ist Strombedarf in Realität so viel höher?
➔ Routing-Protokoll RPL ist häufig aktiv
– RPL = Routing Protocol for Low power and Lossy Networks
– Sniffing im Test-Netzwerk mit einem Border-Router und drei Nodes ergab: Es wurden > 16000 RPL-Pakete gesendet
– RPL-Verkehr steigt mit zunehmender Anzahl an Geräten
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 16
Ergebnisse des zweiten Semesters
Test-Netzwerk
● Einfaches Test-Netz im ersten Semester funktionierte bereits sehr gut
– Stabilität des Test-Netzwerkes wurde hauptsächlich mit Ping- und Constrained Application Protocol (CoAP)-Anfragen getestet
– Forderung bei Ping-Anfragen nach Paketverlusten << 10% konnte erfüllt werden
– Auch CoAP-Anfragen funktionierten sehr zuverlässig
● Jetzt: Aufbau eines komplexeren Test-Netzwerkes
Test-Netz im ersten Semester
Node (mit Routing-Funktionalität)
Border-Router
Sende-/Empfangs-Radius
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 17
Ergebnisse des zweiten Semesters
Test-Netzwerk
● Alle 15 Minuten wurde die aktuelle Temperatur via CoAP abgefragt
● Abfragen gingen von Computer an Border-Router aus
● Erschwerend kam hinzu, dass sich die Ziel-Node in einem metallenen Briefkasten befand und mehrere Wänder überwunden werden mussten
Schematischer Aufbau des Test-Netzwerkes
Realer Aufbau des Test-Netzwerkes
Briefkasten aus Metall
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 18
Ergebnisse des zweiten Semesters
Test-Netzwerk
● Ergebnis
– Test-Netz organisiert sich automatisch so, dass Node als Router fungierte (keine Anpassung der Software war notwendig)
– Test-Netzwerk lief stabil (> 90% aller CoAP-Anfragen erfolgreich)
Schematischer Aufbau des Test-Netzwerkes
Realer Aufbau des Test-Netzwerkes
Briefkasten aus Metall
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 19
Ausblick
5. Ausblick
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 20
Ausblick
● Energiebedarf noch weiter senken
– Betriebsdauer >= 10 Jahre möglich?
– Cannel-Check-Raten < 2 Hz?
– Datenverkehr des Routing-Protokolls RPL reduzieren
● Größere Test-Netzwerke mit mehr Hardware
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 21
Vielen Dank für Ihre Aufmerksamkeit!
Zeit für Fragen
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 22
Ermitteln des Strombedarfs
● Spannungsabfall an Shunt-Widerstand wird mit Oszilloskop gemessen
● Strom, der durch Shunt-Widerstand fließt, lässt sich ermitteln
– Strom durch Shunt-Widerstand = Strom durch RLOAD (Node)
– I = Ushunt
/Rshunt
(Ushunt
wird gemessen, Rshunt
ist bekannt)
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 23
Ermitteln des Strombedarfs
● Oszilloskop-Diagramm über eine Sekunde @ 8 Hz Channel-Check-Rate
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 24
Ermitteln des Strombedarfs
● Analytische Bestimmung des Strombedarfs anhand des Oszilloskop-Diag.
(Quelle: Zwischenbericht zum Forschungsseminar Sensornetze Sommersemester 2016 von Kai Richter und Alexander Gräb)
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 25
Ermitteln des Strombedarfs
● Analytische Methode liefert Ergebnis nur für Idealfall und in grober Annäherung
Idealfall Realität
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 26
Ermitteln des Strombedarfs
● Numerische Methode
– Um Realität wieder zu spiegeln Messung über ~30 Minuten
Oszilloskop
Time,Channel A(s),(mV)
0.00000000,3.937008000.00000100,0.000000000.00000200,3.937008000.00000300,0.000000000.00000400,3.937008000.00000500,0.000000000.00000600,0.000000000.00000700,0.000000000.00000800,0.000000000.00000900,0.000000000.00001000,3.937008000.00001100,0.000000000.00001200,3.93700800...
CSV-Daten
∫Programm für numerische Integration
File is: data.csvRead 1000004 lines from file data.csv.Min. 0.00025 mAMax. 28.740156 mAAvg. 0.311457731194 mA
Ergebnisse
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 27
Verwendete Hard- und Software - Zusatz
Hardware
Das Zusammenspiel der hardware
deRFnode
deRFmega128-22A00
deRFbreakout Board
deRFmega128-22A00
UART-Bridge
ATmega128RFA1ATmega128RFA1
Rechner als Router
Internet
IEEE 802.15.4 &
6LoWPAN
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 28
Ergebnisse des ersten Semesters - Zusatz
● Features, welche in vorherigen Semestern in Contiki 2.x implementiert wurden, wurden wieder übernommen und teilweise verbessert
● Vollkommen neue Features wurden in Contiki 3.0 implementiert
Ausgabe von Debug-Meldungen über USB-Schnitstelle
Radio-On/Off-Indicator
Incoming Ping-Request-Indicator
Neighbour-Found-Indicator
Alexander Gräb Sensornetze auf Basis von 6LoWPAN und Contiki 26.01.2017Seite 29
Ergebnisse des zweiten Semesters - Zusatz
Implementierung weiterer Features in Contiki 3.0
Systemlaufzeit (Uptime)URL: coap://sensors/rssi
CPU-TemperaturURL: coap://sensors/cpu_temp
Spannung der AkkusURL: coap://sensors/battery
Beschleunigungs-SensorURL: coap://sensors/acceleration
Temperatursensor-SensorURL: coap://sensors/tmp102_temp
Helligkeits-SensorURL: coap://sensors/luminosity
Signalstärke des zuletztempfangenen DatenpaketsURL: coap://sensors/rssi
ContikiMAC radio alway onGedrückte Taste während des Boot-Vorgangs bewirkt, dass die Funkeinheit immer aktiv bleibt.