as building IoT 2024 – Die Softwareentwicklerkonferenz zu Internet of Things und Industrial Internet of Things

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

Speaker

 

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.

building-IoT-Newsletter

Sie möchten über die building IoT
auf dem Laufenden gehalten werden?

 

Anmelden