Dieses Demo (erstellt für einen Workshop im Rahmen der Fachkonferenz Digitalisierung – IoT + Data Science) zeigt, wie man Leistungen von IoT-Devices über eine Blockchain „kaufen“ – d.h. bezahlen und ausführen lassen kann. Als „Leistung“ wird eine Lampe geschaltet, die „Bezahlung“ erfolgt mit einem „IoT-Light“-Token, welches mittels einer modernen Blockchainplattform (0bsnetwork.com) erstellt, gehandelt und übertragen wird.
Ein weiterer Teil demonstriert, wie Sensordaten des Devices über dieselbe Kommunikationsschnittstelle rückübertragen und in der Blockchain protokolliert werden können.
Die Komponenten dieses Demos sind:
Als IoT Device wird ein Raspberry Pi mit einem SenseHat-Modul verwendet, welches die Aktorik (LED-Feld als „Lampe“) und Sensorik (Joystick als Schalter) realisiert. Das Gerät stellt über WLAN eine WebSocket Verbindung zum Broker her.
Die IoT-Schnittstelle zwischen den Devices und einem Blockchain Client besteht aus einem WebSocket Broker und einem Client-Interface, welches die Blockchain auf Aktionen für bestimmte Walletadressen überwacht und die Daten über WebSocket an das IoT-Device weiterleitet. Hier ein Teil des Sourcecodes für ein solches Modul:
Als Blockchainumgebung wird in diesem Setup das TestNet des 0bsnetwork eingesetzt. Der Client bietet ein Web-GUI für die Walletfunktionen an: Den Handel mit den hier verwendeten „IoT-Light“ Tokens (gehandelt wird auf der „DEX“, der Decentralized Exchange) und das Senden der Token an das IoT-Device. Ein weiterer Node stellt die API Schnittstelle für das Client-Interface zur Verfügung, mit dem „Explorer“ können die Daten in der Blockchain (Blöcke, Transaktionen, Peers …) angesehen werden.
Ablauf
Auf der „DEX“ (integrierte Handelsplattform) werden die „IoT-Light“-Token für die Bezahlung des IoT-Devices gehandelt …
Über das Wallet werden Token an das IoT-Device (bzw. an seine Adresse 3Myh…) gesendet …
Das Client-Interface …
… registriert die „Bezahlung“ für das Device, sendet ein Kommando an dieses und …
… das Device führt die bezahlte Leistung aus und schaltet Licht für die entsprechende Dauer ein.
Und das war es auch schon 😉
Pingback: Digitalisierung: IoT + Data Science | baumann.at