Die Softwareentwicklerkonferenz
zu Internet of Things und Industrie 4.0
Heidelberg, Print Media Academy, 3. - 5. Mai 2017

building IoT 2017 » Programm »

// Aufbau von REST-APIs für Devices mit dem Constrained Application Protocol (CoAP)

Im Internet der Dinge kommunizieren schon jetzt Milliarden von Devices untereinander oder mit der Cloud. Kleinstgeräte mit 8- oder 32-Bit-Microcontrollern, die Constrained Devices, sind auf kompakte und stromsparende Implementierungen angewiesen, und der IoT-Baukasten bietet hierfür mit CoAP, dem Constrained Application Protocol, einen Baustein ähnlich dem aus dem Web bekannten HTTP an.

Der Workshop für Entwickler zeigt Schritt für Schritt, wie sich die aus der Webwelt bekannten Service-APIs auf Constrained Devices realisieren lassen. Teilnehmer arbeiten auf eigenen Notebooks. Workshopmaterial und Entwicklerboards werden zur Verfügung gestellt.

Agenda:

11:00 - 11:45
• Begrüßung
• Workshop-Ziele und –Aufbau
• Einstieg
• Herausforderungen bei Entwicklung von Firmware.
• Internet of Things == Über Netzwerke kommunizierende Devices
• Ansatzpunkte für APIs: Warum und Wie
• Herausforderungen: Datenformate, Protokolle, Security Erwartungen und
Fragestellungen der Teilnehmer aufnehmen

11:45 - 12:30
Entwicklungsboards in Betrieb nehmen:
• Installation der Entwicklungsumgebung (http://platformio.org/, @platformio_org)
• Boards anschließen (NodeMCUv2, Grove Base Shield)
• Hello World Beispiel-Firmware auf Boards ausführen

12:30 - 13:30 Mittagspause

13:30 - 14:15
Deep Dive „Datenformate“
• Text- vs. Binärformate, Vorteile von Binärformaten
• XML/EXI, JSON/MessagePack (http://msgpack.org/)
• CBOR (cbor.io)
Deep Dive „Protokolle“
• CoAP (http://coap.technology/)

14:15 - 16:30
Implementierungsbeispiel: Gestaltung einer Service-API auf Basis CoAP+JSON/Messagepack
Teil 1: Protokollschicht in CoAP
• Implementierung auf Device-Seite
• Device flashen, Tests im Browser (z.B. mit Firefox Plugin Copper,
https://addons.mozilla.org/de/firefox/addon/copper-270430/)

16:30 - 16:45 Kaffeepause

16:45 - 17:00
Teil 2: Datenschicht in Messagepack
• Implementierung auf Device-Seite
• Testclient auf Notebook

17:45 - 18:00 Offene Fragerunde

18:00 Ende des Workshops

Vorkenntnisse
* Eigenes Notebook/Eigener Laptop mit Administrator-Rechten (!), da Software und ggf. Treiber für die USB-to-serial-Kommunikation mit Devices installiert werden müssen.
* Kenntnisse in C/C++, JSON. Es muss nicht viel aktiv programmiert werden; alle Schritte sind als Code-Templates verfügbar. Verständnis für C-Entwicklung ist aber wichtig.
* Verständnis von HTTP
* Sicheres Arbeiten auf der Kommandozeile
* Erste Erfahrungen in Programmierung von Embedded Devices (z.B. „Arduino“)

Lernziele
* Bedarfe und Ansatzpunkte für APIs auf Device-Ebene verstehen: strukturierter Datenaustausch, Interoperabilität, standardisierte Protokolle und Formate
* Grundlagen des Constrained Application Protocol (CoAP) kennen
* Grundlagen von Binärdatenformaten (z.B. Messagepack und CBOR) kennen
* Kennenlernen von microcoap-Library und messagepack-Library
* Gestaltung von APIs, z.B. mit RAML und JSON Schema

// Andreas Schmidt Andreas Schmidt

ist als Berater bei Cassini Consulting in Düsseldorf tätig. Neben Themen wie Docker, DevOps und Infracoding freut er sich, seine C-Kenntnisse in Embedded-Projekten nutzen zu können. Im Umfeld des IoT interessiert er sich für Netzwerke, Interoperabilität und Sicherheit.