Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar un Siemens SIMATIC IOT2000 a Ubidots a través de MQTT usando NodeRED
Conectar un Siemens SIMATIC IOT2000 a Ubidots a través de MQTT usando NodeRED

Lanza o moderniza tus aplicaciones industriales y de automatización con Siemens y Ubidots.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 3 meses

La simplicidad de Arduino combinada con la fiabilidad y la historia de Siemens hace que la serie SIMATIC IOT2000 sea una elección perfecta para modernizar o implementar el IoT en fábricas o instituciones más inteligentes que exploran opciones de conectividad o modernización. Nuevos sensores en máquinas antiguas o simplemente actualizar sensores hace que la serie SIMATIC IOT2000 sea perfecta, ya que armoniza, analiza y reenvía datos de manera eficiente con protocolos comunes como HTTP y MQTT. Basada en un Yocto Linux, la serie SIMATIC IOT2000 incluye los modelos IoT2020 e IoT2040, que son compatibles con la mayoría de los Sketches de Arduino y se pueden cargar directamente desde el IDE de Arduino. El IOT2040 es ideal para fábricas, mientras que el IOT2020 es mejor en instituciones educativas con sus periféricos adicionales y protocolos de comunicación.

En esta guía detallamos la integración del Siemens SIMATIC IOT 2000 con Ubidots, utilizando un dispositivo externo comunicado por serie a través de la interfaz RS-485 con el SIMATIC IOT 2000. Luego terminaremos configurando un flujo en Node-RED para transmitir los datos obtenidos del gateway a Ubidots a través de MQTT.

Disponible en dos versiones, el IoT 2020 diseñado para instituciones educativas y espacios públicos, mientras que el IoT 2040 está optimizado para entornos industriales. Si deseas aprender más, consulta el soporte y foros de SIMATIC IOT 2000.

Requisitos

Primero, debes registrarte o tener acceso al Portal de Soporte de Siemens para descargar todas las configuraciones iniciales. Este portal también proporcionará solución de problemas y soporte de Siemens sobre cualquier consulta relacionada con hardware. Toda la serie IOT2000 está configurada de la misma manera, por favor sigue este tutorial para cualquier dispositivo de la serie.

Paso a Paso

  1. Configuración de la serie Siemens SIMATIC IoT 2000

  2. Configuración de hardware

  3. Configuración de firmware - Arduino IDE

  4. Configuración de SIMATIC IOT2000 con Node-RED

  5. Visualización de datos en Ubidots

  6. Resumen

1. Configuración de la serie Siemens SIMATIC IoT 2000

Si esta es tu primera vez trabajando con la serie Siemens SIMATIC IoT 2000, hemos creado una guía de inicio específicamente para el Siemens SIMATIC IoT 2000 para ayudarte en la configuración del dispositivo para comunicarte fácilmente con Ubidots.

2. Configuración de hardware

SIMATIC IOT2000 con Arduino (dispositivo externo)

Según tu entorno y requisitos técnicos, elige el mejor dispositivo para completar tu proyecto. Asegúrate de que tu dispositivo esté transmitiendo datos a través de RS485.

Nuestro proyecto requiere un simple Arduino UNO utilizando un shield RS485 con un sensor de humedad para transmitir sus valores a Ubidots.

  • Configuración de hardware

Regla de seguridad: Para evitar cualquier problema de hardware, asegúrate de que el SIEMENS IOT2000 esté apagado antes de realizar las conexiones:

Conexiones de Arduino

1. Primero, conecta el Arduino Grove Shield al Arduino UNO y luego conecta el shield RS485.

2. Conecta el sensor de Humedad al pinout A0 del Grove Shield utilizando un cable grove. Una vez que todo esté correctamente conectado, tu pila de Arduino se verá similar a la siguiente:

3. Verifica si los encabezados del shield RS485 están correctamente asignados con la configuración a continuación:

  • P1 -> 5V

  • P2 -> TX_CTRL

  • D2 -> TX

  • D3 -> RX

Conexiones RS485

