IIoT edge-ontwikkeling – Modbus gebruiken
Noot van de redactie:het Industrial Internet of Things (IIoT) belooft diepgaand inzicht te geven in industriële operaties en de efficiëntie van verbonden machines en systemen te verbeteren. Grootschalige IIoT-applicaties vertrouwen op gelaagde architecturen om gegevens van een breed scala aan sensoren te verzamelen, gegevens betrouwbaar en veilig naar de cloud te verplaatsen en analyses uit te voeren die nodig zijn om dat inzicht en die efficiëntie te leveren. In Industrial Internet Application Development geven de auteurs een gedetailleerd onderzoek van de IIoT-architectuur en bespreken ze benaderingen om te voldoen aan de brede vereisten die aan deze systemen zijn verbonden.
Aangepast van Industrial Internet Application Development, door Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli.
Hoofdstuk 3. IIoT Edge-ontwikkeling (vervolg)
Door Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli
Industriële M2M-protocollen – Modbus
In deze sectie zullen we proberen een eenvoudige IoT-toepassing te bouwen voor het verzenden van gegevens van een sensorsimulatormodule naar een ontvangerapparaat (een pc of een cloud), met behulp van een Raspberry Pi-hub en het Modbus-protocol:
Gegevensstroom van een sensorsimulator naar een ontvangend apparaat
Voor apparaten met beperkte hardwarebronnen is het zinvol om het Modbus-protocol te gebruiken voor seriële communicatie. Hoewel het eenvoudig is, heeft het verschillende open en eigen implementaties die variëren in functionaliteit.
Merk op dat dit protocol kan worden gebruikt op de transportlaag, maar in ons voorbeeld gaan we Modbus TCP gebruiken, werkend op applicatieniveau.
In de volgende tabel vindt u een meer gedetailleerde beschrijving van het protocol om te zien of het geschikt is voor uw behoeften:
Sleutel Waarde Open sourceJa*De OSI-laagTransport of een toepassingGegevenstypenInteger, float, string, BooleanBeperkingen• Geen ondersteuning voor grote binaire objecten• De master node ondervraagt regelmatig elk apparaat voor gegevenswijzigingen*
• Maximaal 254 apparaten geadresseerd op een enkele datalink*
• Alleen aaneengesloten uitzendingen zijn toegestaan
Mogelijke bewerkingenRegisters en spoelen lezen en schrijven, diagnostiekLatencyHighUsageSMS, GPRS, wireline, wireless, mesh-communicatieBeveiligingNeeCompressieNeeTabel 4:De specificaties van het Modbus-protocol
De met * gemarkeerde waarden zijn niet van toepassing op alle implementaties van het Modbus-protocol.Voor het bouwen van de applicatie hebben we het volgende nodig:
Vereiste 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 )
Verzoek (https://www.npmjs .com/package/request )
Modbus (https://www.npmjs .com/package/modbus )
Docker (https://docs.docker .com/engine/installation/ )
Vereiste hardware:
Raspberry Pi 3 (model B)
Een voedingsadapter (2A/5V)
Een microSD-kaart (8 GB+) en een SD-adapter
Een Ethernet-kabel voor een bekabelde netwerkverbinding
Een SD-kaart voorbereiden
Om een SD-kaart voor te bereiden, volgt u de volgorde van acties zoals beschreven:
Download de nieuwste Raspbian LITE-afbeelding (beschikbaar op https://raspberrypi.org/downloads/raspbian/ ).
Sluit je SD-kaart aan op een computer en gebruik Etcher (https://io/ ) om de Raspbian .img bestand naar de SD-kaart.
SSH inschakelen:
cd /Volumes/boot
touch ssh
Als u wifi wilt inschakelen, maakt u conf met de volgende inhoud:
network={
ssid=”YOUR_SSID”
psk=”YOUR_WIFI_PASSWORD”
}
Maak de /home/pi/hub
Maak de /home/pi/hub/package.json bestand met de volgende inhoud:
{
“name”:“hub”,
“version”:“1.0.0”,
“description”:“”,
“main”:“index.js”, “scripts”:{
“start”:“node index.js”,
“test”:“echo “Fout:geen test gespecificeerd” &&exit 1″
},
“author”:“”,
“license”:“ISC”, “dependencies”:{
“modbus”:“0.0.16 ”,
“verzoek”:“^2.81.0”
}
}
Maak de /home/pi/hub/index.js bestand met de volgende inhoud, ter vervanging van REMOTE-SERVER-ADDRESS.com en REMOTE-SENSOR-ADRES met echte waarden:
Maak een /home/pi/hub/Dockerfile bestand met de volgende inhoud:
VAN hypriot/rpi-node:boron-onbuild
RUN apt-get update &&apt-get install -y libmodbus5
Maak de /home/pi/sensor
Maak de /home/pi/sensor/package.json bestand met de volgende inhoud:
{
“name”:“sensor”,
“version”:“1.0.0”,
“description”:“”,
“main”:“index.js”, “scripts”:{
“start”:“node index.js”,
“test”:“echo “Fout:geen test gespecificeerd” &&exit 1″
},
“author”:“”,
“license”:“ISC”, “dependencies”:{
“modbus”:“0.0.16 ”
}
}
Maak de /home/pi/sensor/index.js bestand met de volgende inhoud, ter vervanging van REMOTE-HUB-ADDRESS.com met een echte waarde:
Maak de /home/pi/sensor/Dockerfile bestand met de volgende inhoud:
FROM hypriot/rpi-node:boron-onbuild
RUN apt-get update &&apt-get install -y libmodbus5
Internet of Things-technologie
- Een datacentrische benadering gebruiken voor het bouwen van IIoT-oplossingen voor de gezondheidszorg
- Hyperconnectiviteit vraagt om een breder perspectief
- Edge computing:5 mogelijke valkuilen
- Vooruitzichten voor de ontwikkeling van industrieel IoT
- Industrie 4.0 upgraden met edge-analyse
- Top 10 IIoT-platforms
- IIoT-trends en uitdagingen om te bekijken
- Veranderen edge computing en IIoT de manier waarop we over data denken?
- Wat is IIoT?
- AI en ML gebruiken om bruikbare inzichten in edge-applicaties te extraheren
- Automotive aan de rand