Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conecta tu Advantech WISE-4012E a Ubidots
Conecta tu Advantech WISE-4012E a Ubidots

Retrofit o implementar sistemas de monitoreo y control con Advantech y Ubidots

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

El Kit de Desarrollo IoT WISE de Advantech es una solución completa de hardware y software para ayudar a los usuarios a desarrollar aplicaciones IoT y desplegar sus proyectos de la manera más sencilla posible.

El WISE-4012E viene con una interfaz Wi-Fi integrada con modo AP y configuración web accesible tanto desde dispositivos web como móviles directamente. También incluye una placa de expansión para simular el estado del sensor, que luego puede ser enviado automáticamente a la nube. ¡IoT se hace fácil con la serie WISE de Advantech!

El Kit de Desarrollo IoT WISE-4012E es una buena opción para integradores de sistemas e instituciones académicas que buscan desarrollar aplicaciones IoT rápidamente y desplegar POCs con facilidad y fiabilidad, dando a los clientes finales una idea de lo que pueden ser los análisis impulsados por datos y la supervisión inteligente, pero sin los miles de dólares en costos de inicio de POC.

Para asegurar que los datos de sus soluciones puedan ser accedidos y configurados desde cualquier lugar, los dispositivos WISE-4012E y WISE-4000 soportan almacenamiento de datos local, acceso a la nube pública (como Dropbox) y nubes privadas a través de una API web RESTful. Esta última es la opción viable al visualizar datos con Ubidots.

En esta guía detallamos la integración del Advantech WISE-4012E con Ubidots, comenzando desde la Configuración de Hardware y concluyendo con algunos consejos y trucos de aplicación, para que su empresa tenga el mejor comienzo posible.

En la siguiente guía, Ubidots demostrará cómo configurar un Advantech WISE-4012 para mostrar las lecturas de las entradas de la placa de expansión con la plataforma en la nube de Ubidots.

Requisitos

NOTA IMPORTANTE: Esta guía asume que su Raspberry Pi ha sido configurada y está conectada a Internet. Si no, puede hacerlo rápidamente utilizando esta guía de inicio rápido de la Fundación Raspberry Pi.

Tabla de Contenidos

  1. Configuración de Hardware

  2. Sincronizando el RTC

  3. Visualización de Datos

  4. Transmisión de Datos

  5. Enviando datos a Ubidots para visualización

  6. Optimización de Aplicaciones

Configuración de hardware

1. Asegúrese de que el Modo de Operación del WISE esté configurado en Modo Normal, si tiene dudas consulte aquí para notas sobre los modos de operación.

2. Con la ayuda de un destornillador de confianza, conecte la placa de expansión al dispositivo WISE incluido en el Kit de Desarrollo IoT para simular el estado del sensor.

3. Inserte el Micro-B USB en el puerto USB ubicado en el lado del módulo, y también inserte el otro extremo en el USB Tipo-A 5VDC a una fuente de alimentación – PC, notebook, adaptador de corriente USB o banco de energía USB.

4. Una vez que el WISE esté correctamente ensamblado, encienda el dispositivo y escanee las redes disponibles y seleccione el SSID: WISE-4xxx_MAC_Address, espere unos segundos hasta que la conexión se establezca correctamente.

5. Abra su navegador web (se recomienda Google Chrome) e ingrese la URL de la página de configuración: http://192.168.1.1/config :

Luego, inicie sesión con los siguientes parámetros:

  • cuenta: root

  • contraseña: 00000000

6. Desplácese hacia abajo hasta "Información de Red" y seleccione "Ir a Configuración" para conectar el WISE con su red local.

7. En la opción Modo WLAN, seleccione Modo de Infraestructura. Luego, asigne un SSID, Tipo de Seguridad y Clave de Seguridad.

Para finalizar, desplácese hacia abajo y seleccione la casilla DHCP y luego presione Enviar.

Una vez realizados los cambios, recibirá un mensaje de éxito.

8. Ahora que el WISE está conectado a su red, puede usar una aplicación de escáner de red para conocer la nueva dirección IP asignada al WISE. En Ubidots conocemos y amamos fing, que es fácil de usar y está disponible tanto en la Play Store de Google como en la App Store de Apple.

Como puede ver a continuación, en mi caso la Dirección IP asignada fue 192.168.1.24 :

9. Ahora, regrese al navegador, acceda a la página de configuración, pero esta vez usando la nueva Dirección IP asignada, como se muestra a continuación:

