Cómo conectar Raspberry PI a Azure IoT: instrucciones paso a paso

Hola Habr! Le presento la traducción del artículo Conectando Raspberry PI a través de Azure IoT: Tutorial paso a paso .

En esta publicación, le mostraremos cómo conectar su Raspberry Pi como dispositivo periférico para transmitir señales al panel LED mediante el módulo Azure IoT Edge.

En la mayoría de los pasos, usaremos la CLI de Azure y el Portal de Azure para iniciar Azure IoT Edge.

Para hacer esto, necesitaremos:

  • Raspberry Pi 3 Modelo B + (panel LED)
  • Cuenta de Microsoft Azure
  • Última versión de la CLI de Azure
  • Extensión de la CLI de Azure IoT (componente)

Instalar y configurar Azure IoT


Ahora instalamos la CLI de Azure, creamos un IoT Hub y conectamos nuestros dispositivos. También crearemos un identificador para Raspberry Pi y usaremos sus parámetros de acceso para el reconocimiento en IoT Hub. Además, utilizamos add-edge-enabled para conectar Raspberry Pi a Azure IoT Edge.

Para instalar y configurar inicialmente Azure IoT, debe:

  1. Instale la última versión de la CLI de Azure en su computadora desde docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
  2. Configure la CLI de Azure con:

    $ az extension add --name azure-cli-iot-ext</li> 
  3. Cree un grupo de recursos para nuestro proyecto:

     $ az group create --name rasp-IoT --location westus 
  4. Cree una puerta de enlace para conectar periféricos a Azure IoT:

     $ az iot hub create --resource-group rasp-IoT --name rasp-IoT-Hub --sku S1 
  5. Crear ID para Raspberry Pi y dispositivo:

     $ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled 

    Este comando producirá una cadena específica que será necesaria para conectar el dispositivo.
  6. Copie la cadena de salida a un archivo o portapapeles. Lo usaremos más tarde para conectar el dispositivo al IoT Hub.

Conecte la Raspberry Pi


Los módulos Azure IoT Edge funcionan como contenedores. Para conectar la Raspberry Pi a Azure IoT Hub y Azure IoT Edge necesitamos:

  1. Instale Docker en Raspberry Pi:

     $ curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh 

    También puede verificar su versión usando el comando: $ sudo docker version
  2. Instale Azure IoT Edge Runtime, que funcionará como demonio de fondo:

     $ curl -L https://aka.ms/libiothsm-std-linux-armhf-latest -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb 

     $ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb 

     $sudo apt-get install -f 

     $ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb 

     $sudo apt-get install -f 
  3. Conecte nuestro dispositivo a Azure IoT Hub con:

     $ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled 

    Ya hemos usado este comando para crear un identificador para Raspberry Pi.
  4. Abra el archivo /etc/iotedge/config.yaml en cualquier editor y reemplace "AGREGAR LA CADENA DE CONEXIÓN DEL DISPOSITIVO AQUÍ" con una línea específica para conectar el dispositivo que copiamos previamente al archivo / búfer.

    imagen
  5. Reinicie el proceso en segundo plano de IoT Edge y verifique su estado:

 $ sudo systemctl restart iotedge 

 $ sudo systemctl status iotedge 

imagen

Ahora podemos instalar el módulo de control del panel LED.

Implementación de módulos de Azure IoT Edge


El siguiente es un ejemplo simple que muestra claramente el concepto, la implementación y la administración de los módulos Azure IoT Edge:

  1. Inicie Azure Portal en un navegador.
  2. Vaya a IoT Hub y con Automation Device Management seleccione IoT Edge.

    imagen
  3. En dispositivos IoT Edge, seleccione el dispositivo PI1 y haga clic en Establecer módulos.

    imagen
  4. Expanda la lista Agregar y seleccione el Módulo IoT Edge para implementar el módulo personalizado.

    imagen

Ahora usaremos Azure Portal para implementar el contenedor como un módulo. Antes de eso, necesitamos crear una imagen de Docker y guardarla en Docker Hub como ejemplo.

Vaya a Módulos personalizados de IoT Edge y siga estos pasos:

  1. En el campo Nombre, ingrese Matriz. Este será el nombre de nuestro módulo.
  2. En el campo Imagen URI, ingrese janakiramm / matrix: v1.
  3. Dado que no necesita acceso al bus I2C local en la Raspberry Pi, debe ejecutar el contenedor en modo Privilegiado. Para habilitarlo, en las Opciones de creación de contenedores, inserte la siguiente línea JSON:

     { “HostConfig”: { “Privileged”: true } } 
  4. Deje la configuración predeterminada en el siguiente cuadro.
  5. Haga clic en Guardar para confirmar la implementación.

Esto iniciará la implementación de módulos personalizados en el dispositivo periférico.

También puede verificar la conexión del módulo al dispositivo utilizando la CLI de iotedge en la Raspberry Pi:

 $ sudo iotedge list 



Tan pronto como el módulo se implemente con éxito, los diodos en el panel conectado a la Raspberry Pi parpadearán.



Con el servicio en la nube Azure IoT, puede crear soluciones de IoT mucho más complejas y con más funciones. Por ejemplo, escale instantáneamente desarrollos personalizados en dispositivos periféricos y envíe solo datos actuales a la nube, mientras que las funciones principales se usan localmente.

Creemos que esto suena muy prometedor.

Fichas de descentralización en Azure


Ha aparecido una nueva característica interesante que distingue a Microsoft de otros proveedores de servicios en la nube y, en nuestra opinión, implementa el concepto de descentralización completa de WEB 3.0 de manera más completa. Por supuesto, nos referimos a tecnologías de registro distribuido.

En Azure Blockchain Workbench, puede implementar soluciones innovadoras de blockchain en una plataforma accesible a nivel mundial. Honestamente, poco puede competir con el "efecto sorpresa" que las aplicaciones descentralizadas profesionales (DApps) causan a los usuarios.

Y, sin embargo, esto se refiere no solo a la notoria popularidad de las criptomonedas y las exageraciones en torno al ICO. Con Azure Blockchain Workbench, los desarrolladores pueden implementar las características únicas de un registro distribuido en sus proyectos, incluidas las soluciones de IoT. Y esto es lo que aporta valor agregado a los resultados que reciben los clientes.

La tecnología de registro distribuido promete llevar la entrega de valor a un nivel completamente nuevo, por lo que incluso un estudio superficial del servicio en la nube correspondiente (como el mismo Azure Blockchain Workbench) requerirá una publicación por separado. Por supuesto, no nos importa absolutamente "bucear" en particular Azure Blockchain si también está interesado en este tema.

Manténgase en contacto, esté atento y hable sobre qué más le interesa leer.

Source: https://habr.com/ru/post/es436050/


All Articles