ODER: Wie erstelle ich ein Edge Analytics Case auf Basis von SAS ESP, SAS Streamviewer und eines Modelltrucks? Das beschreibe ich in Teil 3. Rückblick: Im ersten Teil wurden die Idee und der Inhalt der SAS Streaming-Analytics-Demo beschrieben. Im zweiten Teil sind die einzelnen technischen Komponenten sowie die Software aufgelistet.
Im dritten Teil von „Wie erstelle ich ein Edge Analytics Case auf Basis von SAS ESP, SAS Streamviewer und einem Modelltruck“ wird beschrieben, wie wir aus den einzelnen Teilen eine funktionsfähige, praxisnahe SAS Streaming-Analytics-Demo zusammensetzen.
Das Fahrzeug
- Den Modelltruck und das Zubehör lassen wir von einem engagierten Modellbauer funktionsfähig zusammenbauen und lackieren. Zu beachten ist, dass anstatt der vorgesehenen Sattelplatte für Modellanhänger eine Plattform zur Aufnahme des Intel Gateway sowie der Sensorkomponenten montiert wird.
- Sobald wir das fahrtüchtige Fahrzeug vor uns haben, montieren wir einen Infrarotsensor zur Geschwindigkeitsmessung in die Nähe eines der Hinterräder. Ein kleines Silberblättchen am Hinterreifen löst ein Event aus. Anhand der Anzahl der Auslösungen pro Sekunde können wir mit SAS ESP die Geschwindigkeit errechnen. Der Vibrationssensor sollte unter dem Fahrerhaus montiert werden, da dort die Exzenterscheibe aus dem Zubehörset die Vibrationen simuliert.
Die Edge-Analytics-Komponenten auf dem Truck
- Jetzt kommt der Raspberry Pi ins Spiel. Dort installieren wir das Raspbian mit einer GUI. Die Sensoren werden direkt an die Pins für das GPIO angeschlossen. Bitte den Port (Anschlussnummer) merken. Um die Daten der Sensoren zu übertragen, können beliebige Messagehandler aus Raspbian (MQTT, Node Red etc.) genutzt werden. Ich nutze hier Node Red mit einem Connector zu MQTT. Zusätzlich konfigurieren wir einen WLAN Access Point auf dem Raspberry Pi. Diesen benötigen wir, um später die Daten und Analysen auf einem externen System visualisieren zu können.
- Nun kommt der Kern des Streaming Analytics on Edge. Auf dem Intel basierenden Gateway installieren wir ein beliebiges Linux basierendes System ohne GUI sowie die SAS Event Stream Processing Engine. Das ESP Studio zur Konfiguration des Datenstroms sowie der Streamviewer für das Dashboard nutzen wir nicht auf dem Edge Device. Das Streaming-Modell mit den analytischen Verarbeitungsschritten sowie die Daten für die Simulation können bei GitHub kostenfrei geladen werden. Zusätzlich konfigurieren wir die Schnittstelle für MQTT, um die Sensordaten des Trucks selbst zu empfangen. Nachdem wir den Raspberry und das Gateway mit einem LAN-Kabel verbunden haben, starten wir das System mit dem Modell. Alle IP-Adressen sollten fest konfiguriert sein (kein DHCP). Jetzt sollten alle Daten von den Sensoren und den vorgefertigten Files verarbeitet werden. Übrigens haben wir alle Konfigurationsschritte auf den Systemen mit Netzadapter durchgeführt. Autark laufen die Systeme mit den beschriebenen Batteriepacks. Vorsicht: Um den Gateway mit handelsüblichen Modellakkus zu betreiben, muss die Polarität vertauscht werden. Dazu fertigen wir uns ein individuelles Anschlusskabel.
- Gateway – 2 x Batteriepacks 12 V 4000 mAh NiMH (in Summe 8000 mAh)
- Truckmodell – 1 x Batteriepack 7,2 V 5000 mAh NiMH
- Raspberry Pi – Powerbank 16000 mAh (mit 2,4-A-Ausgang)
Sensorkomponenten
- Den zweiten Raspberry Pi bestücken wir ebenfalls mit einem Betriebssystem (Raspbian) und installieren wieder einen Messagehandler (Node Red). Dazu kommt ein GPIO-Board, auf das wir die Anschlüsse für die Sensorkontakte sowie die Sensoren für die Alerts montieren. Jeder Sensor muss bei einer Spannung von 5 V mit einem 10-kOhm-Widerstand vorgeschaltet werden. Der Raspberry Pi wird am WLAN Accesspoint des Trucks angemeldet. Mit den Neodym-Magneten, die unter der Vorderachse des Trucks montiert werden, werden die Sensoren ausgelöst.
- Für das Auslösen eines Alerts während der Fahrt nutzen wir Hallsensoren. Wird ein einfacher Hallsensor von Strom durchflossen und in ein senkrecht dazu verlaufendes Magnetfeld gebracht, liefert er eine Ausgangsspannung. Das machen wir uns zunutze. Wir installieren 5 Hallsensoren mit einem Abstand von mindestens 1 Meter auf die Fahrbahn. Da ein Hallsensor 3 Kontakte hat, verlegen wir von jedem Hallsensor 3 Litzen zu einem zentralen Punkt, an dem wir den Raspberry Pi installiert haben. Dort verbinden wir die Hallsensoren mit den vorgesehenen Kontakten nach den Widerständen am GPIO-Board.
- Der Messagehandler (Node Red) muss so konfiguriert sein, dass die Alerts der Sensoren an SAS ESP auf dem Truck (mittels MQTT) übertragen werden. SAS Event Stream Processing entscheidet nun selbstständig, welche Meldungen, Warnungen oder Hinweise zu welchem Zeitpunkt ausgelöst und angezeigt werden. Dabei lernt SAS ESP auch, welche Situationen zu Alerts geführt haben (Machine Learning), und wird zukünftig entscheiden, wann eine Meldung erzeugt wird.
Visualisierungskomponenten
- Die beiden Bildschirme sollen als Dashboard für den tatsächlichen Datenstrom und das Konditionsmonitoring des Trucks sowie die Ausgabe der Alerts und Hinweise dienen. Einen Bildschirm schließen wir direkt an den Raspberry Pi für die Hallsensoren an. Dort erstellen wir eine HTML-Seite, die in kurzen Abständen aktualisiert wird. SAS ESP wird die Alerts in eine CSV-Datei ablegen, die dann in der HTML-Seite formatiert dargestellt werden.
- Für die Darstellung des Dashboards (SAS ESP Streamviewer) nutzen wir einen Minirechner (z. B. Intel NUC). Er erhält ein CentOS mit GUI (Linux), und wir installieren den SAS ESP Streamviewer. Mit der Streamviewer HTML5-GUI erstellen wir ein ansprechendes Dashboard, das die aktuellen Daten des fahrenden Trucks in Realtime anzeigt.
Wenn jetzt alles korrekt montiert und konfiguriert wurde, wird der fahrende Modelltruck die Fahrdaten und Daten aus der Fahrbahn auf dem mitgeführten Edge Device analysieren und damit Dashboards befüllen sowie Warnung und Hinweise extern versenden. In der Praxis werden keine formatierten Daten extern versandt, sondern lediglich hoch aggregierte Daten, die bereits analytische Modelle durchlaufen haben. Dieses Beispiel lässt sich auf alle Maschinen (mobil oder mit festem Standort) anwenden. Viel Spaß beim Nachbauen oder bei der Umsetzung in die praktische Anwendung. Bei Fragen stehe ich gerne zur Verfügung.