Si desea realizar otra configuración adicional para cambiar la cuenta, contraseña, etc... siéntase libre de hacerlo según los requisitos de sus soluciones.

Sincronizando el RTC

La serie WISE-4000 soporta funciones de registro de datos – el estado de E/S puede ser registrado en el módulo y también consultado desde el módulo.

La mayoría del hardware hoy en día viene con un RTC (reloj en tiempo real) que mantiene la hora actual. El WISE-4012E no tiene esto preestablecido, por lo que necesitará sincronizar la hora de sus dispositivos con un servidor Simple Network Time Protocol (SNTP) para confirmar que la hora del RTC es precisa dentro de su dispositivo WISE.

1. Para hacer esto, vaya a Configuración > Hora & Fecha:

Como puede ver arriba, la hora actual no será correcta.

2. Seleccione su Zona Horaria y presione el ícono de guardar. Luego, seleccione el ícono de destornillador para calibrar la hora y fecha con su zona horaria local; una vez que la hora esté calibrada, presione el ícono de guardar para actualizar la hora actual como se muestra a continuación - la nuestra está configurada en Hora Estándar del Este de EE. UU. o GMT -5:00.

Visualización de Datos

Ahora que todo está configurado, verifique si el WISE está tomando la lectura del sensor correctamente.

1. Seleccione la opción Estado de E/S, luego seleccione AI (entradas analógicas). En esta sección, podrá ver los cambios de las entradas analógicas en tiempo real, cambie la posición de los atenuadores de la placa de expansión para ver los cambios.

2. Seleccione la opción Estado de E/S, luego seleccione DI (entradas digitales). En esta sección, podrá ver los cambios de las entradas digitales en tiempo real, cambie la posición del interruptor de la placa de expansión para ver los cambios.

Si puede visualizar los cambios correctamente, su dispositivo está actualizando los valores correctamente.

Transmisión de Datos

Para la transmisión de datos, vamos a usar REST (REpresentational State Transfer) que es un estilo de diseño de arquitectura de software para el comportamiento y servicios de aplicaciones web, incluyendo indicación de imágenes, solicitud y respuesta de recursos, y entrega de mensajes incluidos en los módulos WISE. Gracias a la función REST de ADVANTAGE, podemos simplemente enviar una solicitud HTTP para recuperar los datos de todas las entradas.

Para esta guía, utilizamos una Raspberry Pi como gateway, pero recuerde que para sus soluciones, es mejor elegir un gateway basado en el entorno en el que vivirá. Para una operación industrial, recomendamos encarecidamente esta opción.

1. Con su Raspberry Pi conectada a Internet, verifique la dirección IP asignada a la placa de acceso utilizando ssh en el terminal de su computadora:

ssh pi@{IP_Address_assigned}

Si aún no ha configurado las credenciales de su Raspberry Pi, tenga en cuenta que deberá usar las credenciales predeterminadas proporcionadas:

  • Nombre de Usuario: pi

  • Contraseña: raspberry

Cuando su Pi esté configurada y conectada correctamente, el usuario de su terminal aparecerá como:pi@raspberrypi

2. Ahora vamos a actualizar algunos paquetes e instalar pip, el gestor de paquetes de Python. Copie y pegue los siguientes comandos en su terminal y presione "enter" después de cada uno para ejecutar los comandos.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-pip python-dev build-essential 

3. Luego, instale la biblioteca Request, que es una popular biblioteca de Python que simplifica la realización de solicitudes HTTP. Copie y pegue los siguientes comandos en su terminal y presione "enter" para ejecutar el comando.

$ pip install requests

Enviando datos a Ubidots para visualización

Cree y ejecute el siguiente script de Python en el terminal de su computadora:

$ nano wise-ubidots.py

Luego, pegue el código a continuación y asigne la IP asignada a su WISE (paso 1, punto 8) y su Ubidots TOKEN donde se indica. Una vez que se asigne el token, guarde el código en su terminal:

NOTA: El siguiente código utiliza la cuenta "user" de Wise, que tiene permisos de solo lectura y una contraseña predeterminada: ''00000000." Tenga en cuenta que no hicimos modificaciones a ninguna credencial en esta guía. Si ya ha modificado alguna credencial de su cuenta Wise, debe asignar sus credenciales específicas donde se indica a continuación: (WISE_ACCOUNT, WISE_PASS).

