¿Cómo configurar el agente IoT en los nodos?

Introducción


En este tutorial explicaremos cómo desplegar el agente Edge o iota para disponer del alta del dispositivo previamente generado en el Edge Magnament System/ IoT Edge Hub.

Conexión EMS-IoTa

Las principales funcionalidades del Agente Edge son las siguientes:

  • Inicia y gestiona (en caso de desconexión) el canal que permite el flujo de la información de comando y control desde el IoT hub soportado con MQTT/TLS. La apertura TLS se realiza con los certificados desplegados en la instalación.

  • Comunica el nodo egde con módulos internos de IOT HUB, en concreto, el Registro de Imágenes Docker y el Git de repositorios de configuración.

  • Procesa todos los comandos envidos desde IOT HUB:

    • Comandos de tunneling inverso para SSH, monitorización e información, de estado hardware y estado software del nodo edge.

    • Comandos de actualización de configuración docker-compose y Ansible para modificar/desplegar aplicaciones (contenedores en el nodo edge).

    • Comandos directos con scripting de OS que permiten el update de librerías, la aplicación de parches o el control a bajo nivel de elementos hardware (ej.- modem 4G).

Instalación Iota

Instalación Iota en Debian Ubuntu

Para realizar la instalación del agente en ubuntu se ha de realizar:

Importar la KEY necesaria para la conexión con el repositorio (necesario solo la primera vez que se instala):

sudo wget --no-check-certificate -q -O - https://iothub01.onesaitplatform.com:8443/iota/debian/KEY.gpg | apt-key add -

Añadir el repositorio emslab a la lista de repositorios del sistema (necesario solo la primera vez que se instala) :

sudo echo "deb [trusted=yes] https://iothub01.onesaitplatform.com:8443/iota/debian ./" >> /etc/apt/sources.list

Actualizamos el repositorio e instalamos el agente:

sudo apt-get update sudo apt-get install iota -y

 

Para actualizar el agente se debería de lanzar el siguiente comando:

Instalación Iota en Fedora/Centos

Para realizar la instalación del agente en Fedora/Centos se ha de lanzar la instalación mediante yum:

Para actualizar, primero debemos desinstalar el paquete y luego volver a instalarlo:

Estado Iota

Para confirmar la instalación del agente, ejecutamos el siguiente comando para ver su estado:

Respuesta status iota

Configuración Edge Device

Una vez el agente está instalado debemos descargar el fichero de encriptación del dispositivo dado de alta previamente (ver Primeros pasos) e introducirlo en el dispositivo, para ello debemos hacer lo siguiente:

Una vez tenemos descargado el fichero, volvemos a la terminal del dispositivo para crear la carpeta en la que introduciremos el encriptado del agente ( iotagent.enc ) en la ruta de configuración /opt/iothub/conf

Una vez hecho esto, el iota reconocerá automaticamente el encriptado y abrirá la comunicación con el EMS, validando dicha comunicación mediante el canal de control.

 

Una vez conectados podemos acceder a diversas acciones sobre los dispositivos :

  • El primer indicador que nos encontramos es un desplegable, permitiendo la edición y borrado del dispositivo, la descarga del fichero encriptado para conexión del agente y el acceso a los tópicos MQTT en los que realizamos la conexión para poder recuperar posteriormente la información en la plataforma de destino (tópicos diferenciandos entre canales de control y negocio):

  • El siguiente elemento, dispondremos del de un acceso mendiante una consola con conexión ssh, permitiendo un acceso remoto al dispositivo, para realizar tareas de programación o mantenimiento en su interior.

  • Dentro de las funcionalidades principales del sistema, encontramos como tercera opción el envío de comandos, tanto de manera individual o grupal, permitiendo realizar actualizaciones o despliegue de nuevas aplicaciones:

  • Por último, la plataforma nos permite acceder a estadísticas del dispositivo, podremos acceder a ellas desde la gestión de dispositivos, donde encontramos:

  1. Dashboard: Tendremos una visión unificada del estado completo del dispositivo, tanto de su hardware como el software desplegado.

  2. Pantalla de Hardware:Se muestra el % de CPU y RAM utilizado por el dispositivo. Al mismo tiempo muestra la informaicón de las redes desplegadas en el nodo y los discos montados.

  3. Pantalla de Software: En ella podemos ver lo que hay instalado dentro del dispositivo, su versión y la fecha en la que se instaló:

Para habilitar el canal de negocio debemos instalarle el mqtt mediante el despliegue del contenedor de mqtt, con la posibilidad de añadirle nuevos componentes como modbus, zigbee, openvino, etc como podemos observar en la imagen anterior, mostrando el software desplegado en el nodo.

Una vez el dispositivo queda conectado al canal de control y al de negocio, podemos apreciar el cambio del canal de negocio, indicando la recepción de la información y al mismo tiempo la publicación de la misma en los tópicos definicos en canales de conexión mqtt.