Tutorial: envío de telemetría desde un dispositivo IoT Plug and Play a Azure IoT Hub
En este artículo de inicio rápido, se explica un flujo de trabajo básico de desarrollo de aplicaciones de Azure IoT. Va a utilizar la CLI de Azure e IoT Explorer para crear un centro de Azure IoT y un dispositivo. A continuación, utilizará un ejemplo de un SDK de dispositivo IoT de Azure para ejecutar un controlador de temperatura, conectarlo de forma segura al centro y enviar datos de telemetría. La aplicación de ejemplo del controlador de temperatura se ejecuta en la máquina local y genera datos del sensor simulados para enviarlos a IoT Hub.
Prerrequisitos
Este inicio rápido se ejecuta en Windows, Linux y Raspberry Pi. Se ha probado en las siguientes versiones de sistema operativo y dispositivo:
- Windows 10
- Ubuntu 20.04 LTS
- Sistema operativo de Raspberry Pi (Raspbian) versión 10, que se ejecuta en una placa Raspberry Pi 3 modelo B+
Instale los siguientes requisitos previos en la máquina de desarrollo, excepto donde se indique para Raspberry Pi:
- Si no tiene una suscripción de Azure, cree una gratuita antes de comenzar.
- Git.
- Azure IoT Explorer: utilidad multiplataforma basada en GUI para supervisar y administrar Azure IoT. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda instalar IoT Explorer en otro equipo. Si no desea instalar IoT Explorer, puede usar la CLI de Azure para realizar los mismos pasos.
- Azure CLI. Tiene dos opciones para ejecutar comandos de la CLI de Azure en este inicio rápido:
- Use Azure Cloud Shell, un shell interactivo que ejecuta comandos de la CLI en el explorador. Esta opción se recomienda porque no es necesario instalar nada. Si usa Cloud Shell por primera vez, inicie sesión en Azure Portal. Siga los pasos descritos en Introducción a Cloud Shell para iniciar Cloud Shell y seleccionar el entorno Bash.
- Opcionalmente, ejecute la CLI de Azure en su equipo local. Si la CLI de Azure ya está instalada, ejecute
az upgrade
para actualizar la CLI y las extensiones a la versión actual. Para instalar la CLI de Azure, consulte Instalación de la CLI de Azure. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda usar Azure Cloud Shell o instalar la CLI de Azure en otro equipo.
Instale los requisitos previos restantes para su sistema operativo.
Linux o Raspberry Pi OS
Para realizar este inicio rápido en Linux o Raspberry Pi OS, instale el software siguiente:
Instale GCC, Git, CMake y las dependencias necesarias con el comando apt-get
:
sudo apt-get update
sudo apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev
Compruebe que la versión de CMake sea 3.13 o superior y que la versión de GCC sea 4.4.7 o superior.
cmake --version
gcc --version
Windows
Para completar este inicio rápido en Windows, instale Visual Studio 2022 y agregue los componentes necesarios para el desarrollo en C y C++.
- Para los nuevos usuarios, instale Visual Studio (Community, Professional o Enterprise) 2022. Descargue la edición que desea instalar e inicie el instalador.
Nota
Para los usuarios de Visual Studio 2022 existentes, seleccione Inicio de Windows, escriba Instalador de Visual Studio, ejecute el instalador y, a continuación, seleccione Modificar.
- En la pestaña Cargas de trabajo del instalador, seleccione la carga de trabajo Desarrollo para el escritorio con C++ .
- Ejecución de la instalación.
Crear un centro de IoT
En esta sección, usará la CLI de Azure para crear un centro de IoT y un grupo de recursos. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Un centro de IoT funciona como centro de mensajes unificado para la comunicación bidireccional entre la aplicación de IoT y los dispositivos.
Para crear un centro de IoT y un grupo de recursos:
Inicie la CLI de Azure:
- Si usa Cloud Shell, seleccione el botón Probar en los comandos de la CLI para iniciar Cloud Shell en una ventana dividida del explorador. O bien, puede abrir Cloud Shell en una pestaña del explorador independiente.
- Si va a usar la CLI de Azure localmente, abra una consola como Windows CMD, PowerShell o Bash, e inicie sesión en la CLI de Azure.
Para ejecutar los comandos de la CLI en el resto de este inicio rápido, copie la sintaxis del comando, péguela en la ventana de Cloud Shell o en la consola de la CLI, edite los valores de las variables y presione Entrar.
Ejecute az extension add para instalar o actualizar la extensión azure-iot a la versión actual.
az extension add --upgrade --name azure-iot
Ejecute el comando az group create para crear un grupo de recursos. El siguiente comando crea un grupo de recursos denominado MyResourceGroup en la ubicación eastus.
Nota
Como alternativa, puede establecer otra ubicación. Para ver las ubicaciones disponibles, ejecute
az account list-locations
. En este tutorial se usa eastus tal y como se muestra en el comando de ejemplo.az group create --name MyResourceGroup --location eastus
Ejecute el comando az iot hub create para crear una instancia de IoT Hub. La creación de una instancia de IoT Hub puede tardar unos minutos.
YourIotHubName. Reemplace este marcador de posición y las llaves circundantes en el siguiente comando, con el nombre que eligió para el centro de IoT. Un nombre de centro de IoT debe ser único globalmente en Azure. Use el nombre del centro de IoT a lo largo de este inicio rápido cuando vea el marcador de posición.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Sugerencia
Después de crear un centro de IoT, usará Azure IoT Explorer para interactuar con el centro de IoT en el resto de esta guía de inicio rápido. IoT Explorer es una aplicación de GUI que le permite conectarse a un dispositivo IoT Hub existente y agregar, administrar y supervisar dispositivos. Para obtener más información, consulte Instalación y uso del explorador de Azure IoT. Opcionalmente, puede seguir usando comandos de la CLI.
Configuración de IoT Explorer
En el resto de este inicio rápido, usará IoT Explorer para registrar un dispositivo en su centro de IoT y ver la telemetría del dispositivo. En esta sección, configurará IoT Explorer para conectarse al centro de IoT que acaba de crear y para leer los modelos Plug and Play desde el repositorio de modelos público.
Nota
También puede usar la CLI de Azure para registrar un dispositivo. Use el comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar un nuevo dispositivo y el comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obtener la cadena de conexión principal del dispositivo. Una vez que anote la cadena de conexión del dispositivo, puede ir directamente a Ejecución del ejemplo de dispositivo.
Para agregar una conexión al centro de IoT:
Ejecute el comando az iot hub connection-string show para obtener la cadena de conexión para el centro de IoT.
az iot hub connection-string show --hub-name {YourIoTHubName}
Copie la cadena de conexión sin los caracteres de comillas circundantes.
En Azure IoT Explorer, seleccione Centros de IoT en el menú izquierdo y, a continuación, seleccione + Agregar conexión.
Pegue la cadena de conexión en el cuadro Cadena de conexión.
Seleccione Guardar.
Si la conexión se realiza correctamente, IoT Explorer cambia a la vista Dispositivos.
Para agregar el repositorio de modelos público:
En IoT Explorer, seleccione Inicio para volver a la vista principal.
En el menú de la izquierda, seleccione Configuración de IoT Plug and Play y, a continuación, seleccione +Agregar y elija Repositorio público en el menú desplegable.
Aparece una entrada para el repositorio de modelos público en
https://devicemodels.azure.com
.Seleccione Guardar.
Registrar un dispositivo
En esta sección, creará una nueva instancia de dispositivo y la registrará en el centro de IoT que creó. Usará la información de conexión del dispositivo recién registrado para conectar de forma segura el dispositivo en una sección posterior.
Para registrar un dispositivo:
En la vista principal de IoT Explorer, seleccione Centros de IoT.
Debería aparecer la conexión que agregó anteriormente. Seleccione View devices in this hub (Ver dispositivos en este centro) debajo de las propiedades de conexión.
Seleccione + Nuevo y escriba un identificador de dispositivo para el dispositivo. Por ejemplo, miDispositivo. Deje todas las demás propiedades tal cual.
Seleccione Crear.
Use los botones de copia para copiar y anotar el campo Cadena de conexión principal. Necesitará esta cadena de conexión más adelante.
Ejecución del ejemplo de dispositivo
En esta sección, usará el SDK de C para enviar mensajes desde un dispositivo hasta IoT Hub. Ejecutará un ejemplo que implementa un controlador de temperatura con dos sensores de termostato.
Compilación del ejemplo
Abra una nueva consola para instalar el SDK de dispositivo Azure IoT para C y ejecute el ejemplo de código. En Windows, seleccione Inicio, escriba Símbolo del sistema para desarrolladores para VS 2019 y abra la consola. En Linux y Raspberry Pi OS, abra un terminal de comandos de Bash.
Nota
Si usa una instalación local de la CLI de Azure, es posible que ahora tenga dos ventanas de consola abiertas. Asegúrese de escribir los comandos de esta sección en la consola que acaba de abrir, en lugar de la que ha estado usando para la CLI.
Cambie a la carpeta local en la que quiere clonar el repositorio de ejemplo.
Clone el SDK del dispositivo de Azure IoT para C en la máquina local:
git clone https://github.com/Azure/azure-iot-sdk-c.git
Navegue a la carpeta raíz del SDK y ejecute el siguiente comando para actualizar las dependencias:
cd azure-iot-sdk-c git submodule update --init
Esta operación tarda unos minutos.
Ejecute los siguientes comandos para compilar el SDK y los ejemplos:
cmake -Bcmake -Duse_prov_client=ON -Dhsm_type_symm_key=ON -Drun_e2e_tests=OFF cmake --build cmake
Establezca las siguientes variables de entorno para que el dispositivo se pueda conectar a Azure IoT.
- Establezca una variable de entorno llamada
IOTHUB_DEVICE_CONNECTION_STRING
. Como valor de la variable, use la cadena de conexión del dispositivo que ha guardado en la sección anterior. - Establezca una variable de entorno llamada
IOTHUB_DEVICE_SECURITY_TYPE
. Para la variable, use el valor de cadena literalconnectionString
.
CMD
set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here> set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
Nota
En el caso del símbolo de comandos de Windows, no hay comillas alrededor de los valores de cadena de cada variable.
Bash
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Establezca una variable de entorno llamada
Ejecución del código
Ejecute el código de ejemplo con el comando adecuado para la consola.
CMD
cmake\iothub_client\samples\pnp\pnp_temperature_controller\Debug\pnp_temperature_controller.exe
Bash
cmake/iothub_client/samples/pnp/pnp_temperature_controller/pnp_temperature_controller
Nota
En este ejemplo de código se usa Azure IoT Plug and Play, que le permite integrar dispositivos inteligentes en sus soluciones sin ninguna configuración manual. De forma predeterminada, la mayoría de los ejemplos de esta documentación usan IoT Plug and Play. Para más información sobre las ventajas de IoT Plug and Play y los casos para su uso o no, consulte ¿Qué es IoT Plug and Play?
El ejemplo se conecta de forma segura al centro de IoT como el dispositivo que registró y comienza a enviar mensajes de telemetría. La salida de ejemplo se muestra en la consola.
Ver datos de telemetría
Puede ver la telemetría del dispositivo con el explorador de IoT. También puede verla mediante la CLI de Azure.
Para ver la telemetría en Azure IoT Explorer:
En el centro de IoT del explorador de IoT, seleccione View devices in this hub (Ver dispositivos en este centro) y seleccione el dispositivo en la lista.
En el menú de la izquierda del dispositivo, seleccione Telemetría.
Confirme que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Vea la telemetría a medida que el dispositivo envía mensajes a la nube.
Seleccione Detener para dejar de recibir eventos.
Para leer la telemetría que envían los componentes individuales del dispositivo, puede utilizar las características de Plug and Play de IoT Explorer. Por ejemplo, el controlador de temperatura de este inicio rápido tiene dos termostatos: thermostat1 y thermostat2. Para ver la temperatura que notifica thermostat1:
En el explorador de IoT del dispositivo, seleccione IoT Plug and Play components (Componentes de IoT Plug and Play) en el menú de la izquierda. A continuación, seleccione thermostat1 en la lista de componentes.
En el panel del componente thermostat1, seleccione Telemetría en el menú superior.
En el panel Telemetría, siga los mismos pasos que realizó anteriormente. Asegúrese de que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Para ver la telemetría del dispositivo con la CLI de Azure:
Ejecute el comando az iot hub monitor-events para supervisar los eventos enviados desde el dispositivo al centro de IoT. Use los nombres que creó anteriormente en Azure IoT para el dispositivo IoT Hub.
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
Vea los detalles de la conexión y la salida de telemetría en la consola.
Starting event monitor, filtering on device: mydevice, use ctrl-c to stop... event: component: '' interface: dtmi:com:example:TemperatureController;1 module: '' origin: mydevice payload: '{"workingSet":1251}' event: component: thermostat1 interface: dtmi:com:example:TemperatureController;1 module: '' origin: mydevice payload: '{"temperature":22.00}'
En este artículo de inicio rápido, se explica un flujo de trabajo básico de desarrollo de aplicaciones de Azure IoT. Va a utilizar la CLI de Azure e IoT Explorer para crear un centro de Azure IoT y un dispositivo. A continuación, utilizará un ejemplo de un SDK de dispositivo IoT de Azure para ejecutar un controlador de temperatura, conectarlo de forma segura al centro y enviar datos de telemetría. La aplicación de ejemplo del controlador de temperatura se ejecuta en la máquina local y genera datos del sensor simulados para enviarlos a IoT Hub.
Prerrequisitos
Este inicio rápido se ejecuta en Windows, Linux y Raspberry Pi. Se ha probado en las siguientes versiones de sistema operativo y dispositivo:
- Windows 10
- Ubuntu 20.04 LTS
- Sistema operativo de Raspberry Pi (Raspbian) versión 10, que se ejecuta en una placa Raspberry Pi 3 modelo B+
Instale los siguientes requisitos previos en la máquina de desarrollo, excepto donde se indique para Raspberry Pi:
Si no tiene una suscripción de Azure, cree una gratuita antes de comenzar.
Git.
SDK de .NET Core 3.1. Asegúrese de instalar el SDK de .NET, no solo el runtime. Para comprobar la versión del SDK de .NET y del entorno de ejecución instalados en el equipo, ejecute
dotnet --info
.- Para Windows y Linux (excepto Raspberry Pi), siga las instrucciones para instalar el SDK de .NET Core 3.1 en su plataforma.
- Para Raspberry Pi, deberá seguir las instrucciones para instalar manualmente el SDK. Esto se debe a que en Debian, las instalaciones del administrador de paquetes del SDK de .NET solo se admiten para la arquitectura x64.
Azure IoT Explorer: utilidad multiplataforma basado en GUI para supervisar y administrar Azure IoT. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda instalar IoT Explorer en otro equipo. Si no desea instalar IoT Explorer, puede usar la CLI de Azure para realizar los mismos pasos.
CLI de Azure. Tiene dos opciones para ejecutar comandos de la CLI de Azure en este inicio rápido:
- Use Azure Cloud Shell, un shell interactivo que ejecuta comandos de la CLI en el explorador. Esta opción se recomienda porque no es necesario instalar nada. Si usa Cloud Shell por primera vez, inicie sesión en Azure Portal. Siga los pasos descritos en Introducción a Cloud Shell para iniciar Cloud Shell y seleccionar el entorno Bash.
- Opcionalmente, ejecute la CLI de Azure en su equipo local. Si la CLI de Azure ya está instalada, ejecute
az upgrade
para actualizar la CLI y las extensiones a la versión actual. Para instalar la CLI de Azure, consulte Instalación de la CLI de Azure. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda usar Azure Cloud Shell o instalar la CLI de Azure en otro equipo.
Crear un centro de IoT
En esta sección, usará la CLI de Azure para crear un centro de IoT y un grupo de recursos. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Un centro de IoT funciona como centro de mensajes unificado para la comunicación bidireccional entre la aplicación de IoT y los dispositivos.
Para crear un centro de IoT y un grupo de recursos:
Inicie la CLI de Azure:
- Si usa Cloud Shell, seleccione el botón Probar en los comandos de la CLI para iniciar Cloud Shell en una ventana dividida del explorador. O bien, puede abrir Cloud Shell en una pestaña del explorador independiente.
- Si va a usar la CLI de Azure localmente, abra una consola como Windows CMD, PowerShell o Bash, e inicie sesión en la CLI de Azure.
Para ejecutar los comandos de la CLI en el resto de este inicio rápido, copie la sintaxis del comando, péguela en la ventana de Cloud Shell o en la consola de la CLI, edite los valores de las variables y presione Entrar.
Ejecute az extension add para instalar o actualizar la extensión azure-iot a la versión actual.
az extension add --upgrade --name azure-iot
Ejecute el comando az group create para crear un grupo de recursos. El siguiente comando crea un grupo de recursos denominado MyResourceGroup en la ubicación eastus.
Nota
Como alternativa, puede establecer otra ubicación. Para ver las ubicaciones disponibles, ejecute
az account list-locations
. En este tutorial se usa eastus tal y como se muestra en el comando de ejemplo.az group create --name MyResourceGroup --location eastus
Ejecute el comando az iot hub create para crear una instancia de IoT Hub. La creación de una instancia de IoT Hub puede tardar unos minutos.
YourIotHubName. Reemplace este marcador de posición y las llaves circundantes en el siguiente comando, con el nombre que eligió para el centro de IoT. Un nombre de centro de IoT debe ser único globalmente en Azure. Use el nombre del centro de IoT a lo largo de este inicio rápido cuando vea el marcador de posición.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Sugerencia
Después de crear un centro de IoT, usará Azure IoT Explorer para interactuar con el centro de IoT en el resto de esta guía de inicio rápido. IoT Explorer es una aplicación de GUI que le permite conectarse a un dispositivo IoT Hub existente y agregar, administrar y supervisar dispositivos. Para obtener más información, consulte Instalación y uso del explorador de Azure IoT. Opcionalmente, puede seguir usando comandos de la CLI.
Configuración de IoT Explorer
En el resto de este inicio rápido, usará IoT Explorer para registrar un dispositivo en su centro de IoT y ver la telemetría del dispositivo. En esta sección, configurará IoT Explorer para conectarse al centro de IoT que acaba de crear y para leer los modelos Plug and Play desde el repositorio de modelos público.
Nota
También puede usar la CLI de Azure para registrar un dispositivo. Use el comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar un nuevo dispositivo y el comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obtener la cadena de conexión principal del dispositivo. Una vez que anote la cadena de conexión del dispositivo, puede ir directamente a Ejecución del ejemplo de dispositivo.
Para agregar una conexión al centro de IoT:
Ejecute el comando az iot hub connection-string show para obtener la cadena de conexión para el centro de IoT.
az iot hub connection-string show --hub-name {YourIoTHubName}
Copie la cadena de conexión sin los caracteres de comillas circundantes.
En Azure IoT Explorer, seleccione Centros de IoT en el menú izquierdo y, a continuación, seleccione + Agregar conexión.
Pegue la cadena de conexión en el cuadro Cadena de conexión.
Seleccione Guardar.
Si la conexión se realiza correctamente, IoT Explorer cambia a la vista Dispositivos.
Para agregar el repositorio de modelos público:
En IoT Explorer, seleccione Inicio para volver a la vista principal.
En el menú de la izquierda, seleccione Configuración de IoT Plug and Play y, a continuación, seleccione +Agregar y elija Repositorio público en el menú desplegable.
Aparece una entrada para el repositorio de modelos público en
https://devicemodels.azure.com
.Seleccione Guardar.
Registrar un dispositivo
En esta sección, creará una nueva instancia de dispositivo y la registrará en el centro de IoT que creó. Usará la información de conexión del dispositivo recién registrado para conectar de forma segura el dispositivo en una sección posterior.
Para registrar un dispositivo:
En la vista principal de IoT Explorer, seleccione Centros de IoT.
Debería aparecer la conexión que agregó anteriormente. Seleccione View devices in this hub (Ver dispositivos en este centro) debajo de las propiedades de conexión.
Seleccione + Nuevo y escriba un identificador de dispositivo para el dispositivo. Por ejemplo, miDispositivo. Deje todas las demás propiedades tal cual.
Seleccione Crear.
Use los botones de copia para copiar y anotar el campo Cadena de conexión principal. Necesitará esta cadena de conexión más adelante.
Ejecución del ejemplo de dispositivo
En esta sección, usará el SDK de C# para enviar mensajes desde un dispositivo al centro de IoT. Ejecutará un ejemplo que implementa un controlador de temperatura con dos sensores de termostato.
Abra una consola nueva como el símbolo del sistema de Windows, PowerShell o Bash. En los pasos siguientes, se utilizará esta consola para instalar el SDK para Node.js y trabajar con el código de ejemplo de Node.js.
Nota
Si usa una instalación local de la CLI de Azure, es posible que ahora tenga dos ventanas de consola abiertas. Asegúrese de escribir los comandos de esta sección en la consola que acaba de abrir, no en la que ha estado usando para la CLI.
Clone el SDK de Microsoft Azure IoT para C# (.NET) en la máquina local:
git clone https://github.com/Azure/azure-iot-sdk-csharp.git
Vaya al directorio de muestras:
Windows
cd azure-iot-sdk-csharp\iothub\device\samples\solutions\PnpDeviceSamples\TemperatureController
Sistema operativo Linux o Raspberry Pi
cd azure-iot-sdk-csharp/iothub/device/samples/solutions/PnpDeviceSamples/TemperatureController
Instale el SDK de Azure IoT para C# y las dependencias necesarias:
dotnet restore
Este comando instala las dependencias adecuadas, como se especifica en el archivo TemperatureController.csproj.
Establezca las siguientes variables de entorno para que el dispositivo se pueda conectar a Azure IoT.
- Establezca una variable de entorno llamada
IOTHUB_DEVICE_CONNECTION_STRING
. Como valor de la variable, use la cadena de conexión del dispositivo que ha guardado en la sección anterior. - Establezca una variable de entorno llamada
IOTHUB_DEVICE_SECURITY_TYPE
. Para la variable, use el valor de cadena literalconnectionString
.
CMD (Windows)
set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here> set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
Nota
En el caso del símbolo de comandos de Windows, no hay comillas alrededor de los valores de cadena de cada variable.
PowerShell
$env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>' $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
Bash
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Establezca una variable de entorno llamada
Ejecute el ejemplo de código:
dotnet run
Nota
En este ejemplo de código se usa Azure IoT Plug and Play, que le permite integrar dispositivos inteligentes en sus soluciones sin ninguna configuración manual. De forma predeterminada, la mayoría de los ejemplos de esta documentación usan IoT Plug and Play. Para más información sobre las ventajas de IoT Plug and Play y los casos para su uso o no, consulte ¿Qué es IoT Plug and Play?
El ejemplo se conecta de forma segura al centro de IoT como el dispositivo que registró y comienza a enviar mensajes de telemetría. La salida de ejemplo se muestra en la consola.
Ver datos de telemetría
Puede ver la telemetría del dispositivo con el explorador de IoT. También puede verla mediante la CLI de Azure.
Para ver la telemetría en Azure IoT Explorer:
En el centro de IoT del explorador de IoT, seleccione View devices in this hub (Ver dispositivos en este centro) y seleccione el dispositivo en la lista.
En el menú de la izquierda del dispositivo, seleccione Telemetría.
Confirme que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Vea la telemetría a medida que el dispositivo envía mensajes a la nube.
Seleccione Detener para dejar de recibir eventos.
Para leer la telemetría que envían los componentes individuales del dispositivo, puede utilizar las características de Plug and Play de IoT Explorer. Por ejemplo, el controlador de temperatura de este inicio rápido tiene dos termostatos: thermostat1 y thermostat2. Para ver la temperatura que notifica thermostat1:
En el explorador de IoT del dispositivo, seleccione IoT Plug and Play components (Componentes de IoT Plug and Play) en el menú de la izquierda. A continuación, seleccione thermostat1 en la lista de componentes.
En el panel del componente thermostat1, seleccione Telemetría en el menú superior.
En el panel Telemetría, siga los mismos pasos que realizó anteriormente. Asegúrese de que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Para ver la telemetría del dispositivo con la CLI de Azure:
Ejecute el comando az iot hub monitor-events para supervisar los eventos enviados desde el dispositivo al centro de IoT. Use los nombres que creó anteriormente en Azure IoT para el dispositivo IoT Hub.
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
Vea los detalles de la conexión y la salida de telemetría en la consola.
Starting event monitor, filtering on device: mydevice, use ctrl-c to stop... event: component: thermostat1 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 39.8 event: component: thermostat2 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 36.7
Seleccione CTRL + C para finalizar la supervisión.
En este artículo de inicio rápido, se explica un flujo de trabajo básico de desarrollo de aplicaciones de Azure IoT. Va a utilizar la CLI de Azure e IoT Explorer para crear un centro de Azure IoT y un dispositivo. A continuación, utilizará un ejemplo de un SDK de dispositivo IoT de Azure para ejecutar un controlador de temperatura, conectarlo de forma segura al centro y enviar datos de telemetría. La aplicación de ejemplo del controlador de temperatura se ejecuta en la máquina local y genera datos del sensor simulados para enviarlos a IoT Hub.
Prerrequisitos
Este inicio rápido se ejecuta en Windows, Linux y Raspberry Pi. Se ha probado en las siguientes versiones de sistema operativo y dispositivo:
- Windows 10
- Ubuntu 20.04 LTS
- Sistema operativo de Raspberry Pi (Raspbian) versión 10, que se ejecuta en una placa Raspberry Pi 3 modelo B+
Instale los siguientes requisitos previos en la máquina de desarrollo, excepto donde se indique para Raspberry Pi:
- Si no tiene una suscripción de Azure, cree una gratuita antes de comenzar.
- Git.
- Azure IoT Explorer: utilidad multiplataforma basada en GUI para supervisar y administrar Azure IoT. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda instalar IoT Explorer en otro equipo. Si no desea instalar IoT Explorer, puede usar la CLI de Azure para realizar los mismos pasos.
- Azure CLI. Tiene dos opciones para ejecutar comandos de la CLI de Azure en este inicio rápido:
- Use Azure Cloud Shell, un shell interactivo que ejecuta comandos de la CLI en el explorador. Esta opción se recomienda porque no es necesario instalar nada. Si usa Cloud Shell por primera vez, inicie sesión en Azure Portal. Siga los pasos descritos en Introducción a Cloud Shell para iniciar Cloud Shell y seleccionar el entorno Bash.
- Opcionalmente, ejecute la CLI de Azure en su equipo local. Si la CLI de Azure ya está instalada, ejecute
az upgrade
para actualizar la CLI y las extensiones a la versión actual. Para instalar la CLI de Azure, consulte Instalación de la CLI de Azure. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda usar Azure Cloud Shell o instalar la CLI de Azure en otro equipo.
Instale los requisitos previos restantes para su sistema operativo.
Windows
Para completar este inicio rápido en Windows, instale el software siguiente:
Java SE Development Kit 8 o posterior. Puede descargar el JDK de Java 8 (LTS) para varias plataformas desde Descargar compilaciones de Zulu de OpenJDK. En el instalador, seleccione la opción Agregar a PATH.
Apache Maven 3. Después de extraer la descarga en una carpeta local, agregue la ruta de acceso completa de la carpeta /bin de Maven a la variable de entorno
PATH
de Windows.
Linux o Raspberry Pi OS
Para realizar este inicio rápido en Linux o Raspberry Pi OS, instale el software siguiente:
Nota
Los pasos de esta sección se basan en distribuciones Ubuntu/Debian de Linux. (El sistema operativo Raspberry Pi se basa en Debian). Si usa una distribución de Linux diferente, deberá modificar los pasos como corresponda.
OpenJDK (Open Java Development Kit) 8 o posterior. Puede usar el comando
java -version
para comprobar la versión de Java instalada en el sistema. Asegúrese de que JDK esté instalado, no solo Java Runtime Environment (JRE).Para instalar OpenJDK en el sistema, especifique los siguientes comandos:
Para instalar la versión predeterminada de OpenJDK para el sistema (OpenJDK 11 para Ubuntu 20.04 y Raspberry Pi OS 10 en el momento de escribir este inicio rápido):
sudo apt update sudo apt install default-jdk
Como alternativa, puede especificar la versión del JDK que se va a instalar. Por ejemplo:
sudo apt update sudo apt install openjdk-8-jdk
Si el sistema tiene instaladas varias versiones de Java, puede usar los siguientes comandos para configurar las versiones predeterminadas (automáticas) de Java y el compilador de Java.
update-java-alternatives --list #list the Java versions installed sudo update-alternatives --config java #set the default Java version sudo update-alternatives --config javac #set the default Java compiler version
Establezca la variable de entorno
JAVA_HOME
en la ruta de acceso de la instalación de JDK. (Por lo general, se trata de un subdirectorio con versiones en el directorio /usr/lib/jvm).export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
Importante
Este comando establece la variable
JAVA_HOME
en el entorno de shell actual. Se recomienda agregar el comando al archivo~/.bashrc
o/etc/profile
para que esté disponible cada vez que abra un nuevo shell.Compruebe la versión del JDK de Java (y de JRE) instalada, que la versión del compilador de Java coincide con la versión del JDK y que la variable de entorno
JAVA_HOME
está establecida correctamente.java -version javac -version echo $JAVA_HOME
Apache Maven 3. Puede usar el comando
mvn --version
para comprobar la versión de Maven instalada en el sistema.Para instalar Maven, escriba los siguientes comandos:
sudo apt-get update sudo apt-get install maven
Ejecute el siguiente comando para comprobar la instalación.
mvn --version
Crear un centro de IoT
En esta sección, usará la CLI de Azure para crear un centro de IoT y un grupo de recursos. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Un centro de IoT funciona como centro de mensajes unificado para la comunicación bidireccional entre la aplicación de IoT y los dispositivos.
Para crear un centro de IoT y un grupo de recursos:
Inicie la CLI de Azure:
- Si usa Cloud Shell, seleccione el botón Probar en los comandos de la CLI para iniciar Cloud Shell en una ventana dividida del explorador. O bien, puede abrir Cloud Shell en una pestaña del explorador independiente.
- Si va a usar la CLI de Azure localmente, abra una consola como Windows CMD, PowerShell o Bash, e inicie sesión en la CLI de Azure.
Para ejecutar los comandos de la CLI en el resto de este inicio rápido, copie la sintaxis del comando, péguela en la ventana de Cloud Shell o en la consola de la CLI, edite los valores de las variables y presione Entrar.
Ejecute az extension add para instalar o actualizar la extensión azure-iot a la versión actual.
az extension add --upgrade --name azure-iot
Ejecute el comando az group create para crear un grupo de recursos. El siguiente comando crea un grupo de recursos denominado MyResourceGroup en la ubicación eastus.
Nota
Como alternativa, puede establecer otra ubicación. Para ver las ubicaciones disponibles, ejecute
az account list-locations
. En este tutorial se usa eastus tal y como se muestra en el comando de ejemplo.az group create --name MyResourceGroup --location eastus
Ejecute el comando az iot hub create para crear una instancia de IoT Hub. La creación de una instancia de IoT Hub puede tardar unos minutos.
YourIotHubName. Reemplace este marcador de posición y las llaves circundantes en el siguiente comando, con el nombre que eligió para el centro de IoT. Un nombre de centro de IoT debe ser único globalmente en Azure. Use el nombre del centro de IoT a lo largo de este inicio rápido cuando vea el marcador de posición.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Sugerencia
Después de crear un centro de IoT, usará Azure IoT Explorer para interactuar con el centro de IoT en el resto de esta guía de inicio rápido. IoT Explorer es una aplicación de GUI que le permite conectarse a un dispositivo IoT Hub existente y agregar, administrar y supervisar dispositivos. Para obtener más información, consulte Instalación y uso del explorador de Azure IoT. Opcionalmente, puede seguir usando comandos de la CLI.
Configuración de IoT Explorer
En el resto de este inicio rápido, usará IoT Explorer para registrar un dispositivo en su centro de IoT y ver la telemetría del dispositivo. En esta sección, configurará IoT Explorer para conectarse al centro de IoT que acaba de crear y para leer los modelos Plug and Play desde el repositorio de modelos público.
Nota
También puede usar la CLI de Azure para registrar un dispositivo. Use el comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar un nuevo dispositivo y el comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obtener la cadena de conexión principal del dispositivo. Una vez que anote la cadena de conexión del dispositivo, puede ir directamente a Ejecución del ejemplo de dispositivo.
Para agregar una conexión al centro de IoT:
Ejecute el comando az iot hub connection-string show para obtener la cadena de conexión para el centro de IoT.
az iot hub connection-string show --hub-name {YourIoTHubName}
Copie la cadena de conexión sin los caracteres de comillas circundantes.
En Azure IoT Explorer, seleccione Centros de IoT en el menú izquierdo y, a continuación, seleccione + Agregar conexión.
Pegue la cadena de conexión en el cuadro Cadena de conexión.
Seleccione Guardar.
Si la conexión se realiza correctamente, IoT Explorer cambia a la vista Dispositivos.
Para agregar el repositorio de modelos público:
En IoT Explorer, seleccione Inicio para volver a la vista principal.
En el menú de la izquierda, seleccione Configuración de IoT Plug and Play y, a continuación, seleccione +Agregar y elija Repositorio público en el menú desplegable.
Aparece una entrada para el repositorio de modelos público en
https://devicemodels.azure.com
.Seleccione Guardar.
Registrar un dispositivo
En esta sección, creará una nueva instancia de dispositivo y la registrará en el centro de IoT que creó. Usará la información de conexión del dispositivo recién registrado para conectar de forma segura el dispositivo en una sección posterior.
Para registrar un dispositivo:
En la vista principal de IoT Explorer, seleccione Centros de IoT.
Debería aparecer la conexión que agregó anteriormente. Seleccione View devices in this hub (Ver dispositivos en este centro) debajo de las propiedades de conexión.
Seleccione + Nuevo y escriba un identificador de dispositivo para el dispositivo. Por ejemplo, miDispositivo. Deje todas las demás propiedades tal cual.
Seleccione Crear.
Use los botones de copia para copiar y anotar el campo Cadena de conexión principal. Necesitará esta cadena de conexión más adelante.
Ejecución del ejemplo de dispositivo
En esta sección, usará el SDK de Java para enviar mensajes desde un dispositivo hasta IoT Hub. Ejecutará un ejemplo que implementa un controlador de temperatura con dos sensores de termostato.
Abra una consola para instalar el SDK para dispositivos Java de Azure IoT y compile y ejecute el ejemplo de código. Usará esta consola en los pasos siguientes.
Nota
Si usa una instalación local de la CLI de Azure, es posible que ahora tenga dos ventanas de consola abiertas. Asegúrese de escribir los comandos de esta sección en la consola que acaba de abrir, no en la que ha estado usando para la CLI.
Linux and Raspberry Pi OS
Confirme que la variable de entorno JAVA_HOME (
echo $JAVA_HOME
) está establecida. Para más información sobre cómo establecer JAVA_HOME, consulte Requisitos previos de Linux y Raspberry Pi.Clone el SDK para dispositivos Java de Azure IoT en su máquina local:
git clone https://github.com/Azure/azure-iot-sdk-java.git
Vaya a la carpeta raíz del SDK y ejecute el siguiente comando para compilar el SDK y actualizar los ejemplos.
cd azure-iot-sdk-java mvn install -T 2C -DskipTests
Esta operación tarda varios minutos.
Establezca las siguientes variables de entorno para que el dispositivo se pueda conectar a Azure IoT.
- Establezca una variable de entorno llamada
IOTHUB_DEVICE_CONNECTION_STRING
. Como valor de la variable, use la cadena de conexión del dispositivo que ha guardado en la sección anterior. - Establezca una variable de entorno llamada
IOTHUB_DEVICE_SECURITY_TYPE
. Para la variable, use el valor de cadena literalconnectionString
.
CMD
set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here> set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
Nota
En el caso del símbolo de comandos de Windows, no hay comillas alrededor de los valores de cadena de cada variable.
Bash
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Establezca una variable de entorno llamada
Vaya al directorio de ejemplo.
CMD
cd device\iot-device-samples\pnp-device-sample\temperature-controller-device-sample
Bash
cd device/iot-device-samples/pnp-device-sample/temperature-controller-device-sample
Ejecute el ejemplo de código.
java -jar -Dexec.mainClass="samples.com.microsoft.azure.sdk.iot.device.TemperatureController"
Nota
En este ejemplo de código se usa Azure IoT Plug and Play, que le permite integrar dispositivos inteligentes en sus soluciones sin ninguna configuración manual. De forma predeterminada, la mayoría de los ejemplos de esta documentación usan IoT Plug and Play. Para más información sobre las ventajas de IoT Plug and Play y los casos para su uso o no, consulte ¿Qué es IoT Plug and Play?
El ejemplo se conecta de forma segura al centro de IoT como el dispositivo que registró y comienza a enviar mensajes de telemetría. La salida de ejemplo se muestra en la consola.
Ver datos de telemetría
Puede ver la telemetría del dispositivo con el explorador de IoT. También puede verla mediante la CLI de Azure.
Para ver la telemetría en Azure IoT Explorer:
En el centro de IoT del explorador de IoT, seleccione View devices in this hub (Ver dispositivos en este centro) y seleccione el dispositivo en la lista.
En el menú de la izquierda del dispositivo, seleccione Telemetría.
Confirme que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Vea la telemetría a medida que el dispositivo envía mensajes a la nube.
Seleccione Detener para dejar de recibir eventos.
Para leer la telemetría que envían los componentes individuales del dispositivo, puede utilizar las características de Plug and Play de IoT Explorer. Por ejemplo, el controlador de temperatura de este inicio rápido tiene dos termostatos: thermostat1 y thermostat2. Para ver la temperatura que notifica thermostat1:
En el explorador de IoT del dispositivo, seleccione IoT Plug and Play components (Componentes de IoT Plug and Play) en el menú de la izquierda. A continuación, seleccione thermostat1 en la lista de componentes.
En el panel del componente thermostat1, seleccione Telemetría en el menú superior.
En el panel Telemetría, siga los mismos pasos que realizó anteriormente. Asegúrese de que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Para ver la telemetría del dispositivo con la CLI de Azure:
Ejecute el comando az iot hub monitor-events para supervisar los eventos enviados desde el dispositivo al centro de IoT. Use los nombres que creó anteriormente en Azure IoT para el dispositivo IoT Hub.
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
Vea los detalles de la conexión y la salida de telemetría en la consola.
Starting event monitor, filtering on device: mydevice, use ctrl-c to stop... event: component: thermostat1 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 24.1 event: component: thermostat2 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 33.3
En este artículo de inicio rápido, se explica un flujo de trabajo básico de desarrollo de aplicaciones de Azure IoT. Va a utilizar la CLI de Azure e IoT Explorer para crear un centro de Azure IoT y un dispositivo. A continuación, utilizará un ejemplo de un SDK de dispositivo IoT de Azure para ejecutar un controlador de temperatura, conectarlo de forma segura al centro y enviar datos de telemetría. La aplicación de ejemplo del controlador de temperatura se ejecuta en la máquina local y genera datos del sensor simulados para enviarlos a IoT Hub.
Prerrequisitos
Este inicio rápido se ejecuta en Windows, Linux y Raspberry Pi. Se ha probado en las siguientes versiones de sistema operativo y dispositivo:
- Windows 10
- Ubuntu 20.04 LTS
- Sistema operativo de Raspberry Pi (Raspbian) versión 10, que se ejecuta en una placa Raspberry Pi 3 modelo B+
Instale los siguientes requisitos previos en la máquina de desarrollo, excepto donde se indique para Raspberry Pi:
- Si no tiene una suscripción de Azure, cree una gratuita antes de comenzar.
- Git.
- Node.js, versión 12 o posterior. Para comprobar la versión de Node, ejecute
node --version
. - Azure IoT Explorer: utilidad multiplataforma basado en GUI para supervisar y administrar Azure IoT. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda instalar IoT Explorer en otro equipo. Si no desea instalar IoT Explorer, puede usar la CLI de Azure para realizar los mismos pasos.
- Azure CLI. Tiene dos opciones para ejecutar comandos de la CLI de Azure en este inicio rápido:
- Use Azure Cloud Shell, un shell interactivo que ejecuta comandos de la CLI en el explorador. Esta opción se recomienda porque no es necesario instalar nada. Si usa Cloud Shell por primera vez, inicie sesión en Azure Portal. Siga los pasos descritos en Introducción a Cloud Shell para iniciar Cloud Shell y seleccionar el entorno Bash.
- Opcionalmente, ejecute la CLI de Azure en su equipo local. Si la CLI de Azure ya está instalada, ejecute
az upgrade
para actualizar la CLI y las extensiones a la versión actual. Para instalar la CLI de Azure, consulte Instalación de la CLI de Azure. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda usar Azure Cloud Shell o instalar la CLI de Azure en otro equipo.
Crear un centro de IoT
En esta sección, usará la CLI de Azure para crear un centro de IoT y un grupo de recursos. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Un centro de IoT funciona como centro de mensajes unificado para la comunicación bidireccional entre la aplicación de IoT y los dispositivos.
Para crear un centro de IoT y un grupo de recursos:
Inicie la CLI de Azure:
- Si usa Cloud Shell, seleccione el botón Probar en los comandos de la CLI para iniciar Cloud Shell en una ventana dividida del explorador. O bien, puede abrir Cloud Shell en una pestaña del explorador independiente.
- Si va a usar la CLI de Azure localmente, abra una consola como Windows CMD, PowerShell o Bash, e inicie sesión en la CLI de Azure.
Para ejecutar los comandos de la CLI en el resto de este inicio rápido, copie la sintaxis del comando, péguela en la ventana de Cloud Shell o en la consola de la CLI, edite los valores de las variables y presione Entrar.
Ejecute az extension add para instalar o actualizar la extensión azure-iot a la versión actual.
az extension add --upgrade --name azure-iot
Ejecute el comando az group create para crear un grupo de recursos. El siguiente comando crea un grupo de recursos denominado MyResourceGroup en la ubicación eastus.
Nota
Como alternativa, puede establecer otra ubicación. Para ver las ubicaciones disponibles, ejecute
az account list-locations
. En este tutorial se usa eastus tal y como se muestra en el comando de ejemplo.az group create --name MyResourceGroup --location eastus
Ejecute el comando az iot hub create para crear una instancia de IoT Hub. La creación de una instancia de IoT Hub puede tardar unos minutos.
YourIotHubName. Reemplace este marcador de posición y las llaves circundantes en el siguiente comando, con el nombre que eligió para el centro de IoT. Un nombre de centro de IoT debe ser único globalmente en Azure. Use el nombre del centro de IoT a lo largo de este inicio rápido cuando vea el marcador de posición.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Sugerencia
Después de crear un centro de IoT, usará Azure IoT Explorer para interactuar con el centro de IoT en el resto de esta guía de inicio rápido. IoT Explorer es una aplicación de GUI que le permite conectarse a un dispositivo IoT Hub existente y agregar, administrar y supervisar dispositivos. Para obtener más información, consulte Instalación y uso del explorador de Azure IoT. Opcionalmente, puede seguir usando comandos de la CLI.
Configuración de IoT Explorer
En el resto de este inicio rápido, usará IoT Explorer para registrar un dispositivo en su centro de IoT y ver la telemetría del dispositivo. En esta sección, configurará IoT Explorer para conectarse al centro de IoT que acaba de crear y para leer los modelos Plug and Play desde el repositorio de modelos público.
Nota
También puede usar la CLI de Azure para registrar un dispositivo. Use el comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar un nuevo dispositivo y el comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obtener la cadena de conexión principal del dispositivo. Una vez que anote la cadena de conexión del dispositivo, puede ir directamente a Ejecución del ejemplo de dispositivo.
Para agregar una conexión al centro de IoT:
Ejecute el comando az iot hub connection-string show para obtener la cadena de conexión para el centro de IoT.
az iot hub connection-string show --hub-name {YourIoTHubName}
Copie la cadena de conexión sin los caracteres de comillas circundantes.
En Azure IoT Explorer, seleccione Centros de IoT en el menú izquierdo y, a continuación, seleccione + Agregar conexión.
Pegue la cadena de conexión en el cuadro Cadena de conexión.
Seleccione Guardar.
Si la conexión se realiza correctamente, IoT Explorer cambia a la vista Dispositivos.
Para agregar el repositorio de modelos público:
En IoT Explorer, seleccione Inicio para volver a la vista principal.
En el menú de la izquierda, seleccione Configuración de IoT Plug and Play y, a continuación, seleccione +Agregar y elija Repositorio público en el menú desplegable.
Aparece una entrada para el repositorio de modelos público en
https://devicemodels.azure.com
.Seleccione Guardar.
Registrar un dispositivo
En esta sección, creará una nueva instancia de dispositivo y la registrará en el centro de IoT que creó. Usará la información de conexión del dispositivo recién registrado para conectar de forma segura el dispositivo en una sección posterior.
Para registrar un dispositivo:
En la vista principal de IoT Explorer, seleccione Centros de IoT.
Debería aparecer la conexión que agregó anteriormente. Seleccione View devices in this hub (Ver dispositivos en este centro) debajo de las propiedades de conexión.
Seleccione + Nuevo y escriba un identificador de dispositivo para el dispositivo. Por ejemplo, miDispositivo. Deje todas las demás propiedades tal cual.
Seleccione Crear.
Use los botones de copia para copiar y anotar el campo Cadena de conexión principal. Necesitará esta cadena de conexión más adelante.
Ejecución del ejemplo de dispositivo
En esta sección, usará el SDK de Node.js para enviar mensajes desde un dispositivo hasta IoT Hub. Ejecutará un ejemplo que implementa un controlador de temperatura con dos sensores de termostato.
Abra una consola nueva como el símbolo del sistema de Windows, PowerShell o Bash. En los pasos siguientes, se utilizará esta consola para instalar el SDK para Node.js y trabajar con el código de ejemplo de Node.js.
Nota
Si usa una instalación local de la CLI de Azure, es posible que ahora tenga dos ventanas de consola abiertas. Asegúrese de escribir los comandos de esta sección en la consola que acaba de abrir, en lugar de la que ha estado usando para la CLI.
Clone los ejemplos para el SDK de dispositivo IoT de Azure para Node.js en la máquina local:
git clone https://github.com/Azure/azure-iot-sdk-node
Vaya al directorio de ejemplos:
Windows
cd azure-iot-sdk-node\device\samples\javascript
Sistema operativo Linux o Raspberry Pi
cd azure-iot-sdk-node/device/samples/javascript
Instale el SDK de Azure IoT para Node.js y las dependencias necesarias:
npm install
Este comando instala las dependencias adecuadas, como se especifica en el archivo package.json, en el directorio de ejemplos de dispositivos.
Establezca las siguientes variables de entorno para que el dispositivo se pueda conectar a Azure IoT.
- Establezca una variable de entorno llamada
IOTHUB_DEVICE_CONNECTION_STRING
. Como valor de la variable, use la cadena de conexión del dispositivo que ha guardado en la sección anterior. - Establezca una variable de entorno llamada
IOTHUB_DEVICE_SECURITY_TYPE
. Para la variable, use el valor de cadena literalconnectionString
.
CMD (Windows)
set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here> set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
Nota
En el caso del símbolo de comandos de Windows, no hay comillas alrededor de los valores de cadena de cada variable.
PowerShell
$env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>' $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
Bash
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Establezca una variable de entorno llamada
Ejecute el siguiente código de ejemplo:
node pnp_temperature_controller.js
Nota
En este ejemplo de código se usa Azure IoT Plug and Play, que le permite integrar dispositivos inteligentes en sus soluciones sin ninguna configuración manual. De forma predeterminada, la mayoría de los ejemplos de esta documentación usan IoT Plug and Play. Para más información sobre las ventajas de IoT Plug and Play y los casos para su uso o no, consulte ¿Qué es IoT Plug and Play?
El ejemplo se conecta de forma segura al centro de IoT como el dispositivo que registró y comienza a enviar mensajes de telemetría. La salida de ejemplo se muestra en la consola.
Ver datos de telemetría
Puede ver la telemetría del dispositivo con el explorador de IoT. También puede verla mediante la CLI de Azure.
Para ver la telemetría en Azure IoT Explorer:
En el centro de IoT del explorador de IoT, seleccione View devices in this hub (Ver dispositivos en este centro) y seleccione el dispositivo en la lista.
En el menú de la izquierda del dispositivo, seleccione Telemetría.
Confirme que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Vea la telemetría a medida que el dispositivo envía mensajes a la nube.
Seleccione Detener para dejar de recibir eventos.
Para leer la telemetría que envían los componentes individuales del dispositivo, puede utilizar las características de Plug and Play de IoT Explorer. Por ejemplo, el controlador de temperatura de este inicio rápido tiene dos termostatos: thermostat1 y thermostat2. Para ver la temperatura que notifica thermostat1:
En el explorador de IoT del dispositivo, seleccione IoT Plug and Play components (Componentes de IoT Plug and Play) en el menú de la izquierda. A continuación, seleccione thermostat1 en la lista de componentes.
En el panel del componente thermostat1, seleccione Telemetría en el menú superior.
En el panel Telemetría, siga los mismos pasos que realizó anteriormente. Asegúrese de que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Para ver la telemetría del dispositivo con la CLI de Azure:
Ejecute el comando az iot hub monitor-events para supervisar los eventos enviados desde el dispositivo al centro de IoT. Use los nombres que creó anteriormente en Azure IoT para el dispositivo IoT Hub.
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
Vea los detalles de la conexión y la salida de telemetría en la consola.
Starting event monitor, filtering on device: mydevice, use ctrl-c to stop... event: component: thermostat1 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 70.5897683228018 event: component: thermostat2 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 52.87582619316418
En este artículo de inicio rápido, se explica un flujo de trabajo básico de desarrollo de aplicaciones de Azure IoT. Va a utilizar la CLI de Azure e IoT Explorer para crear un centro de Azure IoT y un dispositivo. A continuación, utilizará un ejemplo de un SDK de dispositivo IoT de Azure para ejecutar un controlador de temperatura, conectarlo de forma segura al centro y enviar datos de telemetría. La aplicación de ejemplo del controlador de temperatura se ejecuta en la máquina local y genera datos del sensor simulados para enviarlos a IoT Hub.
Prerrequisitos
Este inicio rápido se ejecuta en Windows, Linux y Raspberry Pi. Se ha probado en las siguientes versiones de sistema operativo y dispositivo:
- Windows 10 o Windows 11
- Ubuntu 20.04 LTS
- Sistema operativo de Raspberry Pi (Raspbian) versión 10, que se ejecuta en una placa Raspberry Pi 3 modelo B+
Instale los siguientes requisitos previos en la máquina de desarrollo, excepto donde se indique para Raspberry Pi:
- Si no tiene una suscripción de Azure, cree una gratuita antes de comenzar.
- Git.
- Python Compruebe el SDK de Python de Azure IoT para ver los requisitos actuales de la versión de Python. Para comprobar la versión de Python, ejecute
python3 --version
. - Azure IoT Explorer: utilidad multiplataforma basado en GUI para supervisar y administrar Azure IoT. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda instalar IoT Explorer en otro equipo. Si no desea instalar IoT Explorer, puede usar la CLI de Azure para realizar los mismos pasos.
- Azure CLI. Tiene dos opciones para ejecutar comandos de la CLI de Azure en este inicio rápido:
- Use Azure Cloud Shell, un shell interactivo que ejecuta comandos de la CLI en el explorador. Esta opción se recomienda porque no es necesario instalar nada. Si usa Cloud Shell por primera vez, inicie sesión en Azure Portal. Siga los pasos descritos en Introducción a Cloud Shell para iniciar Cloud Shell y seleccionar el entorno Bash.
- Opcionalmente, ejecute la CLI de Azure en su equipo local. Si la CLI de Azure ya está instalada, ejecute
az upgrade
para actualizar la CLI y las extensiones a la versión actual. Para instalar la CLI de Azure, consulte Instalación de la CLI de Azure. Si usa Raspberry Pi como plataforma de desarrollo, se recomienda usar Azure Cloud Shell o instalar la CLI de Azure en otro equipo.
Crear un centro de IoT
En esta sección, usará la CLI de Azure para crear un centro de IoT y un grupo de recursos. Un grupo de recursos de Azure es un contenedor lógico en el que se implementan y se administran los recursos de Azure. Un centro de IoT funciona como centro de mensajes unificado para la comunicación bidireccional entre la aplicación de IoT y los dispositivos.
Para crear un centro de IoT y un grupo de recursos:
Inicie la CLI de Azure:
- Si usa Cloud Shell, seleccione el botón Probar en los comandos de la CLI para iniciar Cloud Shell en una ventana dividida del explorador. O bien, puede abrir Cloud Shell en una pestaña del explorador independiente.
- Si va a usar la CLI de Azure localmente, abra una consola como Windows CMD, PowerShell o Bash, e inicie sesión en la CLI de Azure.
Para ejecutar los comandos de la CLI en el resto de este inicio rápido, copie la sintaxis del comando, péguela en la ventana de Cloud Shell o en la consola de la CLI, edite los valores de las variables y presione Entrar.
Ejecute az extension add para instalar o actualizar la extensión azure-iot a la versión actual.
az extension add --upgrade --name azure-iot
Ejecute el comando az group create para crear un grupo de recursos. El siguiente comando crea un grupo de recursos denominado MyResourceGroup en la ubicación eastus.
Nota
Como alternativa, puede establecer otra ubicación. Para ver las ubicaciones disponibles, ejecute
az account list-locations
. En este tutorial se usa eastus tal y como se muestra en el comando de ejemplo.az group create --name MyResourceGroup --location eastus
Ejecute el comando az iot hub create para crear una instancia de IoT Hub. La creación de una instancia de IoT Hub puede tardar unos minutos.
YourIotHubName. Reemplace este marcador de posición y las llaves circundantes en el siguiente comando, con el nombre que eligió para el centro de IoT. Un nombre de centro de IoT debe ser único globalmente en Azure. Use el nombre del centro de IoT a lo largo de este inicio rápido cuando vea el marcador de posición.
az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
Sugerencia
Después de crear un centro de IoT, usará Azure IoT Explorer para interactuar con el centro de IoT en el resto de esta guía de inicio rápido. IoT Explorer es una aplicación de GUI que le permite conectarse a un dispositivo IoT Hub existente y agregar, administrar y supervisar dispositivos. Para obtener más información, consulte Instalación y uso del explorador de Azure IoT. Opcionalmente, puede seguir usando comandos de la CLI.
Configuración de IoT Explorer
En el resto de este inicio rápido, usará IoT Explorer para registrar un dispositivo en su centro de IoT y ver la telemetría del dispositivo. En esta sección, configurará IoT Explorer para conectarse al centro de IoT que acaba de crear y para leer los modelos Plug and Play desde el repositorio de modelos público.
Nota
También puede usar la CLI de Azure para registrar un dispositivo. Use el comando az iot hub device-identity create --device-id mydevice --hub-name {YourIoTHubName} para registrar un nuevo dispositivo y el comando az iot hub device-identity connection-string show --device-id mydevice --hub-name {YourIoTHubName} para obtener la cadena de conexión principal del dispositivo. Una vez que anote la cadena de conexión del dispositivo, puede ir directamente a Ejecución del ejemplo de dispositivo.
Para agregar una conexión al centro de IoT:
Ejecute el comando az iot hub connection-string show para obtener la cadena de conexión para el centro de IoT.
az iot hub connection-string show --hub-name {YourIoTHubName}
Copie la cadena de conexión sin los caracteres de comillas circundantes.
En Azure IoT Explorer, seleccione Centros de IoT en el menú izquierdo y, a continuación, seleccione + Agregar conexión.
Pegue la cadena de conexión en el cuadro Cadena de conexión.
Seleccione Guardar.
Si la conexión se realiza correctamente, IoT Explorer cambia a la vista Dispositivos.
Para agregar el repositorio de modelos público:
En IoT Explorer, seleccione Inicio para volver a la vista principal.
En el menú de la izquierda, seleccione Configuración de IoT Plug and Play y, a continuación, seleccione +Agregar y elija Repositorio público en el menú desplegable.
Aparece una entrada para el repositorio de modelos público en
https://devicemodels.azure.com
.Seleccione Guardar.
Registrar un dispositivo
En esta sección, creará una nueva instancia de dispositivo y la registrará en el centro de IoT que creó. Usará la información de conexión del dispositivo recién registrado para conectar de forma segura el dispositivo en una sección posterior.
Para registrar un dispositivo:
En la vista principal de IoT Explorer, seleccione Centros de IoT.
Debería aparecer la conexión que agregó anteriormente. Seleccione View devices in this hub (Ver dispositivos en este centro) debajo de las propiedades de conexión.
Seleccione + Nuevo y escriba un identificador de dispositivo para el dispositivo. Por ejemplo, miDispositivo. Deje todas las demás propiedades tal cual.
Seleccione Crear.
Use los botones de copia para copiar y anotar el campo Cadena de conexión principal. Necesitará esta cadena de conexión más adelante.
Ejecución del ejemplo de dispositivo
En esta sección, usará el SDK para Python para enviar mensajes desde un dispositivo al centro de IoT. Ejecutará un ejemplo que implementa un controlador de temperatura con dos sensores de termostato.
Abra una consola nueva como el símbolo del sistema de Windows, PowerShell o Bash. En los pasos siguientes, usará esta consola para instalar el SDK para Python y trabajar con el código de ejemplo de Python.
Nota
Si usa una instalación local de la CLI de Azure, es posible que ahora tenga dos ventanas de consola abiertas. Asegúrese de escribir los comandos de esta sección en la consola que acaba de abrir, en lugar de la que ha estado usando para la CLI.
Clone las muestras de dispositivo para el SDK de IoT de Azure para Python en la máquina local:
git clone --branch v2 https://github.com/Azure/azure-iot-sdk-python
Vaya al directorio de muestras:
Windows
cd azure-iot-sdk-python\samples\pnp
Sistema operativo Linux o Raspberry Pi
cd azure-iot-sdk-python/samples/pnp
Instale el SDK de Azure IoT para Python:
pip3 install azure-iot-device
Establezca las siguientes variables de entorno para que el dispositivo se pueda conectar a Azure IoT.
- Establezca una variable de entorno llamada
IOTHUB_DEVICE_CONNECTION_STRING
. Como valor de la variable, use la cadena de conexión del dispositivo que ha guardado en la sección anterior. - Establezca una variable de entorno llamada
IOTHUB_DEVICE_SECURITY_TYPE
. Para la variable, use el valor de cadena literalconnectionString
.
CMD (Windows)
set IOTHUB_DEVICE_CONNECTION_STRING=<your connection string here> set IOTHUB_DEVICE_SECURITY_TYPE=connectionString
Nota
En el caso del símbolo de comandos de Windows, no hay comillas alrededor de los valores de cadena de cada variable.
PowerShell
$env:IOTHUB_DEVICE_CONNECTION_STRING='<your connection string here>' $env:IOTHUB_DEVICE_SECURITY_TYPE='connectionString'
Bash
export IOTHUB_DEVICE_CONNECTION_STRING="<your connection string here>" export IOTHUB_DEVICE_SECURITY_TYPE="connectionString"
- Establezca una variable de entorno llamada
Ejecute el código para el siguiente archivo de muestra.
python temp_controller_with_thermostats.py
Nota
En este ejemplo de código se usa Azure IoT Plug and Play, que le permite integrar dispositivos inteligentes en sus soluciones sin ninguna configuración manual. De forma predeterminada, la mayoría de los ejemplos de esta documentación usan IoT Plug and Play. Para obtener más información sobre las ventajas de IoT Plug and Play y los casos para su uso o no, consulte ¿Qué es IoT Plug and Play?
El ejemplo se conecta de forma segura al centro de IoT como el dispositivo que registró y comienza a enviar mensajes de telemetría. La salida de ejemplo se muestra en la consola.
Ver datos de telemetría
Puede ver la telemetría del dispositivo con el explorador de IoT. También puede verla mediante la CLI de Azure.
Para ver la telemetría en Azure IoT Explorer:
En el centro de IoT del explorador de IoT, seleccione View devices in this hub (Ver dispositivos en este centro) y seleccione el dispositivo en la lista.
En el menú de la izquierda del dispositivo, seleccione Telemetría.
Confirme que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Vea la telemetría a medida que el dispositivo envía mensajes a la nube.
Seleccione Detener para dejar de recibir eventos.
Para leer la telemetría que envían los componentes individuales del dispositivo, puede utilizar las características de Plug and Play de IoT Explorer. Por ejemplo, el controlador de temperatura de este inicio rápido tiene dos termostatos: thermostat1 y thermostat2. Para ver la temperatura que notifica thermostat1:
En el explorador de IoT del dispositivo, seleccione IoT Plug and Play components (Componentes de IoT Plug and Play) en el menú de la izquierda. A continuación, seleccione thermostat1 en la lista de componentes.
En el panel del componente thermostat1, seleccione Telemetría en el menú superior.
En el panel Telemetría, siga los mismos pasos que realizó anteriormente. Asegúrese de que la opción Use built-in event hub (Usar centro de eventos integrado) esté establecida en Sí y, a continuación, seleccione Iniciar.
Para ver la telemetría del dispositivo con la CLI de Azure:
Ejecute el comando az iot hub monitor-events para supervisar los eventos enviados desde el dispositivo al centro de IoT. Use los nombres que creó anteriormente en Azure IoT para el dispositivo IoT Hub.
az iot hub monitor-events --output table --device-id mydevice --hub-name {YourIoTHubName}
Vea los detalles de la conexión y la salida de telemetría en la consola.
Starting event monitor, filtering on device: mydevice, use ctrl-c to stop... event: component: thermostat1 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 28 event: component: thermostat2 interface: dtmi:com:example:TemperatureController;2 module: '' origin: mydevice payload: temperature: 10
Limpieza de recursos
Si ya no necesita los recursos de Azure creados en este tutorial, puede usar la CLI de Azure para eliminarlos.
Importante
La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos contenidos en él se eliminan permanentemente. Asegúrese de no eliminar por accidente el grupo de recursos o los recursos equivocados.
Para eliminar un grupo de recursos por el nombre:
Ejecute el comando az group delete. Este comando quita el grupo de recursos, el centro de IoT y el registro del dispositivo que ha creado.
az group delete --name MyResourceGroup
Ejecute el comando az group list para confirmar que se ha eliminado el grupo de recursos.
az group list
Pasos siguientes
En este tutorial, ha aprendido un flujo de trabajo básico de una aplicación de Azure IoT para conectar un dispositivo a la nube de forma segura y enviar datos de telemetría del dispositivo a la nube. Ha utilizado la CLI de Azure para crear un centro de Azure IoT y una instancia de un dispositivo. Después ha usado un SDK de dispositivo IoT de Azure para crear un controlador de temperatura, conectarlo al centro y enviar telemetría. También ha usado la CLI de Azure para supervisar la telemetría.
A continuación, puede explorar los siguientes artículos para más información sobre la creación de soluciones de dispositivo con Azure IoT.