Pregunta: ¿Cuál es el diseño subyacente detrás de un "Agente integrado" en relación con los dispositivos de borde de Internet de las cosas (IoT) de baja potencia?
Algunos de los proveedores de servicios en la nube de IoT siguen refiriéndose a la instalación de un agente integrado en los dispositivos de borde basados en sensores. Parece ser un software patentado que los proveedores instalan en cada dispositivo que se conecta a la nube. A continuación hay dos imágenes de pilas de software con referencias al Agente . Una parte de la pila de software reside en el microcontrolador.
También aquí hay una explicación muy amplia del blog Thingworx
Un agente es un programa integrado que se ejecuta en un dispositivo IoT o cerca de él e informa el estado de algún activo o entorno. Siempre hay algún agente presente en una aplicación IoT. Por lo general, el agente lee el estado de los sensores o la conectividad local a un activo, aplica algunas reglas o lógica sobre la frecuencia con la que el remitente tiene que agregar la información y luego envía la información a través de una red de comunicaciones de larga distancia al servidor. Este proceso también puede funcionar a la inversa.
Supongo que este agente consiste en información de conectividad, como la dirección IP, el nombre del servidor, la información del tipo SSID para ayudar a la conectividad. ¿Estos agentes integrados tienen otra funcionalidad más allá de proporcionar conectividad?
Referencias
- Las 49 mejores herramientas para Internet de las cosas
- El Internet de las cosas, los productos "inteligentes" exigen una estrategia inteligente
- Elementos fundamentales de una solución de IoT, The Edge, The Cloud y desarrollo de aplicaciones
- Nueva vida para sistemas embebidos en INTERNET DE LAS COSAS
- The Edge Of The Iot
fuente
Respuestas:
En términos generales, un agente es una pieza de software "bidireccional"; es decir, lee los parámetros del dispositivo y los comunica a la nube o incluso a una puerta de enlace. La mayoría de las veces, un OEM controlará las bibliotecas para el desarrollo del software para controlar los parámetros del dispositivo. Mientras que, el OEM puede elegir cualquiera de los protocolos de comunicación populares (MQTT, HTTP, etc.) para publicar los valores leídos. Por lo general, la integración de estos dos es el espacio donde entra un integrador de sistemas.
Por ejemplo, un agente podría estar ejecutándose en un escritorio de Windows para leer las rpm del ventilador cada 5 segundos. Este valor luego se comunica a una plataforma en la nube a través de un protocolo acordado.
Código de muestra del sitio web de Paho MQTT (Python) :
El fragmento anterior es más o menos un agente porque existe la parte 'desde el dispositivo' en forma de la función
sensor.blocking_read()
y la parte 'a la nube' en forma de amqttc.publish()
.Los agentes avanzados tendrán mecanismos para manejar el almacenamiento fuera de línea, soporte TLS para la comunicación hacia la nube, responder a cualquier actualización de la nube (incluidos reinicios, si es necesario) con gracia, etc. Y, en el caso específico de esta pregunta, el agente manejará las restricciones de energía también. Por ejemplo, responda a los desencadenantes del nivel del dispositivo, como dormir, despertarse, etc.
fuente