import requestsfrom requests.auth import HTTPBasicAuthimport timeTOKEN = "A1E-MeQ9eYmq8Rj1sID5c1LAR6Pj7bD9ws" # Asigne su TOKEN de UbidotsDEVICE_LABEL = "advantech-wise" # Etiqueta del Dispositivo UbidotsWISE_IP = "192.168.1.24" # Asigne la IP del WISEWISE_ACCOUNT = 'user' # Acceso a la cuenta WISEWISE_PASS = '00000000' # Contraseña de la cuenta WISE# Solicitud GET a la REST de WISEdef get_wise_data(account, password):    # Recuperar información sobre los valores de entrada analógica    r_analog = requests.get('http://' + WISE_IP + '/ai_value/slot_0/', auth=HTTPBasicAuth(account, password))    response_analog = r_analog.json()    # Asignar el valor del canal 0 a una nueva variable    ai_0 = response_analog['AIVal'][0]['Val']    # Asignar el valor del canal 1 a una nueva variable    ai_1 = response_analog['AIVal'][1]['Val']    # Recuperar información sobre los valores de entrada analógica    r_digital = requests.get('http://' + WISE_IP + '/di_value/slot_0/', auth=HTTPBasicAuth(account, password))    response_digital = r_digital.json()    # Asignar el valor del canal 0 a una nueva variable    di_0 = response_digital['DIVal'][0]['Val']    # Asignar el valor del canal 1 a una nueva variable    di_1 = response_digital['DIVal'][1]['Val']    return ai_0, ai_1, di_0, di_1# Construir la carga útil a enviardef build_json(variable_1, value_1, variable_2, value_2, variable_3, value_3, variable_4, value_4):    try:        data = {variable_1: value_1, variable_2: value_2, variable_3: value_3, variable_4: value_4}        return data    except:        return None# Solicitud POST a Ubidotsdef post_ubidots(device, value_1, value_2, value_3, value_4):    try:        url = "https://industrial.api.ubidots.com"        url = url + "/api/v1.6/devices/" + device        headers = {"X-Auth-Token": TOKEN, "Content-Type": "application/json"}        data = build_json("analog_input_0", value_1, "analog_input_1", value_2, "digital_input_0", value_3, "digital_input_1", value_4)        print data        r = requests.post(url=url, headers=headers, json=data)        print r.json()        #return r.json()    except:        passif __name__ == "__main__":    while True:        # Asignar las lecturas de los sensores        ai_0, ai_1, di_0, di_1 = get_wise_data(WISE_ACCOUNT, WISE_PASS)        # POSTear las lecturas de los sensores a Ubidots        post_ubidots(DEVICE_LABEL, ai_0, ai_1, di_0, di_1)        time.sleep(5)

Ahora probemos el script. Pegue y ejecute el siguiente script en el terminal de su computadora.

python wise-ubidots.py

4. Confirme su trabajo - vaya a la sección de Dispositivos y localice el nuevo dispositivo creado llamado "advantech-wise" que contiene las entradas analógicas y digitales del módulo WISE. Recuerde que en este tutorial estamos utilizando la placa de expansión para simular el estado del sensor.

Optimización de Aplicaciones:

Renombrar el Dispositivo y Variables

Los nombres de las variables creadas son los mismos que las etiquetas de la API (ai_0, ai_2, di_0, di_1), que son los ID utilizados por la API. Esto no significa que sus nombres no puedan ser cambiados, por lo que se recomienda cambiar los nombres de sus dispositivos y variables para hacerlos más amigables con la nomenclatura de su solución IoT. Haga clic aquí para aprender cómo renombrar los nombres de su dispositivo y variables.

Configuración de Eventos

Un evento (o alerta) es cualquier acción desencadenada cuando los datos cumplen o superan una regla de diseño lógico. Por ejemplo, se puede enviar un correo electrónico o un mensaje SMS cada vez que un sensor deja de enviar datos o una temperatura supera un umbral máximo o mínimo.

Resultados

El Kit de Desarrollo IoT WISE-4012E ayuda a los desarrolladores a construir y probar aplicaciones para sus clientes con requisitos de integración simples. Construimos esta integración con equipo inicial y un conocimiento simple; con los dispositivos adecuados para su entorno, puede lanzar aplicaciones de monitoreo y control industrial en cuestión de días en lugar de meses para sus clientes, lo que lleva a ahorros de costos y una mayor satisfacción del cliente.

Con sus datos siendo capturados por Ubidots, es hora de crear Tableros y visualizaciones para controlar y monitorear sus máquinas, sistemas y entornos de forma remota, manteniéndolo a usted y a sus clientes felices y la producción en su punto máximo.


¿Ha quedado contestada tu pregunta?