Haz clic aquí para obtener información más detallada sobre las instrucciones de operación del SIMATIC IOT 2000.

1. El X30 COM y X31 COM te permiten trabajar con interfaces RS232/RS422/RS485; en este caso, vamos a trabajar con el X30 COM - RS485.

Conector Pinout:

2. Sigue la tabla a continuación para realizar la conexión entre el shield RS485 de Arduino y el SIMATIC IOT2000:

3. Configuración de firmware - Arduino IDE

1. Abre el Arduino IDE.

2. Selecciona el Arduino UNO del menú Herramientas –> Placa

3. Conecta el Arduino UNO a tu computadora y selecciona el puerto COM asignado desde Herramientas –> Puerto –> Arduino UNO.

4. Ahora, con todo configurado, copia y pega el código de ejemplo a continuación en el Arduino IDE.

#include <SoftwareSerial.h>int sensor = A0;SoftwareSerial mySerial(3,2);void setup() {  mySerial.begin (9600);  Serial.begin(9600);  pinMode(sensor, INPUT);} void loop() {  int sensor_value = analogRead(sensor);  mySerial.println (sensor_value);  Serial.println(sensor_value);  delay(1000);}  

5. Verifica y sube el código eligiendo el icono de "marca de verificación" y luego el icono de "flecha a la derecha" junto al icono de marca de verificación.

Ahora tu Arduino UNO está enviando datos al Siemens SIMATIC IOT 2000 correctamente.

4. Configuración de SIMATIC IOT2000 con Node-RED

Antes de comenzar con el flujo de Node-RED, debemos establecer algunas configuraciones en el SIMATIC IOT2000. Por favor, sigue los pasos a continuación cuidadosamente para asegurar el correcto funcionamiento:

Gestor de paquetes:

  1. Ve al directorio opkg usando la terminal de Siemens:

cd /etc/opkg

2. Edita el archivo opkg.conf añadiendo las líneas a continuación al final del archivo:

src iotdk-all http://iotdk.intel.com/repos/2.0/iotdk/allsrc iotdk-i586 http://iotdk.intel.com/repos/2.0/iotdk/i586src iotdk-quark http://iotdk.intel.com/repos/2.0/iotdk/quarksrc iotdk-x86 http://iotdk.intel.com/repos/2.0/iotdk/x86

3. A continuación, edita el archivo arch.conf añadiendo las líneas a continuación al final del archivo:

arch i586 12arch quark 13arch x86 14

4. Actualiza las configuraciones ajustadas con el siguiente comando de ejecución:

opkg update

5. Escribe iot2000setup para abrir la interfaz de configuración y configurar el X30 COM como RS-485.
Para hacer esto, selecciona Periféricos –> Configurar Puerto COM Externo –> X30 –> RS485:

6. Asigna la velocidad de baudios al puerto con el siguiente comando:

stty -F /dev/ttyS2 9600

7. Reinicia el SIMATIC para guardar los cambios con el comando reboot :

Node-RED:

1. Escribe el siguiente comando en la terminal de Siemens para entrar al directorio de Node-RED:

cd /usr/lib/node_modules/ 

2. Luego, instala el nodo requerido escribiendo el siguiente comando:

npm install -g node-red-contrib-modbus

Este proceso tomará un par de minutos, así que por favor ten paciencia.

NOTA: Si tienes un problema al instalar el nodo, consulta estos consejos y trucos para solucionar más.

3. Para iniciar Node-RED, ingresa y ejecuta el siguiente comando:

node /usr/lib/node_modules/node-red/red &

Una vez que Node-RED haya comenzado correctamente, deberías ver el comportamiento a continuación en tu SIMATIC IOT2000. Ten en cuenta que puede tardar un par de minutos:

