Usar la extensión de IoT de la CLI de Azure para la administración de dispositivos de Azure IoT Hub
Aprenderá a usar la extensión de IoT para la CLI de Azure con distintas opciones de administración en la máquina de desarrollo. La extensión de IoT para la CLI de Azure es una extensión de IoT de código abierto que se suma a las funcionalidades de la CLI de Azure. La CLI de Azure incluye comandos para interactuar con Azure Resource Manager y los puntos de conexión de administración. Por ejemplo, la puede utilizar para crear una máquina virtual de Azure o una instancia de IoT Hub. Una extensión de la CLI permite que un servicio de Azure aumente la CLI de Azure para proporcionar al usuario acceso a funcionalidades adicionales específicas de un servicio. La extensión de IoT proporciona a los desarrolladores de IoT acceso con la línea de comandos a todas las funcionalidades de IoT Hub, IoT Edge y del servicio IoT Hub Device Provisioning.
Opción de administración | Tarea |
---|---|
Métodos directos | Hacer que un dispositivo actúe, por ejemplo, para iniciar o detener el envío de mensajes o reiniciar el dispositivo. |
Propiedades deseadas de dispositivos gemelos | Poner un dispositivo en determinados estados, como establecer un indicador LED en verde o establecer el intervalo de envío de telemetría en 30 minutos. |
Propiedades notificadas de dispositivos gemelos | Obtener el estado notificado de un dispositivo. Por ejemplo, el dispositivo informa de que el LED está parpadeando. |
Etiquetas de dispositivos gemelos | Almacenar metadatos específicos de dispositivo en la nube. Por ejemplo, la ubicación de implementación de una máquina expendedora. |
Consultas de dispositivos gemelos | Consultar todos los dispositivos gemelos para recuperar aquellos con condiciones arbitrarias como, por ejemplo, identificar los dispositivos que están disponibles para su uso. |
Para obtener una explicación más detallada acerca de las diferencias y orientación sobre el uso de estas opciones, consulte la Guía de comunicación de dispositivo a nube y la Guía de comunicación de nube a dispositivo.
Los dispositivos gemelos son documentos JSON que almacenan información sobre el estado de los dispositivos (metadatos, configuraciones y condiciones). IoT Hub conserva un dispositivo gemelo por cada dispositivo que se conecta a él. Para más información acerca de los dispositivos gemelos, consulte Introducción a los dispositivos gemelos.
Nota
En este artículo se usa la versión más reciente de la extensión de Azure IoT, denominada azure-iot
. La versión heredada se denomina azure-cli-iot-ext
. Solo debe tener instalada una versión a la vez. Puede usar el comando az extension list
para validar las extensiones instaladas actualmente.
Use az extension remove --name azure-cli-iot-ext
para eliminar la versión heredada de la extensión.
Use az extension add --name azure-iot
para agregar la nueva versión de la extensión.
Para ver las extensiones que ha instalado, use az extension list
.
Nota
Las características descritas en este artículo solo están disponibles en el nivel estándar de IoT Hub. Para obtener más información sobre los niveles Básico y Estándar o Gratis de IoT Hub, consulte Elección del nivel adecuado de IoT Hub para la solución.
Requisitos previos
Realice el tutorial del simulador en línea de Raspberry Pi, o bien uno de los tutoriales del dispositivo. Por ejemplo, puede ir a Raspberry Pi con Node.js o a uno de los inicios rápidos de envío de telemetría. Estos artículos abarcan los requisitos siguientes:
- Una suscripción de Azure activa.
- Un centro de Azure IoT en su suscripción.
- Una aplicación cliente que envía mensajes a su centro de Azure IoT.
Asegúrese de que el dispositivo se está ejecutando con la aplicación de cliente durante este tutorial.
La CLI de Azure. Si necesita instalarla, consulte Instalación de la CLI de Azure. Como mínimo, la versión de la CLI de Azure debe ser la 2.0.70. Use
az –version
para asegurarse.
Nota
En este artículo se usa la versión más reciente de la extensión de Azure IoT, denominada azure-iot
. La versión heredada se denomina azure-cli-iot-ext
. Solo debe tener instalada una versión a la vez. Puede usar el comando az extension list
para validar las extensiones instaladas actualmente.
Use az extension remove --name azure-cli-iot-ext
para eliminar la versión heredada de la extensión.
Use az extension add --name azure-iot
para agregar la nueva versión de la extensión.
Para ver las extensiones que ha instalado, use az extension list
.
- Instale la extensión de IoT. La manera más sencilla es ejecutar
az extension add --name azure-iot
. En el archivo Léame de la extensión de IoT se describen varias maneras de instalarla.
Inicio de sesión en la cuenta de Azure.
Inicie sesión en la cuenta de Azure mediante el siguiente comando:
az login
Métodos directos
az iot hub invoke-device-method --device-id <your device id> \
--hub-name <your hub name> \
--method-name <the method name> \
--method-payload <the method payload>
Propiedades deseadas de dispositivos gemelos
Establezca un intervalo de propiedad deseada = 3000 mediante la ejecución del comando siguiente:
az iot hub device-twin update -n <your hub name> \
-d <your device id> --set properties.desired.interval=3000
Esta propiedad se puede leer desde el dispositivo.
Propiedades notificadas de dispositivos gemelos
Obtenga las propiedades notificadas del dispositivo mediante la ejecución del comando siguiente:
az iot hub device-twin show -n <your hub name> -d <your device id>
Una de las propiedades notificadas gemelas es $metadata.$lastUpdated, que muestra la última vez que la aplicación para dispositivos actualizó su conjunto de propiedades notificadas.
Etiquetas de dispositivos gemelos
Muestre las etiquetas y las propiedades del dispositivo mediante la ejecución del comando siguiente:
az iot hub device-twin show --hub-name <your hub name> --device-id <your device id>
Agregue un rol de campo = "temperature&humidity" al dispositivo mediante la ejecución del siguiente comando:
az iot hub device-twin update \
--hub-name <your hub name> \
--device-id <your device id> \
--set tags='{"role":"temperature&humidity"}'
Consultas de dispositivos gemelos
Consulte los dispositivos con una etiqueta de rol = "temperature&humidity" mediante la ejecución del siguiente comando:
az iot hub query --hub-name <your hub name> \
--query-command "SELECT * FROM devices WHERE tags.role = 'temperature&humidity'"
Consulte todos los dispositivos excepto los que tienen una etiqueta de rol = "temperature&humidity" mediante la ejecución del siguiente comando:
az iot hub query --hub-name <your hub name> \
--query-command "SELECT * FROM devices WHERE tags.role != 'temperature&humidity'"
Pasos siguientes
Ahora sabe cómo supervisar los mensajes del dispositivo a la nube y enviar mensajes de la nube al dispositivo entre el dispositivo de IoT y la instancia de Azure IoT Hub.
Para continuar la introducción a Azure IoT Hub y explorar todos los escenarios de IoT con mayor detalle, consulte lo siguiente:
Administración de dispositivos con la extensión de Azure IoT Hub para Visual Studio Code
Uso de Power BI para visualizar datos del sensor en tiempo real desde IoT Hub
Visualizar datos de sensor en tiempo real desde Azure IoT Hub en una aplicación web
Uso de Logic Apps para la supervisión remota y notificaciones