iot vienna workshop june 2016 - kickoff community projekt...
TRANSCRIPT
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 1
Organisatorisches/Regeln
● Pausen 1x 5min und 2x 10min, siehe folgender Zeitplan● Verpflegung am Buffet hinten und jederzeit● Toiletten: Aus diesem Raum hinaus und rechts im ersten
Stock
● WLAN SSID stockwerk0 WLAN Key stck?01!● An wen wenden – Maja und Peter von IoT Vienna● Fragen/Anliegen (direkt zum Vortrag/andere)● IoT Vienna Spendenbox● Bitte Flugzeugmodus einschalten● Wir sind „du“
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 2
Kickoff Community Projekt Pflanzenbewässerung
Organisatoren● Maja Bonczysta (IoT Vienna)
● Peter Sauer (IoT Vienna)● Thomas Reininghaus (IoT Austria)
Gäste● Johannes Dobler (Windows 10 IDE)
● Wolfgang Sokol (Boku, Sensorik)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 4
Was erwartet euch
● Die IoT Austria Projektidee Pflanzenbewässerung soll zu einem Community-Projekt werden. Der aktuelle Stand des Bewässerungsprojektes wird vorgestellt
● Die Community soll entscheiden, wie das Projekt sich weiterentwickeln soll.
● Wir zeigen die Pflanzenbewässerung mit Merkur Board, Magnetventil, Tröpfchen-bewässerung und Handy/Tablet Bedienung in Aktion.
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 5
An wen richtet sich der Workshop 1
● „Maker/Bastler“: Können/wollen einfachen Elektronikbausatz (ohne Lötkolben) zusammenbauen und Firmware am PC über USB einspielen
● „IoT Affine“: Sind an den Entwicklungen und Realisierungen interessiert - mit technischem Background
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 6
An wen richtet sich der Workshop 2
● „Arduino-Kenner“: Können eine Arduino Loop programmieren – Projekt ist ähnlich wie ein Arduino
● „Embedded Programmierer“: Können/wollen Firmware ändern – haben keine Scheu vor Contiki Operating System und C-Programmierung
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 7
Umfrage Background Teilnehmende
● Merkur Board bekannt?● Thema Bewässerung im Fokus?● Programmierkenntnisse (nicht embedded)?● Embedded Kenntnisse?
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 8
Zeitplan
19:00 Vorstellung/Organisatorisches
Teil 1 – Einleitung
5min Pause
Teil 2 – Die Bewässerung im Detail
10min Pause
Teil 3 – Vorschläge Ausbau Projekt
10min Pause
Teil 4 - Hands On (eigenständiges nachvollziehen)
22:00 Ende
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 9
Teil 1 - Einleitung
● Entwicklungen Vereinsprojekte– Der Verein und seine Ziele
– Verein Entwicklungen
● Das Merkur Board– Einsatzgebiete für das Merkur Board
– Netzwerk/Kommunikation
– Gateway vs. Router
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 10
Der Verein und seine Ziele
● Open Collaboration ist der Oberbegriff● Open Source – wie man es kennt (nicht Freibier)● Open Hardware als Open Sourcing der Hardware Dokumentation und
Erlaubnis zum freien Nachbau● Open Standards/offene Protokolle - Kern der IoT
● Datenhoheit soweit wie möglich bei den Menschen– Open Data (.gov) vs.
– Private Data (.me) vs.
– Big Data (.com) in der Lieferanten-/Herstellercloud
● Closed Source wünschenswert für klassische Geschäftsmodelle (BSD-artige Lizenzen)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 11
Der Verein und seine Ziele Fortsetzung
Nachhaltiger Ressourcenumgang – Grundannahme „Alle Ressourcen sind nur beschränkt zur Verfügung (constraint)“● 8-bit● 128k RAM● die Luft als shared Medium● Akkustrom● Licht als Energiequelle● Unsere Bereitschaft auf Privatsphäre zu verzichten
(Prinzip Datensparsamkeit)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 12
Verein Entwicklungen
● Vergangenheit– OSDomotics Wiki und die Treffen
– Der Verein und die Öffentlichkeitsarbeit (Events)
● Neueste Entwicklungen– Der Verein und die Makerszene (Events)
– Chemnitz, Maker Faire, Linuxwochen
● Ankündigung– Zukunft IoT Vienna Maker Point
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 13
Das Merkur Board
Merkur Board ist ähnlich den Arduino Boards mit zusätzlich integriertem Funkstandard 802.15.4 (nicht gleich WLAN 802.11 - wegen Energieeffizienz)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 14
Contiki OS
● Die Bewässerungs-Firmware basiert auf Contiki OS
● Contiki OS ist vom Swedish Institute of Computer Science und wurde als Open Source unter BSD Lizenz freigegeben
● uIP TCP/IP Stack (IPv4 und uIPv6 Stack IPv6 Netzwerk)
● 6LoWPAN Header Compression und Adaptation Layer für IEEE 802.15.4
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 15
Contiki OS
● Encryption und Security Support: Contiki 3.0 bringt Support für 802.15.4 Link Layer Encryption mit AES128
● Constrained Application Protocol (CoAP) IETF● «Erbium» REST Engine, RESTful Web
services for networked embedded devices● URI Pfade zu allen Ressourcen im Mesh Netz
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 16
Einsatzgebiete des Merkur Boards 1
● Merkur Board als Single-board Mikrocontroller für Sensorik sowie Regelungs- und Kommunikationsanwendungen in allen Kombinationen
● Merkur Board mit Contiki ist besonders geeignet für den Einsatz ohne 230V Netzstrom (2x AA Akkus und Solarpanel)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 17
Einsatzgebiete des Merkur Boards 2
● Merkur Board mit Contiki ist Wireless Sensor Network (WSN) „ready“
● Merkur Board mit Contiki kann Wireless Sensor/Aktor Networks bilden
● Peer to Peer Kommunikation der Knoten möglich● Aber: Vieles lässt sich mit einem Mini Computer,
wie dem Raspi, einfacher lösen (mehr Ressourcen, mehr Tools, mehr Dokumentation, mehr Beispiele)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 18
Netzwerk/Kommunikation
● Kommunikation via Edge Router (Sarahbox V2 Vereinsprojekt von Florian Schweikert)http://wiki.osdomotics.com/doku.php/de:projekte:sarah-box#
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 19
Gateway vs. Router
● IPv6 ohne Protokollumsetzung● Durchgehend Internet Protokolle (vermittelt nur
zwischen IPv4 und IPv6)● IPv4 benötigt Application Layer Umsetzer oder
Protokoll Proxy (z.B.: IPv4 http auf IPv6 CoAP)● End to End Kommunikation vom LAN zu den Nodes
ist via IPv6 möglich● End to End Kommunikation vom Internet zu den
Nodes ist bei vorhandenem IPv6 Routing möglich
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 20
Pause
vor Teil 2 – Die Bewässerung im Detail
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 21
Teil 2 – Die Bewässerung im Detail
● Überblick über die Installation● Die Teile und ihre Namen● Zwei Hardware Varianten● Angebot Community Selbstbausatz● Status Community Projekt Software
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 22
Überblick über die Installation
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 23
Die Teile und ihre Namen
● Bewässerungscomputer = Merkur Board, Grove Relay Shield und Relay-Board
● Im Bewässerungscomputer kann das Ventil integriert sein (wenn ja 24/9V, wenn nein 230V)
● Gateway/Kommunikationsbox = Mini Computer mit angestecktem Border Router USB Funkstick
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 24
Zwei Hardware Varianten
Vorführanlage mit externer Umwälz-Magnetpumpe (für Aquarium) an 230V
Community Selbstbausatz mit 24V AC Ventil für Betriebsdruck 0,5 bis 12 bar
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 25
Angebot Community Selbstbausatz
● Merkur Board und Peripherie– Merkur Board mit integriertem Funkteil
– Grove Shield 4 (Grove Relay Shield)
– Grove Touch Button
– Relay Board
● Das Ventil mit Stromversorgung– 24V AC Steckernetzteil
mit Step-Up Schaltregler-Modul
● Die Ventilbox mit Ventil
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 26
Status Community Projekt Software
● Firmware „Bewässerungscomputer“ mit Software/Regelung– Regelung besteht derzeit aus einfacher
Zeitschaltuhr
– Derzeit keine Arduino Programmierung
● Interface .well-known/core CoAP (Constraint Application Protocol)
● CoAP Client textbasierend● Web GUI
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 27
Inbetriebnahme „Gateway/Kommunikationsbox“
● Inbetriebnahme Software „Gateway/Kommunikationsbox“ (siehe Teil 4)
● Merkur Board USB Funkstick an die Kommunikationsbox anschließen, SD Karte einlegen
● Die Kommunikationsbox mit dem LAN Kabel Heimnetzwerk und der Stromversorgung verbinden
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 28
Inbetriebnahme „Bewässerungscomputer“
● Inbetriebnahme Software „Bewässerungscomputer“ (siehe Teil 4)
● Zusammenbau– Zusammenstecken der Boards (Merkur-/Grove-/Relais)
– Einbau in die Ventilbox
● Stromanschluss– 24V Steckernetzteil mit der (Ventil)box verkabeln
– Relaisansschluss Ventil
– 5V Stromversorgung Boards
● Wasseranschluss
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 29
Programmierung Bewässerungszeit
● Text Modus– coapclient m POST e tods=11:55 coap://[aaaa::221:2eff:ff00:349f]:5683/a/wat_tods
– coapclient m POST e "time=25" coap://[aaaa::221:2eff:ff00:349f]:5683/a/wat_dur
● Firefox Copper Plugin● GUI
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 30
Pause
Vor Teil 3 – Vorschläge Ausbau Projekt
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 31
Teil 3 – Vorschläge Ausbau Projekt
● 2 Knoten machen noch kein Mesh Netzwerk● Der Spaß beginnt mit den weiteren
Sensoren/Aktoren...● ...und geht weiter mit Wetterdiensten...
● Ausbaustufen Projekt Vorschläge IoT Austria● Ausbaustufen Projekt Vorschläge
der Workshop Teilnehmer
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 32
Ausbaustufen Projekt Vorschläge von IoT Austria
● Bsp. Anbindung Open Hardware Sensorhttps://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/– I2C
– WSN Anwendungen(„Brunnenproblem“)
– Boku Messung
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 33
Boku MessungStevens-Vitel Hydraprobe Sensor
● Labor Kalibrierstation (© Wolfgang Sokol, Institut für Hydraulik und landeskulturelle Wasserwirtschaft, WAU, BOKU)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 34
Boku Messungmiceuz I2C-Soil Moisture Sensor
● (© Wolfgang Sokol, Institut für Hydraulik und landeskulturelle Wasserwirtschaft, WAU, BOKU)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 35
Boku Messungmiceuz I2C-Soil Moisture Sensor
● (© Wolfgang Sokol, Institut für Hydraulik und landeskulturelle Wasserwirtschaft, WAU, BOKU)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 36
Ausbaustufen Projekt Vorschlägeder Workshop Teilnehmer
● Mögliche Anwendungsfälle...AIT Experience Process (10-15min)
● Regelung– Timer/Intervalle Vorschläge...
– Alternativen zu Wassermenge über Zeit gesteuert?
● Benutzerinterface– Clients/Apps Vorschläge...
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 37
Ausbaustufen Projekt Vorschlägeder Workshop Teilnehmer
● Sensoren● Vorschläge...● Aktoren
– Vorschläge...
● Einbindung Dienste– Vorschläge...
● Arduino Kompatibilität/IDE
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 38
Ausbaustufen Projekt Vorschläge von IoT Austria
● Native IOS/Android App● Boarder Router vereinfacht
TL-MR3020 40€ +OpenWrt Firmware(ohne Smart Home)
● Durchflusszähler für Leck Erkennung bei geschlossenem Ventil
● Anbindung Dienste– Text Wetterdienst https://github.com/fcambus/ansiweather
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 39
Ausbaustufen Projekt Vorschläge von IoT Austria
● Aktoren– Gardena 9V Ventil via PWM (Akku Solarbetrieb vs.
Sicherheit?).
– Gardena 9V Ventil mit „Funkkopf“ via RWE Lemonhead Protokoll (802.15.4).
– Regelbares Heizungsventil via Stellmotor (Markus Priesch)(Akku Solarbetrieb vs. Sicherheit?)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 40
Ausbaustufen Projekt Vorschläge von IoT Austria
● Sensoren– Wasseranteilssensoren (Feuchtesensoren) via I2C
und Merkur Board/6LoWPAN (Akku Solarbetrieb?).
– Wetterstation (Johannes/Harald)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 41
Community Befragung
● Community Startversion (Bestellliste) Wünsche● Zukunft IoT Vienna Maker Point, wie/wo?
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 42
Pause
Vor Teil 4 – Hands On
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 43
Teil 4 – Hands On
Erfahrungsbericht erste Schritte mit Contiki– Die Hürden mit Embedded
● Kein FS, alles ist constraint #ifdefine, EEPROM, Flash, normalerweise kein IP Netzwerk (Contiki schon)
– Lessons Learned● Netzwerk/Kommunikation
– RF Channel, PAN-ID, Mac Adresse, IPv6 Prefix AAAA::1/64
– CoAP Ressource Path, URI
– Border Router, Merkur Board RPL Firmware
● Source Code
– git branch, git checkout, git add, git commit, git log, git status
● Compilieren
● Beispielcode
– OSD, Achtung - Code Recycling
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 44
Inbetriebnahme Software
Was benötigt man?● Notebook mit Windows oder Linux mit
installierter Entwicklungsumgebung, bestehend aus der Toolchain und eventuell einer integrierten Entwicklungsumgebung (IDE)
● USB Programmer für das Merkur Board
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 45
Inbetriebnahme RPL Border Router USB Funkstick Merkur Board
● RPL Border Router Source Code Download● Firmware erzeugen: Code
compilieren (./run.sh) rufen
● Merkur Board mit dem USB Programmer an den PC anschließen
● Firmware Upload in das USB Funkstick Merkur Board (./flash.sh) rufen
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 46
Inbetriebnahme Software „Bewässerungscomputer“
● Beispielprojekt Irrigation Source Code Download
● Firmware erzeugen: Code compilieren (./run.sh) rufen
● Merkur Board mit dem USB Programmer an den PC anschließen
● Firmware Upload in das Merkur Board (./flash.sh) rufen
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 47
Kontrolle der Firmware
Direkt nach dem Flashen der Firmware mit dem screen Befehl die Kommunikationsparameter auslesen
● sudo screen /dev/ttyUSB0 38400 – beenden mit <strgA>+<K> dann <y>
● Firmware Version● Source Code Stand (Branch oder Commit)● Mac Adresse● IPv6 Prefix AAAA::1/64 (kommt via Sarahbox V2)● RF Channel● PAN-ID
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 48
Inbetriebnahme Software „Gateway/Kommunikationsbox“
● Sarahbox V2 Image erzeugen und auf SD Karte schreiben, Anleitung siehe https://github.com/osdomotics/sarahbox-v2
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 49
Erfahrungsbericht erste Schritte mit dem Merkur Board
● Das Run Script– Verschiedene Board Generationen und Boot Loader
(Kommentare im run.sh Script make Befehl beachten)
● Flashen/Reset– Programmer, mit Kabel, mit female - Handling
– Reset Merkur Board, viele Varianten (freihand am PIN 3, freihand am Gehäuse, überbrückt mit Kondensator, neuste Version), Timingfrage? Liegts an der VM?
– USB Device ID (/dev/ttyUSB?/ oder COM?)
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 50
Erfahrungsbericht erste Schritte mit dem Merkur Board
● LED im Start Code aktivieren● Debug mit dem screen Befehl
– Bootet oder hängt? Debug aufdrehen und PRINTF Output checken
– Output - Channel Checks disablen #define RDC_CONF_MCU_SLEEP 0
– sudo screen /dev/ttyUSB0 38400 – beenden mit <strgA>+<K> dann <y>
– Überprüfung 802.15.4 Channel, PANID, hw_init()/setup() Routine
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 51
Toolchain und IDE unter Windows
● Johannes Dobler stellt sein Eclipse Zip Archiv vor.
● Verwendet AVRDUDE, Software um Atmel AVR Microcontroller zu programmieren.
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 52
Toolchain und IDE unter Linux
● Die Toolchain mit run.sh und flash.sh wird vorgestellt.
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 53
Zum Abschluss
● Informationsmaterial● Wie geht’s weiter● Feedback
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 54
Informationsmaterial
● Projekt Links● Weiterführende Links● Github Tutorial Links
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 55
Projekt Links
● Github Repository● OSD Wiki Idee oder schon Projekt? ● OSD Wiki http://wiki.osdomotics.com● Semaf Shop https://electronics.semaf.at/● Open Hardware Chirp Sensor
http://wemakethings.net/chirp/
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 56
Weiterführende Links
● E-Book „IoT in 5 days“
https://github.com/alignan/IPv6-WSN-book/blob/43056071166c03b0515bc5c455b110c40aa3c148/Releases/IoT in five days - v1.0 20160215.pdf● Buch „Making Embedded Systems“
http://shop.oreilly.com/product/0636920017776.do● http://e2e.ti.com/support/wireless_connectivity/● http://dunkels.com/adam/kovatsch11low-power.pdf
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 57
Github Links
● Github Tutorials– https://cworth.org/hgbook-git/tour/
– http://www.gelato.unsw.edu.au/archives/git/0512/13748.html
– http://2ndscale.com/rtomayko/2008/the-thing-about-git
– https://www.atlassian.com/git/tutorials/what-is-git/
– http://www.ralfebert.de/tutorials/git/
– http://ftp.newartisans.com/pub/git.from.bottom.up.pdf
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 58
Wie geht’s weiter
● Github Repository (im Entstehen)– Source Codes
– Dokumentation, HowTo
● Community Projekt Wiki (im Entstehen)– Spin Offs
– Verteilung Folien
– Publikation Ergebnisse Community Vorschläge
● IoT Vienna Maker Point – Termine?
22.06.2016 IoT Vienna Workshop June 2016 - Kickoff Community Projekt Pflanzenbewässerung 59
Feedback
● Feedbackrunde