Vernetzung Per Wi-Fi einfach ins IoT

»Intelligente« Geräte sollten sich im Internet der Dinge (IoT) möglichst einfach vernetzen lassen. Dies setzt eine gewisse Standardisierung der Kommunikation voraus. Folgender Artikel soll zeigen, wie einfach es ist, ein entsprechendes Evalboard per Wi-Fi in ein Netzwerk und in die Cloud einzubinden

Von Stefan Tauschek, Applikationsingenieur bei Macnica.

Für das Internet der Dinge (Internet of Things, IoT) ist vor allem eine simple Vernetzung von Geräten in bestehende Infrastrukturen notwendig. In letzter Konsequenz sollte jeder Aktor oder Sensor über seine eigene Netzschnittstelle verfügen, sehr sparsam mit Strom umgehen (um auch Batteriebetrieb zu ermöglichen) und mit standardisierter Software in Automatisierungsleitstellen eingebunden werden können. Zur Minimierung des Installationsaufwandes bieten sich drahtlose Verfahren an, wobei derzeit konkurrierende Systeme wie etwa ZigBee, Z-Wave, WirelessHART, KNX und nicht zuletzt Wi-Fi unterschiedliche Stärken und Schwächen aufweisen. Wi-Fi, oder präziser WLAN, lässt sich natürlich recht problemlos in die überall existierenden 802.11xx-Netze einfügen und wird von einem umfangreichen Bestand an Infrastruktur-Software, Protokoll-Stacks und Middleware unterstützt. Aufgrund nicht standardisierter Skriptsprachen und Funktionen bleibt es dennoch zumeist eine Herausforderung, vernetzte »Dinge« einzubinden.

Der Hersteller ACKme (Vertrieb: Macnica) hat mit »WiConnect« eine laut Hersteller elegante und dabei einfache Programmierschnittstelle (Application Programming Interface, API) geschaffen, mit der in nur wenigen Schritten ein Netz der Dinge aufgebaut werden kann. »Mackerel« (siehe Bild oben) ist ein kleines Demoboard mit Außenabmessungen von etwa 65 mm x 55 mm und aufgelötetem Wi-Fi-Modul »Wallaby«, auf dem WiConnect läuft. Das Board verfügt über den Schnittstellenkonverter FT230XQ von FTDI [4], der die UART-Schnittstelle des Moduls zu USB umsetzt und die Kommunikation unter Windows mit einem virtuellen COM-Port ermöglicht. Als Terminal kommt im Weiteren das freie und gut gepflegte Programm »PuTTY« [5] zum Einsatz, alternativ eignet sich aber beispielsweise auch »TeraTerm«.

Nach Treiberinstallation und Anschluss meldet sich das ACKme-Board im Terminal-Fenster mit einem Prompt »Ready >« (Bild 1). Nun lässt sich mit dem Kommando »version« die aktuell installierte Firmware-Version abfragen und danach prüfen, ob ein Upgrade im ACKme-Repository verfügbar ist. Alle mit WiConnect-API ausgestatteten Module unterstützen ein sicheres »Over the Air«-Upgrade (OTA über TLS-Port 443), sodass zunächst lediglich eine WLAN-Assoziierung notwendig ist. Mit Setzen der Variablen »wlan.ssid« und »wlan.passkey« sind die notwendigen Voraussetzungen erfüllt, um mit dem folgenden Befehl »ota« einen Firmware-Upgrade durchzuführen. Hier nun war die Firmware aktuell, sodass kein Upgrade erfolgte. Der OTA-Upgrade unterstützt dabei nicht nur die Firmware für den Controller des Moduls von Atmel sowie des 802.11-Frontends, sondern zusätzlich auch die Webapplikation für den implementierten Webserver, Root-Zertifikat, Setup Script und einige Bilddateien. Die Webapplikation liegt übrigens in Form komprimierter CSS- bzw. JS-Dateien vor (Formatvorlagen & Skripte) und lässt sich daher durch einfachen Datei-Upload jederzeit den eigenen Vorstellungen anpassen.

Starten der Webanwendung

Das Wallaby-Modul kann in unterschiedlichen Modi arbeiten: Im Webmodus sind der integrierte Access-Point (softAP) sowie Webserver und weitere Dienste (wie etwa mDNS) aktiv. Jeder Client kann sich mit SSID (Service Set Identifier) und Passwort assoziieren und auf die eingebettete Webseite mit allen Funktionen zugreifen. Im Internetmodus dagegen ist das Modul selbst ein Client und bindet sich in ein bestehendes WLAN ein. Clients im gleichen WLAN können daher auf das Modul über den Pfad Client –> AP –> Wallaby zugreifen.

Um den Webmodus aufzusetzen, genügt der Befehl »setup web«, weitere Voreinstellungen sind nicht notwendig (Bild 2). Daraufhin fungiert das Modul als Accesspoint samt HTTP- und mDNS-Server unter der IP-Adresse 10.10.10.1 (Voreinstellung) und der SSID »WiConnect-647« (hängt von MAC-Adresse ab). Im Netzwerkcenter eines Notebooks oder PCs zeigt sich der Accesspoint nun unter dieser Service-Set-ID und erlaubt die Assoziierung von bis zu sieben Clients.

Mit WiConnect genügt also genau ein Befehl, um das Modul als funktionstüchtigen Accesspoint mit Standardeinstellungen zu starten. Selbstverständlich lassen sich alle Parameter über entsprechende Vari- ablen applikationsspezifisch ändern, und zwar sowohl zur Laufzeit (über eine integrierte Konsole) als auch persistent in der Datei »setup_default.script«, die beim Booten des Moduls abgearbeitet wird. Persistente Daten speichert Wallaby auf einem eingebetteten Flash-Speicher und darauf aufgesetztem Dateisystem. Die Speichergröße kann durch sogenannten externen Bulk-Flash (serielle Speicherbausteine) auf bis zu 128 MByte erweitert werden.

Zum Thema

Meinung: EMV im Internet der Dinge
Entwicklungs-Kit: Ausgangsbasis für IoT-Applikationen
IBM und ARM: IoT-Technologien in der Cloud
Studie von Telenor Connexion: 42% der deutschen Unternehmen noch ohne Erfahrung beim IoT
Conrad Electronic: Das Internet der Dinge spielerisch erleben
Welche Optionen gibt es?: Drahtlose Konnektivität für das IoT
Studie zum Internet der Dinge: Entwickler sehen IoT-Apps positiv
Jetzt noch schnell anmelden!: Internet of Things - vom Sensor bis zur Cloud
Microtronics: Erste Hilfe für festgefahrene Industrie-4.0-Projekte
Low-Cost-Hardware: Arduino als IoT-Maschine - Teil 1