Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Serie Advantech: Conecta el ADAM-6717 a Ubidots Usando MQTT
Serie Advantech: Conecta el ADAM-6717 a Ubidots Usando MQTT

Este artículo explora cómo enviar datos a Ubidots desde un ADAM-6717.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de una semana

El ADAM-6717 es un módulo de adquisición de datos de borde que ejecuta Linux con capacidades de gateway. Entre sus características más notables se encuentra la posibilidad de ejecutar Node-Red, reduciendo así la carga de programación manual.


La siguiente guía técnica describe los pasos de configuración en Node-Red para conectar el ADAM-6717 a un sensor de temperatura y humedad a través de Modbus RTU y enviar los datos obtenidos a Ubidots vía MQTT.

Requisitos

1. Configurar las conexiones del ADAM-6717

  • Conecte el ADAM-6717 a la fuente de alimentación. La entrada de alimentación recomendada es de 10-30 V CC. Aquí puede consultar las especificaciones del dispositivo.

  • Espere a que el LED de “Status” comience a parpadear. Esto significa que el módulo se ha iniciado correctamente.

  • Conecte el ADAM-6717 a su enrutador usando un cable Ethernet.

  • Conecte el sensor al puerto Modbus. En este artículo, se utilizaron D0+ y D0-, sin embargo, también puede optar por usar D1+ y D1-.

2. Obtener la dirección IP del ADAM-6717

  • Para Windows:

    • Descargue la utilidad ADAM/Apax.NET aquí según su arquitectura.

    • Lance la utilidad.

    • Haga clic derecho en el ícono de Ethernet y haga clic en "search device".

    • Todos los dispositivos ADAM conectados a la red se listarán en la utilidad junto con su correspondiente IP.

    • Copie esta dirección IP en un bloc de notas.

  • Para Linux:

    • Abra una terminal de comandos.

    • Ejecute el siguiente comando en la terminal:

      ifconfig

    • Esto devolverá información sobre sus interfaces de conexión. Dependiendo de su interfaz de conexión (inalámbrica o Ethernet), debe copiar la dirección IP que se muestra.

    Component 4.png
    • En este ejemplo, la PC está conectada a la red local vía Wi-Fi, por lo que la dirección IP mostrada arriba corresponde a la PC.

    • Ejecute el siguiente comando, reemplazando “192.168.1.41 ” con la dirección IP que obtuvo en el paso anterior:

      sudo nmap -sn 192.168.1.41/24

    • Por ejemplo, si la dirección IP de su PC es 10.0.0.1, entonces debe ejecutar el comando como:

      sudo nmap -sn 10.0.0.1/24

    • Al hacerlo, se mostrarán todos los dispositivos conectados a la misma red que su PC:

    • Entre la lista de diferentes dispositivos, busque el que se muestra como “Texas Instruments” y copie su dirección IP, esta es la dirección IP del ADAM:

3. Lanzar Node-Red en el ADAM-6717

  • Vaya a su navegador web preferido y escriba la dirección IP del ADAM en la barra de búsqueda.

  • Haga clic en la segunda opción, “Graphic programming tool by Node-RED”.

  • Cuando se le solicite un nombre de usuario y una contraseña, ingrese las siguientes credenciales:

    • Nombre de usuario: root

    • Contraseña: 00000000

  • Después de hacerlo, el entorno de Node-Red se mostrará en su navegador:

4. Instalar los nodos MQTT de Ubidots en el ADAM-6717

Necesita iniciar una sesión SSH en el ADAM para permitir que el sistema de archivos sea R/W. Estos pasos explican el proceso según su sistema operativo:

  • Para Windows OS:

    • Use PuTTY para iniciar una sesión SSH en el ADAM:

    • El usuario root no tiene una contraseña establecida, por lo que cuando se le solicite, simplemente presione la tecla “Enter” en su teclado.

  • Para sistemas operativos basados en Linux:

    • Inicie una sesión SSH en el ADAM ejecutando el siguiente comando en una terminal:

    ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@192.168.1.32

    • Tenga en cuenta que necesita cambiar “192.168.1.32” por la dirección IP de su ADAM.

    • Se le pedirá una contraseña, pero no ingrese nada, solo presione la tecla “Enter” en su teclado.

  • Independientemente de su sistema operativo, una vez dentro del ADAM, ejecute el siguiente comando:

remountfs rw 1000
  • Debería obtener una salida como esta:

  • Ejecute el siguiente comando:

reboot

  • En este punto, el dispositivo ADAM se reiniciará.

  • Espere a que el LED de estado del ADAM comience a parpadear.

  • Inicie nuevamente una sesión SSH en el ADAM como se mencionó al principio de esta sección.

  • Ejecute el siguiente comando:

    npm install ubidots-nodered

  • Pueden aparecer un par de advertencias, puede ignorarlas.

  • Una vez que la instalación haya terminado, ejecute el siguiente comando:

    reboot


