Die letzte Beitrag in dieser laufenden IoT Serie wurde die Erstellung einer Cloud-basierten Ultra Pipeline beschrieben, die den Großteil der Arbeit für unsere IoT-Anwendung übernimmt. Wir haben die folgende Anwendung beschrieben:
- Ein Sensor, der irgendwo (vor Ort, über eine API usw.) Daten erzeugt, die eine "Farb"-Nutzlast enthalten;
- Eine LED vor Ort, die an unser lokales Netzwerk angeschlossen ist und bequem wie ein REST-Endpunkt aussieht;
- Zwei Pipelines, eine vor Ort, eine in der Cloud.
Unsere verbleibende Aufgabe besteht darin, die im letzten Aufzählungspunkt beschriebene Pipeline vor Ort zu erstellen. Es handelt sich um eine kurze, einfache Pipeline mit einer kleinen Besonderheit - der Verwendung von Pipeline-Parametern.
Wenn Sie zum vorherigen Beitrag zurückgehenzurückgehen, werden Sie sich daran erinnern, dass das Endergebnis der Ultra Pipeline darin besteht, eine Instanz der lokalen Pipeline aufzurufen, wobei der Farbparameter als Pipeline-Parameter übergeben wird. (Farbe ist zum MacGuffin dieser IoT-Blogserie geworden, was etwas seltsam ist, da das kanonische Beispiel für einen MacGuffin aus einem Schwarz-Weiß-Film.) Unser erster Schritt in der On-Prem-Pipeline besteht also darin, einen Mapper-Snap einzufügen, der den Pipeline-Parameter _color aufnimmt und als Dokument mit der Schlüsselfarbe zur Verfügung stellt:
Und das war der schwierige Teil. Sie haben Daten aus einer beliebigen Reihe von Cloud-Diensten sicher an eine Pipeline übertragen, die innerhalb Ihrer Firewall arbeitet. Die Pipeline-Parameter dienen als Boten; die Pipeline vor Ort nimmt sie dann auf und setzt sie in ein Dokument um. Der Rest der Pipeline besteht lediglich aus der Formatierung von Farbe in einen REST POST für unser Licht. Der JSON-Generator erstellt einfach die Daten für den Post:
[ { color: $color } ]
Schließlich senden wir in unserem POST-Snap eine Nachricht an unser Licht. Beachten Sie, dass die HTML-Entität auf "$" gesetzt ist, was die Wurzel unseres JSON-Dokuments ist, und dass wir einen Header hinzugefügt haben, um den Inhalt der Nutzlast zu identifizieren.
Und damit ist unsere kleine Anwendung fertig. Im nächsten Beitrag werden wir uns ein konkreteres Beispiel für das Abrufen von Daten aus einer Web-API, deren Verarbeitung und das Senden an einen Cloud-fähigen Mikrocontroller ansehen. Und vergessen Sie nicht unsere IoT-Blog-Serie, unseren YouTube-Kanal, oder um uns für eine Demo zu kontaktieren.