3. Una vez que Node-RED esté iniciado, abre un navegador web (firefox, preferiblemente) y escribe la dirección IP del SIMATIC IOT2000 y el puerto 1880 (es decir,
http://192.168.200.1:1880) para abrir la interfaz web de Node-RED.

4. A continuación, haz clic en el menú de Node-RED en la esquina superior derecha, luego en “Importar” –> “Portapapeles” y pega el código a continuación:

[    {        "id":"38e1405b.5796d",        "type":"serial in",        "z":"c88a5f47.16d498",        "name":"rs-485",        "serial":"8bf5451a.2fb14",        "x":170.5,        "y":223,        "wires":[            [                "f7937636.d26448",                "ae2f3a52.32f23"            ]        ]    },    {        "id":"f7937636.d26448",        "type":"debug",        "z":"c88a5f47.16d498",        "name":"",        "active":true,        "console":"false",        "complete":"false",        "x":377.5,        "y":121,        "wires":[]    },    {        "id":"ae2f3a52.32f23",        "type":"function",        "z":"c88a5f47.16d498",        "name":"función de análisis",        "func":"var response = {};\nresponse.payload = {\"humidity\": msg.payload};\nresponse.topic = \"/v1.6/devices/siemens\";\nreturn response;",        "outputs":1,        "noerr":0,        "x":374.5,        "y":223,        "wires":[            [                "51bcbd87.0af04c"            ]        ]    },    {        "id":"51bcbd87.0af04c",        "type":"mqtt out",        "z":"c88a5f47.16d498",        "name":"",        "topic":"",        "qos":"",        "retain":"",        "broker":"cefb900f.f02ca8",        "x":605.5,        "y":222,        "wires":[]    },    {        "id":"8bf5451a.2fb14",        "type":"serial-port",        "z":"",        "serialport":"/dev/ttyS2",        "serialbaud":"9600",        "databits":"8",        "parity":"none",        "stopbits":"1",        "newline":"\\n",        "bin":"false",        "out":"char",        "addchar":false    },    {        "id":"cefb900f.f02ca8",        "type":"mqtt-broker",        "z":"",        "broker":"industrial.api.ubidots.com",        "port":"1883","clientid":"",        "usetls":false,        "compatmode":true,        "keepalive":"60",        "cleansession":true,        "willTopic":"",        "willQos":"0",        "willPayload":"",        "birthTopic":"",        "birthQos":"0",        "birthPayload":""    }]

5. Asigna tu TOKEN de Ubidots como nombre de usuario en la pestaña de seguridad del nodo del broker MQTT. Si no sabes cómo obtener tu TOKEN de Ubidots, consulta esta guía.

Una vez que el TOKEN de Ubidots esté asignado, presiona Desplegar y el estado del nodo serial y mqtt debería aparecer como conectado. Además, si deseas visualizar el valor del sensor recibido, simplemente presiona la pestaña de depuración:

CONSEJO PROFESIONAL: El equipo de Ubidots construyó un Nodo de NodeRed para comunicar datos a Ubidots a través de MQTT de manera sencilla. Si deseas aprender cómo instalar este nodo y cómo usarlo de manera eficiente, consulta esta guía, que explica cómo PUBLICAR y SUSCRIBIR datos.

5. Visualización de datos en Ubidots

Ve a la sección de dispositivos de tu cuenta de Ubidots y verás un nuevo dispositivo creado:

Ingresa al dispositivo y verás el dispositivo y la variable creados con los datos en tiempo real del sensor conectado:

Si deseas modificar el nombre del dispositivo y las variables, puedes editar fácilmente la función de análisis creada en el flujo de Node-RED:

6. Resumen

En lo que pareció ser un proceso demasiado fácil para el hardware, acabamos de integrar el SIMATIC IOT2000 para comunicar y actualizar datos en la nube, la nube de Ubidots. Construimos esta integración con equipos iniciales y un conocimiento simple, pero con los dispositivos adecuados para tu entorno, podrás lanzar aplicaciones industriales en cuestión de días en lugar de meses.

Ahora es el momento de crear Dashboards de Ubidots para visualizar e interpretar tus datos para controlar y monitorear tus máquinas y entornos de forma remota, manteniendo a tus clientes satisfechos y la producción en su punto máximo.

Otros lectores también han encontrado útil...

¿Ha quedado contestada tu pregunta?