Conexión de Raspberry Pi a Azure IoT Hub

En este artículo se proporcionan pasos básicos para empezar a conectar en la nube un dispositivo Raspberry Pi que ejecuta el sistema operativo Raspberry Pi mediante Azure IoT Hub. Puede usar un dispositivo Raspberry Pi físico o un emulador de dispositivos en línea.

Requisitos previos

Tenga preparados los siguientes requisitos previos antes de iniciar este artículo:

Uso del simulador en línea

Seleccione el botón siguiente para iniciar el simulador en línea de Raspberry Pi.

Hay tres áreas en el simulador web.

Screenshot that shows an overview of Pi online simulator.

  1. Área de ensamblado: representación gráfica del simulador Pi, incluidas las conexiones entre Pi y dos dispositivos:

    • Sensor de humedad BME280 conectado a I2C.1
    • Un LED conectado a GPIO 4
  2. Área de codificación: un editor de código en línea para codificar con Raspberry Pi. La aplicación de ejemplo predeterminada recopila datos de sensor desde el sensor BME280 y los envía a Azure IoT Hub. La aplicación es totalmente compatible con dispositivos Pi reales.

  3. Ventana de consola integrada: una ventana que muestra la salida del código. En la parte superior de esta ventana aparecen tres botones.

    • Run (Ejecutar): ejecute la aplicación en el área de codificación.

    • Reset (Restablecer): restablezca el área de codificación a la aplicación de ejemplo predeterminada.

    • Collapse/Expand (Contraer/expandir): al lado derecho hay un botón para contraer o expandir la ventana de consola.

Nota:

El simulador web de Raspberry Pi está archivado y ya no se mantiene de forma activa. El código fuente es público en GitHub: raspberry-pi-web-simulator.

Ejecución de una aplicación de ejemplo en el simulador web de Pi

  1. En el área de codificación, asegúrese de trabajar con la aplicación de ejemplo predeterminada. Reemplace el marcador de posición de la línea 15 por una cadena de conexión de dispositivo de IoT Hub.

    Screenshot that shows replacing the device connection string placeholder.

  2. Seleccione Ejecutar o escriba npm start en la ventana de consola integrada para ejecutar la aplicación.

Debería ver el resultado siguiente, que muestra los datos del sensor y los mensajes que se envían a IoT Hub:

Screenshot that shows output sensor data sent from Raspberry Pi to your IoT hub.

Uso de un dispositivo físico

En las secciones siguientes se explica cómo configurar una solución Raspberry Pi, entre las que se incluyen:

  • Un dispositivo Raspberry Pi

    Nota:

    Los pasos de este artículo se han probado en placas Raspberry Pi 2 y Raspberry Pi 3.

  • Un monitor, un teclado USB y un mouse que se conecten a Pi.

  • Un equipo PC o Mac con Windows o Linux.

  • Una conexión a Internet.

  • Tarjeta microSD de 16 GB o más.

  • Un adaptador de USB a SD o una tarjeta microSD para grabar la imagen del sistema operativo en la tarjeta microSD.

  • Una fuente de alimentación de 5 V y 2 A con un cable microUSB de 6 pies.

Instalación del sistema operativo Raspberry Pi

Prepare la tarjeta microSD para instalar la imagen del sistema operativo Raspberry Pi.

  1. Descargue el sistema operativo Raspberry Pi con escritorio.

    a. Sistema operativo Raspberry Pi con escritorio (el archivo .zip).

    b. Extraiga la imagen del sistema operativo Raspberry Pi con escritorio en una carpeta del equipo.

  2. Instale el sistema operativo Raspberry Pi con escritorio en la tarjeta microSD.

    a. Descargue e instale la utilidad de grabadora de tarjetas SD Etcher.

    b. Ejecute Etcher y seleccione la imagen del sistema operativo Raspberry Pi con escritorio que ha extraído en el paso 1.

    c. Seleccione la unidad de tarjeta microSD si aún no está seleccionada.

    d. Haga clic en Flash para instalar el sistema operativo Raspberry Pi con escritorio en la tarjeta microSD.

    e. Quite la tarjeta microSD del equipo cuando se complete la instalación. Es seguro quitar la tarjeta microSD directamente porque Etcher expulsa o desmonta la tarjeta microSD automáticamente al acabar.

    f. Inserte la tarjeta microSD en la Pi.

Habilitar SSH e I2C

  1. Conecte Pi al monitor, el teclado y el mouse.

  2. Inicie Pi y luego inicie sesión en el sistema operativo Raspberry Pi con pi como nombre de usuario y raspberry como contraseña.

  3. Seleccione el icono de Raspberry >Preferencias>Configuración de Raspberry Pi.

    Screenshot that shows the Raspberry Pi OS with Preferences menu.

  4. En la pestaña Interfaces, establezca SSH e I2C en Habilitar y, luego, seleccione Aceptar.

    Interfaz Descripción
    SSH Secure Shell (SSH) se usa para conectarse de forma remota a Raspberry Pi con una línea de comandos remota. SSH es el método preferido para emitir los comandos a Raspberry Pi de forma remota en este documento.
    I2C Circuito inter-integrado (I2C) es un protocolo de comunicaciones que se usa como interfaz para hardware como sensores. Esta interfaz es necesaria para interactuar con los sensores físicos de este artículo.

    Si no tiene sensores físicos y quiere usar datos de sensor simulados desde el dispositivo Raspberry Pi, puede dejar I2C deshabilitado.

    Screenshot that shows the configuration to enable I2C and SSH on Raspberry Pi.

Nota:

Para habilitar SSH e I2C, puede buscar más documentos de referencia en raspberrypi.org y Adafruit.com.

Conexión de Pi a la red

Encienda la Pi mediante un cable microUSB y la fuente de alimentación. Use el cable Ethernet para conectar Pi a la red cableada o siga las instrucciones de Raspberry Pi Foundation para conectar Pi a la red inalámbrica. Cuando Pi se haya conectado correctamente a la red, deberá anotar la dirección IP de Pi.

Nota:

Asegúrese de que la Pi se conecta a la misma red que el equipo. Por ejemplo, si el equipo está conectado a una red inalámbrica mientras Pi está conectada a una red cableada, es posible que no vea la dirección IP en la salida de devdisco.

Ejecución de una aplicación de ejemplo en Pi

Los ejemplos siguientes recopilan datos de un sensor BME280 (o pueden simular los datos si no cuenta con ese hardware) y enviarlos al centro de IoT.

SDK Ejemplo
Python iot-hub-python-raspberrypi-client-app
C iot-hub-c-raspberrypi-client-app
Nodo RaspberryPiApp

Nota:

Estos ejemplos están archivados y ya no se mantienen de forma activa.