IIoT Edge-Entwicklung mit WebSockets: Sichere Echtzeit-Konnektivität
Adaptiert aus Industrial Internet Application Development, von Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli.
Kapitel 3. IIoT Edge-Entwicklung (Fortsetzung)
Von Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli
Anwendungsprotokolle – WebSocket
In diesem Abschnitt bauen wir eine einfache IoT-App, um Daten von einem XD-80 Lichtsensormodul an ein Empfängergerät zu senden, باستخدام einen Raspberry Pi Hub und das WebSocket-Protokoll:
WebSocket wird am häufigsten eingesetzt, wenn schneller Transfer von Echtzeitdaten nötig ist. Das Protokoll ermöglicht bidirektionale Interaktion zwischen Client und Server und das Streamen mehrerer Nachrichten über dieselbe TCP-Verbindung, was den Kommunikationsoverhead senkt.
In der folgenden Tabelle finden Sie eine detailliertere Beschreibung des Protokolls, um zu beurteilen, ob es für Ihre Bedürfnisse geeignet ist:
| Schlüssel | Wert |
|---|---|
| Open Source | Ja |
| OSI-Schicht | Anwendung |
| Datentypen | String |
| Einschränkungen | Nicht geeignet für große Mengen binärer Daten |
| Mögliche Operationen | Senden/Empfangen von Daten |
| Latenz | Sehr gering |
| Verwendung | Echtzeitkommunikation |
| Sicherheit | Ja |
| Kompression | Ja |
Tabelle 3: WebSocket Protokollspezifikationen
Benötigte Komponenten
Software:
- Node.js 6+ (Download)
- RPIO (npm)
- WebSocket (npm)
- Docker (Installation)
Hardware:
- Raspberry Pi 3 (Modell B)
- Netzteil (2A/5V)
- microSD Karte (8 GB+) und SD-Adapter
- XD-80 Lichtsensormodul
- Steckbrett und Dupont-Kabel
- Ethernet-Kabel für kabelgebundene Netzwerkverbindung
Gerät zusammenbauen
Bevor die Applikation gebaut wird, muss der XD-80 Sensor über ein Steckbrett mit dem Raspberry Pi verbunden werden.
SD-Karte vorbereiten
- Laden Sie das neueste Raspbian LITE Image herunter (verfügbar unter Raspberry Pi Downloads).
- Verbinden Sie Ihre SD-Karte mit einem Computer und nutzen Sie Etcher (balena.io/etcher), um das Raspbian
.imgFile auf die SD-Karte zu flashen. - Aktivieren Sie SSH mit folgendem Befehl:
cd /Volumes/boot
touch ssh
- Um Wi-Fi zu aktivieren, erstellen Sie
wpa_supplicant.confmit folgendem Inhalt:
network={
ssid="YOUR_SSID"
psk="YOUR_WIFI_PASSWORD"
}
Um eine Datei in der Linux-Konsole zu erstellen, können Sie den GNU nano Editor verwenden. Er ist in den meisten Linux-Distributionen vorinstalliert. Führen Sie einfach nano DATEINAME aus und folgen Sie den Anweisungen.
- Erstellen Sie das Verzeichnis
/home/pi/sensor - Erstellen Sie die Datei
/home/pi/sensor/package.jsonmit folgendem Inhalt:
{
"name": "sensor",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"rpio": "^0.9.16",
"ws": "^2.3.1"
}
}
- Erstellen Sie die Datei
/home/pi/sensor/index.jsmit folgendem Inhalt, ersetzen SieREMOTE-SERVER-ADDRESS.comdurch einen echten Wert:
var WebSocket = require('ws');
var rpio = require('rpio');
var ws;
var receiver = 'ws://REMOTE-SERVER-ADDRESS.com:8080';
rpio.open(11, rpio.INPUT);
var establishConnection = function () {
ws = new WebSocket(receiver);
ws.on('close', establishConnection);
ws.on('error', establishConnection);
};
establishConnection();
var sendStatus = function () {
var status = rpio.read(11) === 0;
console.log('light status: ' + status);
var data = JSON.stringify({
device: 'raspberry',
timestamp: Date.now(),
light: status
});
try { ws.send(data); }
catch (e) {console.log('failed to send data to ' + receiver);}
setTimeout(sendStatus, 1000);
};
sendStatus();
- Erstellen Sie die Datei
/home/pi/sensor/Dockerfilemit folgendem Inhalt:
FROM hypriot/rpi-node:boron-onbuild
Internet der Dinge-Technologie
- Navigation im Internet of Everything: Best Practices für erfolgreiche Hyperkonnektivität
- Edge Computing: 5 Fallstricke – und wie man sie meistert
- Zukunftsausblick: Industrial IoT für Production Excellence vorantreiben
- Industry 4.0 steigern: Edge Analytics für smartere, schnellere Fertigung nutzen
- Der definitive Guide zu den Top 10 Industrial IoT Plattformen (2024)
- IIoT Trends & Herausforderungen: Datenflut, Fertigungswandel und Fachkräftelücke
- Edge Computing & IIoT: Transformation der industriellen Datenstrategie
- Industrial Internet of Things (IIoT): Definition, Umfang und industrielle Auswirkungen
- Edge Computing: Der neue Herzschlag des Cloud-Zeitalters
- Actionable Edge Insights mit KI & ML freisetzen