Consejo profesional: Por razones de seguridad, debe establecer el valor de remountfs a su valor predeterminado. Puede hacerlo siguiendo los pasos anteriores


5. Configurar el nodo de lectura de temperatura y humedad

  • Busque el nodo “Modbus Read” y colóquelo en el espacio de trabajo.

  • Haga doble clic en él para mostrar su configuración.

  • Haga clic en el ícono de lápiz en la sección de configuración del “Server”.

  • Se mostrará el siguiente menú. Allí, edite la configuración de la siguiente manera:

    • Nombre: Establezca cualquier nombre que considere apropiado.

    • Tipo: Serial Expert.

    • Puerto serie: haga clic en el ícono de lupa.

      • Seleccione “/dev/ttyAP0” si está utilizando la interfaz Modbus 0 (D0+, D0-).

      • Seleccione “/dev/ttyAP1” si está utilizando la interfaz Modbus 1 (D1+, D1-).

    • Tipo de serie: RTU-BUFFERED.

    • Baud rate: Establézcalo según la velocidad en baudios del sensor que esté utilizando. En este ejemplo, el sensor está configurado para operar a 9600 baudios. Debe igualar este valor según su sensor.

    • Bits de datos: Esta configuración depende de su sensor.

    • Bits de parada: Esta configuración depende de su sensor.

    • Paridad: Esta configuración depende de su sensor.

    • Unit-id: Esta es la dirección del esclavo Modbus que está utilizando. Ajuste este valor según sus especificaciones.

  • Deje todas las demás configuraciones en su configuración predeterminada y haga clic en el botón “Add”.

  • Edite la configuración de la siguiente manera:

    • Nombre: establezca cualquier nombre que considere apropiado.

    • Tema: dejar en blanco.

    • Unit-id: Esta es la dirección del sensor/esclavo en la red Modbus. Cambie este valor según su configuración.

    • FC: FC 4: Leer registros de entrada.

    • Dirección: Esta es la dirección del registro de entrada que contiene los datos que desea leer. El sensor utilizado en este ejemplo almacena el valor de temperatura en la 'dirección 1' y la humedad se encuentra en la 'dirección 2'. Debe ajustar estos valores según su sensor.

    • Cantidad: 2. Esta es la cantidad de registros a leer. Configurar este valor en 2 significa que se leerán 2 registros contiguos: temperatura y humedad. Si desea leer solo 1 registro, establezca este valor en 1.

    • Tasa de sondeo: Esta es la frecuencia con la que se recuperarán los datos del sensor. Establezca este valor según sus necesidades.

  • Haga clic en el botón “Done”.

  • Busque el nodo “Function” y arrástrelo al espacio de trabajo.

  • Haga doble clic en él para abrir su configuración.

Component 15(1).png
  • Pegue el siguiente código:

var timestamp = new Date();
var timestamp = new Date();
msg.payload =
{
"temperature":{
"value":msg.payload.data[0]/10,
"timestamp":timestamp
},
"humidity":{
"value":msg.payload.data[1]/10,
"timestamp":timestamp
}

};
return msg;
  • Haga clic en el botón “Done”.

  • Busque el nodo “Debug” y arrástrelo al espacio de trabajo.

  • Busque el nodo “Modbus Response” y arrástrelo al espacio de trabajo.

  • Conecte los nodos como se muestra a continuación y luego presione el botón “Deploy”.

  • Haga clic en el botón “Done”.

image.png
  • Una vez que el despliegue haya terminado, haga clic en el botón “Debug” y podrá ver la temperatura y la humedad medidas por el sensor, así como la marca de tiempo con la que se envían los datos.

Component 22(1).png

6. Configurar el nodo MQTT

  • Busque el nodo ubidots_out y arrástrelo al espacio de trabajo.

  • Una el nodo ubidots_out directamente a la salida del nodo Function. Debería verse así:

image 163.png
  • Haga lo siguiente para cada uno de los dos nodos ubidots_out:

    • Haga doble clic en él para abrir su configuración.

    • En “Account type” seleccione “Ubidots”.

    • En el campo “Name”, escriba su nombre de usuario de la cuenta Ubidots.

    • En el campo “Token”, escriba su token de Ubidots.

    • En el campo “Device Label”, escriba el nombre que desea que se muestre en Ubidots para este dispositivo.

    • Haga clic en el botón “Done”.

  • Una vez hecho esto, despliegue el flujo actual.

image 164.png

7. Visualizar los datos en Ubidots

  • Vaya a su cuenta de Ubidots → Dispositivos y podrá ver que se creó un nuevo dispositivo con el “Device Label” que configuró en la sección anterior.

Component 21(1).png
¿Ha quedado contestada tu pregunta?