Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Configuración de estado deseada para circuitos

Parpadeo de un LED usando un dominio específico Lenguaje aplicado a través de Module Twin a un contenedor Docker que ejecuta Johnny 5 en una Raspberry Pi.

Historia

Descripción general:

Azure IoT Edge permite que los dispositivos conectados de forma intermitente obtengan las propiedades deseadas a través del "Módulo gemelo". Estos gemelos se pueden usar como una configuración de estado deseada para impulsar un comportamiento específico dentro de los módulos Edge. Los módulos perimetrales se ejecutan como cargas de trabajo de contenedores para permitir la recuperación automática y la implementación rápida sin necesidad de una conectividad constante. Cuando Internet está disponible, los dispositivos pueden aprovechar los servicios en la nube para llamar a métodos dentro de los módulos.

En este proyecto, desarrollamos un módulo de IoT Edge utilizando el SDK de Azure IoT NodeJS que obtiene un estado deseado de la nube que configura los pines GPIO en una Raspberry Pi para realizar las operaciones deseadas en un circuito adjunto usando Johnny 5.

Esto puede permitir casos de uso interesantes como:* Permitir múltiples modos de operación para un solo circuito mediante la aplicación de diferentes configuraciones de estado * Conmutación por falla de hardware redundante con dos dispositivos conectados al mismo circuito cuando están orquestados y configurados correctamente con kubernetes.

Antecedentes:

La configuración del estado deseado es un concepto popular que se usa a menudo cuando se aprovisionan servidores por primera vez y para hacer cumplir el cumplimiento en los sistemas en ejecución. Extendemos este concepto a los circuitos que utilizan servicios que están diseñados para brindar resiliencia y un funcionamiento saludable en áreas donde la conectividad de la red puede ser intermitente. Este enfoque nos permite cambiar el comportamiento de un circuito conectado en tiempo de ejecución y permite escenarios interesantes que involucran redundancia de hardware.

El tiempo de ejecución de Azure IoT Edge de Microsoft nos permite formar una base sólida para el proyecto. Este tiempo de ejecución se ejecuta como un servicio en hardware local y permite la orquestación de "módulos" en contenedores que se configuran por dispositivo en la nube de Azure. Siempre se emplean dos módulos del sistema, el agente de borde que obtiene y aplica las configuraciones de implementación del módulo y el hub de borde que permite la mensajería en caché a la nube y la comunicación entre módulos.

Comenzamos creando un módulo de Azure IoT Edge utilizando el SDK de Azure IoT NodeJS. Este módulo recibe una configuración gemela que especifica las propiedades deseadas y reportadas para un dispositivo dado. Empleamos un lenguaje específico de dominio que se analiza en una configuración de Johny 5. Esto nos permite definir cómo debe funcionar un circuito en la nube y aplicarlo a nuestro módulo IoT Edge.

A continuación se proporciona un ejemplo de configuración:

“Config”:“{\” periféricos \ ”:[{\” tipo \ ”:\” Led \ ”, \” nombre \ ”:\” alarma \ ”, \” configuración \ ”
:{\ ”Pin \”:\ ”GPIO18 \”}, \ ”initialState \”:{\ ”método \”:\ ”blink \”, \ ”período \”:500}, \
“outputAlias ​​\”:\ ”Alias2 \”}, {\ ”tipo \”:\ ”Botón \”, \ ”nombre \”:\ ”botón \”, \ ”configuración \”:
{\ ”pin \”:\ ”GPIO20 \”}, \ ”outputAlias ​​\”:\ ”alias1 \”}]} ”,

Este ejemplo define un dispositivo LED en GPIO18 con un estado inicial de encendido / apagado intermitente cada 500ms. El estado del LED se puede propagar a otros módulos utilizando outputAlias. También se emplea un botón en GPIO20 que publica los cambios de estado en alias1. En tal configuración, podemos responder de forma independiente a los cambios de estado en módulos adicionales enrutando el outputAlias.

Actualmente admitimos la configuración de un termómetro, un LED y un dispositivo de botón mediante este mecanismo.

Pasos para reproducir:

Para comenzar, necesitará una suscripción a Microsoft Azure con un IoT Hub implementado.

Luego, querrá comenzar la configuración de su hardware conectando un LED al GPIO18 de la Raspberry Pi. Las instrucciones para este proceso se pueden encontrar aquí.

Con los circuitos y los servicios en la nube preparados, querrá instalar el tiempo de ejecución de Azure IoT Edge en su Raspberry Pi siguiendo esta guía. Una vez que se haya instalado el tiempo de ejecución, deberá aprovisionar manualmente el dispositivo siguiendo estas instrucciones.

A continuación, crearemos una implementación especial dentro de Azure que nos permitirá hacer parpadear nuestro LED.

Cree una implementación como se muestra a continuación:

La URL de la imagen:

toolboc / johnny5onedge:0.0.981-arm32v7

Opciones de creación del contenedor:

{"ExposedPorts":{"9229 / tcp":{}}, "HostConfig":{"PortBindings":{"9229 / tcp":[{"HostPort":"9229"}]}, "Privileged":verdadero , "Dispositivos":[{"PathOnHost":"/ dev / i2c-1", "PathInContainer":"/ dev / i2c-1", "CgroupPermissions":"rwm"}, {"PathOnHost":"/ dev / gpiomem ”,“ PathInContainer ”:“ / dev / gpiomem ”,“ CgroupPermissions ”:“ rwm ”}],“ Mounts ”:[{“ Type ”:“ bind ”,“ Source ”:“ / lib / modules / ” , "Destino":"/ lib / modules /"}]}}

Propiedades deseadas del Module Twin:

{
“properties.desired”:{
“config”:“{\” periféricos \ ”:[{\” tipo \ ”:\” Led \ ”, \” nombre \ ”:\” alarma \ ”, \” configuración \ ”:{\” pin \ ”:\” GPIO18 \ ”}, \” initialState \ ”:{\” método \ ”:\” blink \ ”, \” período \ ”:500 }, \ ”OutputAlias ​​\”:\ ”alias2 \”}, {\ ”tipo \”:\ ”Botón \”, \ ”nombre \”:\ ”en \”, \ ”configuración \”:{\ ”pin \ ”:\” GPIO20 \ ”}, \” outputAlias ​​\ ”:\” alias1 \ ”}]}”
}
}

Guarde cuando haya terminado. Luego, omita las secciones "Especificar rutas" y "Especificar métricas" hasta llegar a "Dispositivos de destino".

Establezca la Prioridad en 10 y agregue una condición de destino de tags.environment =’blinK

Leer más información… ..

Configuración de estado deseada para circuitos


Proceso de manufactura

  1. Kubernetes en Azure:herramientas y sugerencias para el éxito
  2. Certificaciones de Azure:los expertos de Cloud Institute explican cuál es mejor para usted
  3. ¿Es la certificación de Azure DevOps adecuada para mí?
  4. ¿Cómo prepararse para el examen de certificación de Azure DevOps sin capacitación?
  5. Cómo realizar una administración de costos eficaz para AWS, GCP y Azure
  6. Circuitos de control
  7. Configuraciones para HMI en situaciones de riesgo
  8. Cables blindados para circuitos de señal (parte 2)
  9. Cables blindados para circuitos de señales (parte 1)
  10. Microsoft lanza Azure Edge Zones para aplicaciones 5G
  11. Tecnología CAD/CAM de vanguardia:un enfoque de fabricación favorable para materiales de ingeniería