Sensornetze auf Basis von 6LoWPAN und Contikiwiki_sn/images/e/e9/FoS... · Alexander Gräb...

Post on 07-Feb-2018

217 views 1 download

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.