Développement IIoT en edge avec Modbus : flux de données capteur sécurisé sur Raspberry Pi
Adapté de Industrial Internet Application Development, par Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli.
Chapitre 3. Développement IIoT en périphérie (suite)
Protocoles M2M industriels – Modbus
Dans cette section, nous construisons une application IoT compacte qui envoie des données de capteur depuis un hub Raspberry Pi vers un périphérique récepteur (PC ou cloud) en utilisant Modbus TCP, la variante couche application de Modbus.
Modbus est idéal pour les appareils au matériel contraint : il est simple, open source et largement supporté. Voici un aperçu concis des spécifications pour vous aider à décider si Modbus répond à vos besoins.
| Clé | Valeur |
|---|---|
| Open source | Oui* |
| Couche OSI | Transport ou Application |
| Types de données | Entier, flottant, chaîne, booléen |
| Limitations | • Pas d'objets binaires volumineux • Le maître interroge les périphériques pour les changements* • Max 254 périphériques par lien* • Transmissions contiguës uniquement |
| Opérations | Lecture/écriture registres & bobines, diagnostics |
| Latence | Élevée |
| Usage | SMS, GPRS, filaire, sans fil, mesh |
| Sécurité | Aucune |
| Compression | Aucune |
Les valeurs marquées * varient selon les implémentations.
Blocs de construction
- Logiciels requis :
- Node.js 6+ (téléchargement)
- PostgreSQL (téléchargement)
- Cloud Foundry CLI (téléchargement)
- Package npm Request (page npm)
- Package npm Modbus (page npm)
- Docker (guide d'installation)
- Matériel requis :
- Raspberry Pi 3 Modèle B
- Adaptateur d'alimentation 2 A/5 V
- Carte microSD 8 Go+ avec adaptateur
- Câble Ethernet pour réseau filaire
Préparation de la carte SD
- Téléchargez la dernière image Raspbian Lite depuis Téléchargements Raspberry Pi.
- Insérez la carte SD dans un ordinateur et flashez l'image avec Etcher (https://www.balena.io/etcher/).
- Activez SSH en créant un fichier vide nommé
sshdans la partition de démarrage :cd /Volumes/boot touch ssh
- Pour activer le Wi-Fi, créez
network.confavec :
network={ ssid="VOTRE_SSID" psk="VOTRE_MOT_DE_PASSE_WIFI" }
Utilisez nano pour éditer le fichier dans la console Linux.
- Créez le répertoire du projet :
/home/pi/hub. - Dans
/home/pi/hub/package.jsonajoutez :
{ "name": "hub", "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": { "modbus": "0.0.16", "request": "^2.81.0" } }
- Dans
/home/pi/hub/index.jsimplémentez le client Modbus pour envoyer les données à votre serveur. Remplacez les placeholders par de vraies adresses :const modbus = require('modbus'); const request = require('request'); // Exemple : lire registre capteur et POST vers serveur distant // (insérer la logique réelle ici)
- Créez
/home/pi/hub/Dockerfile:FROM hypriot/rpi-node:boron-onbuild RUN apt-get update && apt-get install -y libmodbus5
- Créez le répertoire du projet capteur :
/home/pi/sensor.
- Dans
/home/pi/sensor/package.jsonajoutez :{ "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": { "modbus": "0.0.16" } }
- Dans
/home/pi/sensor/index.jsimplémentez le simulateur de capteur et le client Modbus TCP. RemplacezADRESSE-HUB-DISTANT.compar l'IP ou le nom d'hôte du hub :const modbus = require('modbus'); // Exemple : simuler lecture capteur et écrire sur Modbus // (insérer la logique réelle ici) - Créez
/home/pi/sensor/Dockerfile:FROM hypriot/rpi-node:boron-onbuild RUN apt-get update && apt-get install -y libmodbus5
Déploiement de la solution
Construisez les images Docker, poussez-les vers un registre, et exécutez les conteneurs sur le Raspberry Pi. Assurez-vous que les conteneurs hub et capteur peuvent communiquer sur le réseau local. Une fois déployé, le simulateur de capteur publiera les données via Modbus TCP vers le hub, qui les transférera vers votre point de terminaison cloud.
En suivant ce guide, vous aurez une pile IIoT edge robuste, à faible surcharge, qui démontre la puissance de Modbus dans des scénarios industriels réels.
Technologie de l'Internet des objets
- Naviguer dans l'Internet de tout : meilleures pratiques pour une hyperconnectivité réussie
- Edge Computing : 5 pièges potentiels — et comment les surmonter
- Élever l'Industrie 4.0 : exploiter l'analytics de bord pour une manufacture plus intelligente, plus rapide
- Le guide définitif des 10 meilleures plateformes IoT industrielles (2024)
- Tendances et Défis de l'IIoT : Surcharge de Données, Mutations Manufacturières et Gap de Compétences
- Edge Computing et IIoT : Transformer la stratégie des données industrielles
- Internet industriel des objets (IIoT) : définition, portée et impact industriel
- Débloquer des insights exploitables en périphérie avec l'IA et le ML
- L'informatique de pointe transforme l'industrie automobile : innovation et conduite autonome