IIoT-Edge-Entwicklung – Verwenden von Modbus
Anmerkung der Redaktion:Das Industrial Internet of Things (IIoT) verspricht tiefe Einblicke in industrielle Abläufe und verbessert die Effizienz vernetzter Maschinen und Systeme. Groß angelegte IIoT-Anwendungen verlassen sich auf mehrschichtige Architekturen, um Daten von einer Vielzahl von Sensoren zu sammeln, Daten zuverlässig und sicher in die Cloud zu verschieben und Analysen durchzuführen, die für die Bereitstellung dieser Erkenntnisse und Effizienz erforderlich sind. In Industrial Internet Application Development bieten die Autoren eine detaillierte Untersuchung der IIoT-Architektur und diskutieren Ansätze zur Erfüllung der breiten Anforderungen, die mit diesen Systemen verbunden sind.
Angepasst an die Entwicklung von industriellen Internetanwendungen, von Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli.
Kapitel 3. IIoT Edge-Entwicklung (Fortsetzung)
Von Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli
Industrielle M2M-Protokolle – Modbus
In diesem Abschnitt werden wir versuchen, eine einfache IoT-Anwendung zum Senden von Daten von einem Sensorsimulatormodul an ein Empfängergerät (ein PC oder eine Cloud) mithilfe eines Raspberry Pi-Hubs und des Modbus-Protokolls zu erstellen:
Datenfluss von einem Sensorsimulator zu einem Empfängergerät
Bei Geräten mit begrenzten Hardware-Ressourcen ist es sinnvoll, das Modbus-Protokoll für die serielle Kommunikation zu verwenden. Obwohl es einfach ist, hat es mehrere offene und proprietäre Implementierungen, die sich in der Funktionalität unterscheiden.
Beachten Sie, dass dieses Protokoll auf der Transportschicht verwendet werden kann, aber in unserem Beispiel verwenden wir Modbus TCP und arbeiten auf Anwendungsebene.
In der folgenden Tabelle finden Sie eine genauere Beschreibung des Protokolls, um zu verstehen, ob es für Ihre Anforderungen geeignet ist:
Schlüssel Wert Open SourceJa*Die OSI-SchichtTransport oder eine AnwendungDatentypenInteger, float, string, BooleanLimitations• Keine Unterstützung für große Binärobjekte• Der Master-Knoten fragt jedes Gerät regelmäßig auf Datenänderungen ab*
• Maximal 254 Geräte, die über eine einzelne Datenverbindung adressiert sind*
• Nur zusammenhängende Übertragungen sind erlaubt
Mögliche OperationenLesen und Schreiben von Registern und Spulen, DiagnoseLatencyHighUsageSMS, GPRS, Wireline, Wireless, Mesh-KommunikationSecurityNoCompressionNoTabelle 4:Die Spezifikationen des Modbus-Protokolls
Die mit * gekennzeichneten Werte gelten nicht für alle Implementierungen des Modbus-Protokolls.Zum Erstellen der Anwendung benötigen wir Folgendes:
Erforderliche Software:
Node.js 6+ (https:/ /nodejs.org/en/download/ )
PostgreSQL (https://www.postgresql .org/download/ )
The Cloud Foundry CLI (https:// github.com/cloudfoundry/cli#downloads )
Anfrage (https://www.npmjs .com/Paket/Anfrage )
Modbus (https://www.npmjs .com/Paket/Modbus )
Docker (https://docs.docker .com/engine/installation/ )
Erforderliche Hardware:
Raspberry Pi 3 (Modell B)
Ein Netzteil (2A/5V)
Eine microSD-Karte (8 GB+) und ein SD-Adapter
Ein Ethernet-Kabel für eine kabelgebundene Netzwerkverbindung
Vorbereiten einer SD-Karte
Um eine SD-Karte vorzubereiten, befolgen Sie die beschriebene Reihenfolge der Aktionen:
Laden Sie das neueste Raspbian LITE-Image herunter (verfügbar unter https://raspberrypi.org/downloads/raspbian/ ).
Verbinden Sie Ihre SD-Karte mit einem Computer und verwenden Sie Etcher (https://io/ ) um das Raspbian .img Datei auf die SD-Karte.
SSH aktivieren:
cd /Volumes/boot
touch ssh
Um WLAN zu aktivieren, erstellen Sie conf mit folgendem Inhalt:
network={
ssid=”YOUR_SSID”
psk=”YOUR_WIFI_PASSWORD”
}
Erstellen Sie die /home/pi/hub
Erstellen Sie die /home/pi/hub/package.json Datei mit folgendem Inhalt:
{
"Name":"Hub",
"Version":"1.0.0",
"Beschreibung":"",
"main":"index.js", "scripts":{
"start":"node index.js",
"test":"echo "Fehler:kein Test angegeben" &&Ausfahrt 1″
},
"Autor":"",
"Lizenz":"ISC", "Abhängigkeiten":{
"Modbus":"0.0.16 ”,
"Anfrage":"^2.81.0"
}
}
Erstellen Sie die /home/pi/hub/index.js Datei mit folgendem Inhalt, ersetzt REMOTE-SERVER-ADDRESS.com und REMOTE-SENSOR-ADRESSE mit realen Werten:
Erstellen Sie eine /home/pi/hub/Dockerfile Datei mit folgendem Inhalt:
FROM hypriot/rpi-node:boron-onbuild
Ausführen von apt-get update &&apt-get install -y libmodbus5
Erstellen Sie die /home/pi/sensor
Erstellen Sie die /home/pi/sensor/package.json Datei mit folgendem Inhalt:
{
"Name":"Sensor",
"Version":"1.0.0",
"Beschreibung":"",
"main":"index.js", "scripts":{
"start":"node index.js",
"test":"echo "Fehler:kein Test angegeben" &&Ausfahrt 1″
},
"Autor":"",
"Lizenz":"ISC", "Abhängigkeiten":{
"Modbus":"0.0.16 ”
}
}
Erstellen Sie die /home/pi/sensor/index.js Datei mit folgendem Inhalt, ersetzt REMOTE-HUB-ADDRESS.com mit echtem Wert:
Erstellen Sie die /home/pi/sensor/Dockerfile Datei mit folgendem Inhalt:
FROM hypriot/rpi-node:boron-onbuild
Ausführen von apt-get update &&apt-get install -y libmodbus5
Internet der Dinge-Technologie
- Hyperkonnektivität erfordert eine breitere Perspektive
- Edge Computing:5 potenzielle Fallstricke
- Aussichten für die Entwicklung des industriellen IoT
- Upgrade von Industrie 4.0 mit Edge Analytics
- Top 10 der IIoT-Plattformen
- IIoT-Trends und zu beobachtende Herausforderungen
- Verändern Edge Computing und IIoT unser Denken über Daten?
- Was ist IIoT?
- Verwenden von KI und ML zum Extrahieren umsetzbarer Erkenntnisse in Edge-Anwendungen
- Automobil am Rande