Desarrollo de borde IIoT - Uso de Modbus
Nota del editor:La Internet industrial de las cosas (IIoT) promete proporcionar una visión profunda de las operaciones industriales y mejorar la eficiencia de las máquinas y los sistemas conectados. Las aplicaciones IIoT a gran escala se basan en arquitecturas en capas para recopilar datos de una amplia gama de sensores, mover datos de manera confiable y segura a la nube y realizar los análisis necesarios para brindar esa información y eficiencia. En Desarrollo de aplicaciones de Internet industrial, los autores proporcionan un examen detallado de la arquitectura IIoT y discuten enfoques para cumplir con los requisitos generales asociados con estos sistemas.
Adaptado de Desarrollo de aplicaciones de Internet industrial, por Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli.
Capítulo 3. Desarrollo de bordes de IIoT (continuación)
Por Alena Traukina, Jayant Thomas, Prashant Tyagi, Kishore Reddipalli
Protocolos industriales M2M - Modbus
En esta sección, intentaremos construir una aplicación IoT simple para enviar datos desde un módulo simulador de sensor a un dispositivo receptor (una PC o una nube), utilizando un concentrador Raspberry Pi y el protocolo Modbus:
Flujo de datos desde un simulador de sensor a un dispositivo receptor
Para dispositivos con recursos de hardware limitados, tiene sentido utilizar el protocolo Modbus para la comunicación en serie. Si bien es simple, tiene varias implementaciones abiertas y propietarias que varían en funcionalidad.
Tenga en cuenta que este protocolo se puede utilizar en la capa de transporte, pero, en nuestro ejemplo, vamos a utilizar Modbus TCP, trabajando en el nivel de la aplicación.
En la siguiente tabla, puede encontrar una descripción más detallada del protocolo para comprender si es adecuado para sus necesidades:
Clave Valor Código abierto Sí * La capa OSI Transporte o una aplicación Tipos de datos Entero, flotante, cadena, Limitaciones booleanas • No hay soporte para objetos binarios grandes• El nodo principal sondea periódicamente cada dispositivo en busca de modificaciones de datos *
• Máximo 254 dispositivos direccionados en un solo enlace de datos *
• Solo se permiten transmisiones contiguas
Operaciones posibles Leer y escribir registros y bobinas, diagnósticos Latencia Alto Uso SMS, GPRS, alámbrico, inalámbrico, comunicación en malla Seguridad No Compresión NoTabla 4:Especificaciones del protocolo Modbus
Los valores marcados con * no son aplicables a todas las implementaciones del protocolo Modbus.Para construir la aplicación, necesitaremos lo siguiente:
-
Software necesario:
-
Node.js 6+ ( https:/ /nodejs.org/en/download/ )
-
PostgreSQL ( https://www.postgresql .org / download / )
-
La CLI de Cloud Foundry ( https:// github.com/cloudfoundry/cli#downloads )
-
Solicitud ( https://www.npmjs .com / paquete / solicitud )
-
Modbus ( https://www.npmjs .com / paquete / modbus )
-
Docker ( https://docs.docker .com / motor / instalación / )
-
-
Hardware requerido:
-
Raspberry Pi 3 (modelo B)
-
Un adaptador de corriente (2A / 5V)
-
Una tarjeta microSD (8 GB +) y un adaptador SD
-
Un cable Ethernet para una conexión de red por cable
-
Preparando una tarjeta SD
Para preparar una tarjeta SD, siga la secuencia de acciones descrita:
-
Descargue la última imagen de Raspbian LITE (disponible en https://raspberrypi.org/downloads/raspbian/ ).
-
Conecta tu tarjeta SD a una computadora y usa Etcher ( https:// io / ) para flashear el Raspbian . img archivo a la tarjeta SD.
-
Habilitar SSH:
cd / Volumes / boot
touch ssh
-
Para habilitar Wi-Fi, cree conf con el siguiente contenido:
red ={
ssid =”YOUR_SSID”
psk =”YOUR_WIFI_PASSWORD”
}
-
Cree el / home / pi / hub
-
Cree el / home / pi / hub / package.json archivo con el siguiente contenido:
{
“nombre”:“hub”,
“versión”:“1.0.0”,
“descripción”:“”,
"main":"index.js", "scripts":{
"start":"node index.js",
"test":"echo" Error:no se ha especificado ninguna prueba " &&exit 1 ″
},
“autor”:“”,
“licencia”:“ISC”, “dependencias”:{
“modbus”:“0.0.16 ”,
“ solicitud ”:“ ^ 2.81.0 ”
}
}
-
Cree el / home / pi / hub / index.js archivo con el siguiente contenido, reemplazando REMOTE-SERVER-ADDRESS.com y DIRECCIÓN-SENSOR-REMOTO con valores reales:
-
Cree un / home / pi / hub / Dockerfile archivo con el siguiente contenido:
DE hypriot / rpi-node:boron-onbuild
EJECUTAR apt-get update &&apt-get install -y libmodbus5
-
Cree el / home / pi / sensor
-
Cree el / home / pi / sensor / package.json archivo con el siguiente contenido:
{
“nombre”:“sensor”,
“versión”:“1.0.0”,
“descripción”:“”,
"main":"index.js", "scripts":{
"start":"node index.js",
"test":"echo" Error:no se ha especificado ninguna prueba " &&exit 1 ″
},
“autor”:“”,
“licencia”:“ISC”, “dependencias”:{
“modbus”:“0.0.16 ”
}
}
-
Cree el / home / pi / sensor / index.js archivo con el siguiente contenido, reemplazando REMOTE-HUB-ADDRESS.com con un valor real:
-
Cree el / home / pi / sensor / Dockerfile archivo con el siguiente contenido:
DE hypriot / rpi-node:boron-onbuild
EJECUTAR apt-get update &&apt-get install -y libmodbus5
Tecnología de Internet de las cosas
- Uso de un enfoque centrado en los datos para crear soluciones de IIoT para el cuidado de la salud
- La hiperconectividad exige una perspectiva más amplia
- Computación perimetral:5 trampas potenciales
- Perspectivas para el desarrollo de IoT industrial
- Actualización de Industry 4.0 con análisis de borde
- Las 10 mejores plataformas de IIoT
- Tendencias de IIoT y desafíos a seguir
- ¿La computación perimetral y el IIoT están cambiando la forma en que pensamos sobre los datos?
- ¿Qué es IIoT?
- Uso de IA y ML para extraer información procesable en aplicaciones perimetrales
- Automoción en el borde