Um autonome Netzwerkknoten mit Aktor/Sensor-Funktion in bestehende Infrastrukturen einbinden zu können, müssen standardisierte Schnittstellen vorhanden sein, über welche die akquirierten Daten einfach ausgetauscht werden können. In WiConnect hat ACKme eine sogenannte »REST«-API geschaffen, die diesem Bedarf sehr gut entgegen kommt. REST steht für »Representational State Transfer« und bedeutet ganz einfach gesprochen, dass jede Funktion des Netzwerkgerätes über eine eindeutige URL abgerufen werden kann. So liefert zum Beispiel die URL-Eingabe »http://192.168.0.85/command/ver« (in der Browser-Adresszeile) exakt die gleiche Ausgabe wie das Kommando »version«, gibt also die Version von Firmware und Hardware des Moduls aus. Die Eingabe-URL »http://192.168.0.85/command/adc 7« gibt den aktuellen ADC-Wert des Thermistors in hexadezimaler Schreibweise wieder (hier also 0x6B6) und entspricht der Temperatur der Platine (Bild 6).
Die Rückgabe des Moduls ist nicht ein einzelner Wert, sondern ein Datenobjekt, genauer ein sogenanntes JSON-Objekt. JSON steht für »JavaScript Object Notation«, ähnelt ein wenig XML und kann von JavaScript interpretiert werden. Um die Ein- und Ausgaben der RESTful-API etwas komfortabler zu gestalten, bietet ACKme ein kleines Demoprogramm zum Download. Diese einzelne html-Seite lässt sich lokal öffnen und dient zur schnellen Abfrage von Variablen und Parametern eines ACKme-Moduls. In Bild 7 werden mit einer Abfrage »http://192.168.0.85/command/gpios_get« die Zustände aller GPIOs des Wallaby-Moduls ermittelt.
Die Methode, Daten aus einem IoT-Device mit GET/POST eines JSON-Objektes zu übermitteln, ist recht elegant und setzt auf breit unterstützte Methoden und Strategien. So lässt sich ein Wallaby-Modul beispielsweise als Komponente eines Heimautomatisierungssystems mit einer Leitzentrale unter »OpenHAB« [13] über ein sogenanntes HTTP-Binding nahtlos und ohne zusätzliche Treiber oder Konverter integrieren.
Eigene Anwendungen einbinden
Möchte man die ACKme-Module nicht nahtlos in einer Automatisierungsumgebung einsetzen, sondern als eigenständigen Wi-Fi-Aktor-/Sensorknoten mit entsprechender Repräsentation über die eingebaute Webseite, ist zumeist eine anwendungsspezifische Anpassung der Webanwendung notwendig. Diese setzt auf der sogenannten »WiConnect JavaScript«-API auf, ein Framework zur Steuerung von WiConnect-Geräten unter Nutzung der HTTP-RESTful-API (Bild 8).
Die Webanwendung kann aber nicht nur auf dem eingebetteten Webserver des Moduls laufen, sondern über eine entsprechende CORS-Konfiguration (Cross Origin Resource Sharing; [15]) auch auf jedem beliebigen HTTP-Server, zum Beispiel auf einer lokalen Entwicklungsmaschine. Die Repräsentationsschicht also kann auf dem lokalen PC entwickelt werden, während alle Zugriffe auf die Modulhardware (Aktorik/Sensorik) zur Real-World-Hardware geleitet werden. Damit ist eine äußerst elegante Entwicklung der eingebetteten Webseite möglich und vor allem mit kostenlosen Werkzeugen aus der Open-Source Community durchführbar.