Inicio rápido: Control de un dispositivo conectado a IoT Hub
En este inicio rápido, usa un método directo para controlar un dispositivo simulado conectado a IoT Hub. IoT Hub es un servicio de Azure que permite administrar dispositivos IoT desde la nube e ingerir grandes volúmenes de datos de telemetría de dispositivos en la nube para su almacenamiento o procesamiento. Puede usar métodos directos para cambiar el comportamiento de los dispositivos conectados a IoT Hub de forma remota.
El inicio rápido usa dos aplicaciones .NET escritas anteriormente:
Una aplicación de dispositivo simulado que responde a métodos directos que se llaman desde una aplicación de servicio. Para recibir las llamadas de método directo, esta aplicación se conecta a un punto de conexión específico del dispositivo en IoT Hub.
Una aplicación de servicio que llama a los métodos directos en el dispositivo simulado. Para llamar a un método directo en un dispositivo, esta aplicación se conecta a un punto de conexión de servicio en IoT Hub.
Requisitos previos
Una cuenta de Azure con una suscripción activa. cree una de forma gratuita.
Las dos aplicaciones de ejemplo que se ejecutan en este inicio rápido se escriben con C#. Se necesita el SDK de .NET Core 3.1, o cualquier versión superior, en su máquina de desarrollo.
Puede descargar el SDK de .NET Core para varias plataformas desde .NET.
Puede verificar la versión actual de C# en el equipo de desarrollo con el comando siguiente:
dotnet --versionSi aún no lo ha hecho, descargue los ejemplos de C# de Azure IoT de https://github.com/Azure-Samples/azure-iot-samples-csharp/archive/main.zip y extraiga el archivo ZIP.
Asegúrese de que está abierto el puerto 8883 del firewall. En el dispositivo de ejemplo de este inicio rápido se usa el protocolo MQTT, que se comunica mediante el puerto 8883. Este puerto puede estar bloqueado en algunos entornos de red corporativos y educativos. Para más información y para saber cómo solucionar este problema, consulte el artículo sobre la conexión a IoT Hub (MQTT).
Use el entorno de Bash en Azure Cloud Shell.
Si lo prefiere, instale la CLI de Azure para ejecutar sus comandos de referencia.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
Cuando se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
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.
Crear un centro de IoT
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
En esta sección se describe cómo crear un centro de IoT mediante Azure Portal.
Inicie sesión en Azure Portal.
En la página de inicio de Azure, seleccione + Crear un recurso y, después, escriba IoT Hub en el campo Buscar en Marketplace.
Seleccione IoT Hub en los resultados de la búsqueda y, después, haga clic en Crear.
En la pestaña Datos básicos, complete los campos como se indica a continuación:
Suscripción: seleccione la suscripción que quiera usar para el centro.
Grupo de recursos: seleccione un grupo de recursos o cree uno. Para crear uno, haga clic en Crear y escriba el nombre que quiera usar. Para usar un grupo de recursos existente, selecciónelo. Para más información, consulte Administración de grupos de recursos de Azure Resource Manager.
Región: seleccione la región a la que quiera asignar el centro. Seleccione la ubicación más cercana a la suya. Algunas características, como los flujos de dispositivo de IoT Hub, solo están disponibles en regiones específicas. Para ver estas características limitadas, debe seleccionar una de las regiones admitidas.
Nombre de la instancia de IoT Hub: escriba el nombre del centro. Este nombre debe ser globalmente único y tener una longitud que oscile entre 3 y 50 caracteres alfanuméricos. El nombre también puede incluir el carácter de guion (
'-').
Importante
Como el centro de IoT se podrá detectar públicamente como un punto de conexión de DNS, asegúrese de que no incluye información de identificación personal ni información confidencial al asignarle un nombre.
Seleccione Siguiente: Redes para continuar con la creación del centro.
Elija los puntos de conexión que los dispositivos puedan usar para conectar a su instancia de IoT Hub. Puede seleccionar la configuración predeterminada Punto de conexión público (todas las redes) o elegir Punto de conexión público (intervalos de IP seleccionados) o Punto de conexión privado. Acepte la configuración predeterminada para este ejemplo.
.Seleccione Siguiente: Administración para continuar con la creación del centro.
Puede aceptar la configuración predeterminada aquí. Si lo desea, puede modificar cualquiera de los siguientes campos:
Plan de tarifa y escala: nivel seleccionado. Puede elegir entre varios niveles, en función del número de características que desee, y del número de mensajes que envíe al día a través de su solución. El nivel gratis está pensado para la prueba y evaluación. Permite la conexión de 500 dispositivos con el centro de IoT y hasta 8000 mensajes al día. Cada suscripción a Azure puede crear un centro de IoT en el nivel gratis.
Si está trabajando con un inicio rápido de flujos de dispositivo de IoT Hub, seleccione el nivel gratuito.
Unidades de IoT Hub: El número de mensajes que se permiten por unidad al día depende del plan de tarifa del centro. Por ejemplo, si quiere que el Centro de IoT admita la entrada de 700 000 mensajes, seleccione dos unidades del nivel S1. Para más información sobre las demás opciones del nivel, consulte la sección Elección del nivel correcto de IoT Hub.
Defender para IoT Actívelo para agregar un nivel adicional de protección ante amenazas en IoT y en los dispositivos. Esta opción no está disponible para los centros de conectividad del nivel gratuito. Para obtener más información acerca de esta característica, consulte Microsoft Defender para IoT.
Configuración avanzada > Particiones del dispositivo a la nube: esta propiedad relaciona los mensajes del dispositivo a la nube con el número de lectores simultáneos de los mensajes. La mayoría de los centros solo necesitan cuatro particiones.
Seleccione Siguiente: Etiquetas para pasar a la pantalla siguiente.
Las etiquetas son pares nombre-valor. Puede asignar la misma etiqueta a varios recursos y grupos de recursos para clasificar los recursos y consolidar la facturación. En este documento, no va a agregar ninguna etiqueta. Para más información, consulte Uso de etiquetas para organizar los recursos de Azure.
Seleccione Siguiente: Revisar y crear para revisar sus selecciones. Verá algo parecido a esta pantalla, pero con los valores que ha seleccionado al crear el centro.
.Seleccione Crear para iniciar la implementación del nuevo centro. La implementación estará en curso unos minutos mientras se crea el centro. Una vez que la implementación finalice, haga clic en Ir al recurso para abrir el nuevo centro.
Registrar un dispositivo
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
Debe registrar un dispositivo con IoT Hub antes de poder conectarlo. En esta guía de inicio rápido, usará Azure Cloud Shell para registrar un dispositivo simulado.
Ejecute los siguientes comandos en Azure Cloud Shell para crear la identidad del dispositivo.
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
MyDotnetDevice: es el nombre del dispositivo que se va a registrar. Se recomienda usar MyDotnetDevice como se muestra. Si elige otro nombre distinto para el dispositivo, tendrá que usarlo en todo el artículo y actualizar el nombre del dispositivo en las aplicaciones de ejemplo antes de ejecutarlas.
az iot hub device-identity create \ --hub-name {YourIoTHubName} --device-id MyDotnetDeviceEjecute los siguientes comandos en Azure Cloud Shell para obtener la cadena de conexión del dispositivo que acaba de registrar:
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
az iot hub device-identity connection-string show \ --hub-name {YourIoTHubName} \ --device-id MyDotnetDevice \ --output tableAnote la cadena de conexión del dispositivo, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}Usará este valor más adelante en este inicio rápido.
Recuperación de la cadena de conexión de servicio
También necesita una cadena de conexión de servicio de IoT Hub para permitir que la aplicación de servicio se conecte al centro y recupere los mensajes. El comando siguiente recupera la cadena de conexión del servicio de su instancia de IoT Hub:
az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table
Anote la cadena de conexión del servicio, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Usará este valor más adelante en este inicio rápido. Esta cadena de conexión del servicio no es la que anotó en el paso anterior.
Escuchas para llamadas de método directo
La aplicación del dispositivo simulado se conecta a un punto de conexión específico del dispositivo en IoT Hub, envía los datos de telemetría simulados y escucha llamadas de método directo desde el centro. En este inicio rápido, la llamada de método directo desde el centro indica al dispositivo que debe cambiar el intervalo en el que envía los datos de telemetría. El dispositivo simulado envía una confirmación al centro después de que ejecuta el método directo.
En una ventana de terminal local, vaya a la carpeta raíz del proyecto de C# de muestra. Luego, vaya a la carpeta iot-hub\Quickstarts\SimulatedDeviceWithCommand.
En la ventana de terminal local, ejecute los comandos siguientes para instalar los paquetes necesarios para la aplicación de dispositivo simulado:
dotnet restoreEn la ventana de terminal local, ejecute el siguiente comando para compilar la aplicación de dispositivo simulado y ejecutarla, pero sustituya
{DeviceConnectionString}por la cadena de conexión del dispositivo que anotó anteriormente:dotnet run -- {DeviceConnectionString}La siguiente captura de pantalla muestra la salida en la que la aplicación de dispositivo simulado envía datos de telemetría a IoT Hub:

Llamar al método directo
La aplicación de servicio se conecta a un punto de conexión de servicio en IoT Hub. La aplicación realiza llamadas de método directo a un dispositivo con IoT Hub y escucha las confirmaciones. Las aplicación de servicio de IoT Hub habitualmente se ejecutan en la nube.
En otra ventana de terminal local, vaya a la carpeta raíz del proyecto de C# de muestra. A continuación, vaya a la carpeta iot-hub\Quickstarts\InvokeDeviceMethod.
En la ventana de terminal local, ejecute los comandos siguientes para instalar las bibliotecas necesarias para la aplicación de servicio:
dotnet restoreEn la ventana de terminal local, ejecute el siguiente comando para compilar la aplicación de servicio y ejecutarla, pero sustituya
{ServiceConnectionString}por la cadena de conexión del servicio que anotó anteriormente:dotnet run -- {ServiceConnectionString}En la siguiente captura de pantalla se muestra la salida en la que la aplicación realiza una llamada de método directo al dispositivo y recibe una confirmación:

Después de ejecutar la aplicación de servicio, verá un mensaje en la ventana de consola que ejecuta el dispositivo simulado y cambiará la velocidad a la que envía mensajes:

En este inicio rápido se usan dos aplicaciones Java: una aplicación de un dispositivo simulado que responde a métodos directos llamados desde una aplicación de back-end y una aplicación de servicio que llama al método directo en el dispositivo simulado.
Prerrequisitos
Una cuenta de Azure con una suscripción activa. cree una de forma gratuita.
Java SE Development Kit 8. En el artículo Soporte técnico de Java a largo plazo para Azure y Azure Stack, en la sección Soporte técnico a largo plazo, seleccione Java 8.
Puede verificar la versión actual de Java en el equipo de desarrollo con el comando siguiente:
java -version-
Puede verificar la versión actual de Maven en el equipo de desarrollo con el comando siguiente:
mvn --version El puerto 8883 abierto en el firewall. En el dispositivo de ejemplo de este inicio rápido se usa el protocolo MQTT, que se comunica mediante el puerto 8883. Este puerto puede estar bloqueado en algunos entornos de red corporativos y educativos. Para más información y para saber cómo solucionar este problema, consulte el artículo sobre la conexión a IoT Hub (MQTT).
Use el entorno de Bash en Azure Cloud Shell.
Si lo prefiere, instale la CLI de Azure para ejecutar sus comandos de referencia.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
Cuando se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
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.
Crear un centro de IoT
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
En esta sección se describe cómo crear un centro de IoT mediante Azure Portal.
Inicie sesión en Azure Portal.
En la página de inicio de Azure, seleccione + Crear un recurso y, después, escriba IoT Hub en el campo Buscar en Marketplace.
Seleccione IoT Hub en los resultados de la búsqueda y, después, haga clic en Crear.
En la pestaña Datos básicos, complete los campos como se indica a continuación:
Suscripción: seleccione la suscripción que quiera usar para el centro.
Grupo de recursos: seleccione un grupo de recursos o cree uno. Para crear uno, haga clic en Crear y escriba el nombre que quiera usar. Para usar un grupo de recursos existente, selecciónelo. Para más información, consulte Administración de grupos de recursos de Azure Resource Manager.
Región: seleccione la región a la que quiera asignar el centro. Seleccione la ubicación más cercana a la suya. Algunas características, como los flujos de dispositivo de IoT Hub, solo están disponibles en regiones específicas. Para ver estas características limitadas, debe seleccionar una de las regiones admitidas.
Nombre de la instancia de IoT Hub: escriba el nombre del centro. Este nombre debe ser globalmente único y tener una longitud que oscile entre 3 y 50 caracteres alfanuméricos. El nombre también puede incluir el carácter de guion (
'-').
Importante
Como el centro de IoT se podrá detectar públicamente como un punto de conexión de DNS, asegúrese de que no incluye información de identificación personal ni información confidencial al asignarle un nombre.
Seleccione Siguiente: Redes para continuar con la creación del centro.
Elija los puntos de conexión que los dispositivos puedan usar para conectar a su instancia de IoT Hub. Puede seleccionar la configuración predeterminada Punto de conexión público (todas las redes) o elegir Punto de conexión público (intervalos de IP seleccionados) o Punto de conexión privado. Acepte la configuración predeterminada para este ejemplo.
.Seleccione Siguiente: Administración para continuar con la creación del centro.
Puede aceptar la configuración predeterminada aquí. Si lo desea, puede modificar cualquiera de los siguientes campos:
Plan de tarifa y escala: nivel seleccionado. Puede elegir entre varios niveles, en función del número de características que desee, y del número de mensajes que envíe al día a través de su solución. El nivel gratis está pensado para la prueba y evaluación. Permite la conexión de 500 dispositivos con el centro de IoT y hasta 8000 mensajes al día. Cada suscripción a Azure puede crear un centro de IoT en el nivel gratis.
Si está trabajando con un inicio rápido de flujos de dispositivo de IoT Hub, seleccione el nivel gratuito.
Unidades de IoT Hub: El número de mensajes que se permiten por unidad al día depende del plan de tarifa del centro. Por ejemplo, si quiere que el Centro de IoT admita la entrada de 700 000 mensajes, seleccione dos unidades del nivel S1. Para más información sobre las demás opciones del nivel, consulte la sección Elección del nivel correcto de IoT Hub.
Defender para IoT Actívelo para agregar un nivel adicional de protección ante amenazas en IoT y en los dispositivos. Esta opción no está disponible para los centros de conectividad del nivel gratuito. Para obtener más información acerca de esta característica, consulte Microsoft Defender para IoT.
Configuración avanzada > Particiones del dispositivo a la nube: esta propiedad relaciona los mensajes del dispositivo a la nube con el número de lectores simultáneos de los mensajes. La mayoría de los centros solo necesitan cuatro particiones.
Seleccione Siguiente: Etiquetas para pasar a la pantalla siguiente.
Las etiquetas son pares nombre-valor. Puede asignar la misma etiqueta a varios recursos y grupos de recursos para clasificar los recursos y consolidar la facturación. En este documento, no va a agregar ninguna etiqueta. Para más información, consulte Uso de etiquetas para organizar los recursos de Azure.
Seleccione Siguiente: Revisar y crear para revisar sus selecciones. Verá algo parecido a esta pantalla, pero con los valores que ha seleccionado al crear el centro.
.Seleccione Crear para iniciar la implementación del nuevo centro. La implementación estará en curso unos minutos mientras se crea el centro. Una vez que la implementación finalice, haga clic en Ir al recurso para abrir el nuevo centro.
Registrar un dispositivo
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
Debe registrar un dispositivo con IoT Hub antes de poder conectarlo. En esta guía de inicio rápido, usará Azure Cloud Shell para registrar un dispositivo simulado.
Ejecute los siguientes comandos en Azure Cloud Shell para crear la identidad del dispositivo.
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
MyJavaDevice: es el nombre del dispositivo que se va a registrar. Se recomienda usar MyJavaDevice como se muestra. Si elige otro nombre distinto para el dispositivo, tendrá que usarlo en todo el artículo y actualizar el nombre del dispositivo en las aplicaciones de ejemplo antes de ejecutarlas.
az iot hub device-identity create \ --hub-name {YourIoTHubName} --device-id MyJavaDeviceEjecute los siguientes comandos en Azure Cloud Shell para obtener la cadena de conexión del dispositivo que acaba de registrar:
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
az iot hub device-identity connection-string show\ --hub-name {YourIoTHubName} \ --device-id MyJavaDevice \ --output tableAnote la cadena de conexión del dispositivo, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}Usará este valor más adelante en este inicio rápido.
Recuperación de la cadena de conexión de servicio
También necesita una cadena de conexión de servicio para permitir que la aplicación back-end se conecte a IoT Hub y recupere los mensajes. El comando siguiente recupera la cadena de conexión del servicio de su instancia de IoT Hub:
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
az iot hub connection-string show --policy-name service --name {YourIoTHubName} --output table
Anote la cadena de conexión del servicio, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}
Usará este valor más adelante en este inicio rápido. Esta cadena de conexión del servicio no es la que anotó en el paso anterior.
Escuchas para llamadas de método directo
La aplicación del dispositivo simulado se conecta a un punto de conexión específico del dispositivo en IoT Hub, envía los datos de telemetría simulados y escucha llamadas de método directo desde el centro. En este inicio rápido, la llamada de método directo desde el centro indica al dispositivo que debe cambiar el intervalo en el que envía los datos de telemetría. El dispositivo simulado envía una confirmación al centro después de que ejecuta el método directo.
En una ventana de terminal local, vaya a la carpeta raíz del proyecto de Java de ejemplo. A continuación, vaya a la carpeta iot-hub\Quickstarts\simulated-device-2.
Abra el archivo src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java en el editor de texto de su elección.
Reemplace el valor de la variable
connStringpor la cadena de conexión del dispositivo que anotó anteriormente. A continuación, guarde los cambios realizados en SimulatedDevice.java.En la ventana de terminal local, ejecute los comandos siguientes para instalar las bibliotecas necesarias y compile la aplicación de dispositivo simulado:
mvn clean packageEn la ventana de terminal local, ejecute los comandos siguientes para ejecutar la aplicación de dispositivo simulado:
java -jar target/simulated-device-2-1.0.0-with-deps.jarLa siguiente captura de pantalla muestra la salida en la que la aplicación de dispositivo simulado envía datos de telemetría a IoT Hub:

Llamar al método directo
La aplicación back-end se conecta a un punto de conexión de servicio en IoT Hub. La aplicación realiza llamadas de método directo a un dispositivo con IoT Hub y escucha las confirmaciones. Normalmente, una aplicación back-end de IoT Hub se ejecuta en la nube.
En otra ventana de terminal local, vaya a la carpeta raíz del proyecto de Java de ejemplo. A continuación, vaya a la carpeta iot-hub\Quickstarts\back-end-application.
Abra el archivo src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java en el editor de texto que prefiera.
Reemplace el valor de la variable
iotHubConnectionStringpor la cadena de conexión del servicio que anotó anteriormente. Luego, guarde los cambios en el archivo BackEndApplication.java.En la ventana de terminal local, ejecute los comandos siguientes para instalar las bibliotecas necesarias y compile la aplicación back-end:
mvn clean packageEn la ventana de terminal local, ejecute los comandos siguientes para ejecutar la aplicación back-end:
java -jar target/back-end-application-1.0.0-with-deps.jarEn la siguiente captura de pantalla se muestra la salida en la que la aplicación realiza una llamada de método directo al dispositivo y recibe una confirmación:

Después de ejecutar la aplicación back-end, verá un mensaje en la ventana de consola que ejecuta el dispositivo simulado y cambiará la velocidad a la que envía mensajes:

En este inicio rápido se usan dos aplicaciones de Node.js: una aplicación de un dispositivo simulado que responde a métodos directos llamados desde una aplicación de back-end y una aplicación de back-end que llama a los métodos directos en el dispositivo simulado.
Prerrequisitos
Una cuenta de Azure con una suscripción activa. cree una de forma gratuita.
-
Puede verificar la versión actual de Node.js en el equipo de desarrollo con el comando siguiente:
node --version El puerto 8883 abierto en el firewall. En el dispositivo de ejemplo de este inicio rápido se usa el protocolo MQTT, que se comunica mediante el puerto 8883. Este puerto puede estar bloqueado en algunos entornos de red corporativos y educativos. Para más información y para saber cómo solucionar este problema, consulte el artículo sobre la conexión a IoT Hub (MQTT).
Use el entorno de Bash en Azure Cloud Shell.
Si lo prefiere, instale la CLI de Azure para ejecutar sus comandos de referencia.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
Cuando se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
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.
Crear un centro de IoT
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
En esta sección se describe cómo crear un centro de IoT mediante Azure Portal.
Inicie sesión en Azure Portal.
En la página de inicio de Azure, seleccione + Crear un recurso y, después, escriba IoT Hub en el campo Buscar en Marketplace.
Seleccione IoT Hub en los resultados de la búsqueda y, después, haga clic en Crear.
En la pestaña Datos básicos, complete los campos como se indica a continuación:
Suscripción: seleccione la suscripción que quiera usar para el centro.
Grupo de recursos: seleccione un grupo de recursos o cree uno. Para crear uno, haga clic en Crear y escriba el nombre que quiera usar. Para usar un grupo de recursos existente, selecciónelo. Para más información, consulte Administración de grupos de recursos de Azure Resource Manager.
Región: seleccione la región a la que quiera asignar el centro. Seleccione la ubicación más cercana a la suya. Algunas características, como los flujos de dispositivo de IoT Hub, solo están disponibles en regiones específicas. Para ver estas características limitadas, debe seleccionar una de las regiones admitidas.
Nombre de la instancia de IoT Hub: escriba el nombre del centro. Este nombre debe ser globalmente único y tener una longitud que oscile entre 3 y 50 caracteres alfanuméricos. El nombre también puede incluir el carácter de guion (
'-').
Importante
Como el centro de IoT se podrá detectar públicamente como un punto de conexión de DNS, asegúrese de que no incluye información de identificación personal ni información confidencial al asignarle un nombre.
Seleccione Siguiente: Redes para continuar con la creación del centro.
Elija los puntos de conexión que los dispositivos puedan usar para conectar a su instancia de IoT Hub. Puede seleccionar la configuración predeterminada Punto de conexión público (todas las redes) o elegir Punto de conexión público (intervalos de IP seleccionados) o Punto de conexión privado. Acepte la configuración predeterminada para este ejemplo.
.Seleccione Siguiente: Administración para continuar con la creación del centro.
Puede aceptar la configuración predeterminada aquí. Si lo desea, puede modificar cualquiera de los siguientes campos:
Plan de tarifa y escala: nivel seleccionado. Puede elegir entre varios niveles, en función del número de características que desee, y del número de mensajes que envíe al día a través de su solución. El nivel gratis está pensado para la prueba y evaluación. Permite la conexión de 500 dispositivos con el centro de IoT y hasta 8000 mensajes al día. Cada suscripción a Azure puede crear un centro de IoT en el nivel gratis.
Si está trabajando con un inicio rápido de flujos de dispositivo de IoT Hub, seleccione el nivel gratuito.
Unidades de IoT Hub: El número de mensajes que se permiten por unidad al día depende del plan de tarifa del centro. Por ejemplo, si quiere que el Centro de IoT admita la entrada de 700 000 mensajes, seleccione dos unidades del nivel S1. Para más información sobre las demás opciones del nivel, consulte la sección Elección del nivel correcto de IoT Hub.
Defender para IoT Actívelo para agregar un nivel adicional de protección ante amenazas en IoT y en los dispositivos. Esta opción no está disponible para los centros de conectividad del nivel gratuito. Para obtener más información acerca de esta característica, consulte Microsoft Defender para IoT.
Configuración avanzada > Particiones del dispositivo a la nube: esta propiedad relaciona los mensajes del dispositivo a la nube con el número de lectores simultáneos de los mensajes. La mayoría de los centros solo necesitan cuatro particiones.
Seleccione Siguiente: Etiquetas para pasar a la pantalla siguiente.
Las etiquetas son pares nombre-valor. Puede asignar la misma etiqueta a varios recursos y grupos de recursos para clasificar los recursos y consolidar la facturación. En este documento, no va a agregar ninguna etiqueta. Para más información, consulte Uso de etiquetas para organizar los recursos de Azure.
Seleccione Siguiente: Revisar y crear para revisar sus selecciones. Verá algo parecido a esta pantalla, pero con los valores que ha seleccionado al crear el centro.
.Seleccione Crear para iniciar la implementación del nuevo centro. La implementación estará en curso unos minutos mientras se crea el centro. Una vez que la implementación finalice, haga clic en Ir al recurso para abrir el nuevo centro.
Registrar un dispositivo
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
Debe registrar un dispositivo con IoT Hub antes de poder conectarlo. En esta guía de inicio rápido, usará Azure Cloud Shell para registrar un dispositivo simulado.
Ejecute los siguientes comandos en Azure Cloud Shell para crear la identidad del dispositivo.
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
MyNodeDevice: es el nombre del dispositivo que se va a registrar. Se recomienda usar MyNodeDevice como se muestra. Si elige otro nombre distinto para el dispositivo, tendrá que usarlo en todo el artículo y actualizar el nombre del dispositivo en las aplicaciones de ejemplo antes de ejecutarlas.
az iot hub device-identity create \ --hub-name {YourIoTHubName} --device-id MyNodeDeviceEjecute los siguientes comandos en Azure Cloud Shell para obtener la cadena de conexión del dispositivo que acaba de registrar:
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
az iot hub device-identity connection-string show \ --hub-name {YourIoTHubName} \ --device-id MyNodeDevice \ --output tableAnote la cadena de conexión del dispositivo, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}Usará este valor más adelante en este inicio rápido.
También necesita una cadena de conexión de servicio para permitir que la aplicación back-end se conecte a IoT Hub y recupere los mensajes. El comando siguiente recupera la cadena de conexión del servicio de su instancia de IoT Hub:
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
az iot hub connection-string show \ --policy-name service --name {YourIoTHubName} --output tableAnote la cadena de conexión del servicio, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}Usará este valor más adelante en este inicio rápido. Esta cadena de conexión del servicio no es la que anotó en el paso anterior.
Escuchas para llamadas de método directo
La aplicación del dispositivo simulado se conecta a un punto de conexión específico del dispositivo en IoT Hub, envía los datos de telemetría simulados y escucha llamadas de método directo desde el centro. En este inicio rápido, la llamada de método directo desde el centro indica al dispositivo que debe cambiar el intervalo en el que envía los datos de telemetría. El dispositivo simulado envía una confirmación al centro después de que ejecuta el método directo.
En una ventana de terminal local, vaya a la carpeta raíz del proyecto de Node.js de ejemplo. A continuación, vaya a la carpeta iot-hub\Quickstarts\simulated-device-2.
Abra el archivo SimulatedDevice.js en el editor de texto de su elección.
Reemplace el valor de la variable
connectionStringpor la cadena de conexión del dispositivo que anotó anteriormente. Luego, guarde los cambios realizados en SimulatedDevice.js.En la ventana de terminal local, ejecute los comandos siguientes para instalar las bibliotecas necesarias y ejecute la aplicación de dispositivo simulado:
npm install node SimulatedDevice.jsLa siguiente captura de pantalla muestra la salida en la que la aplicación de dispositivo simulado envía datos de telemetría a IoT Hub:

Llamar al método directo
La aplicación back-end se conecta a un punto de conexión de servicio en IoT Hub. La aplicación realiza llamadas de método directo a un dispositivo con IoT Hub y escucha las confirmaciones. Normalmente, una aplicación back-end de IoT Hub se ejecuta en la nube.
En otra ventana de terminal local, vaya a la carpeta raíz del proyecto de Node.js de ejemplo. A continuación, vaya a la carpeta iot-hub\Quickstarts\back-end-application.
Abra el archivo BackEndApplication.js en el editor de texto de su elección.
Reemplace el valor de la variable
connectionStringpor la cadena de conexión del servicio que anotó anteriormente. Luego, guarde los cambios en el archivo BackEndApplication.js.En la ventana de terminal local, ejecute los comandos siguientes para instalar las bibliotecas necesarias y ejecute la aplicación back-end:
npm install node BackEndApplication.jsEn la siguiente captura de pantalla se muestra la salida en la que la aplicación realiza una llamada de método directo al dispositivo y recibe una confirmación:

Después de ejecutar la aplicación back-end, verá un mensaje en la ventana de consola que ejecuta el dispositivo simulado y cambiará la velocidad a la que envía mensajes:

En este inicio rápido se usan dos aplicaciones de Python: una aplicación de un dispositivo simulado que responde a métodos directos llamados desde una aplicación de back-end y una aplicación de back-end que llama a los métodos directos en el dispositivo simulado.
Prerrequisitos
Una cuenta de Azure con una suscripción activa. cree una de forma gratuita.
Python 3.7+. Para obtener información acerca de otras versiones de Python compatibles, consulte el tema acerca de las características de los dispositivos IoT de Azure.
Un proyecto de Python de ejemplo de GitHub. Descargue o clone los ejemplos mediante el botón Código del repositorio de GitHub.
El puerto 8883 abierto en el firewall. En el dispositivo de ejemplo de este inicio rápido se usa el protocolo MQTT, que se comunica mediante el puerto 8883. Este puerto puede estar bloqueado en algunos entornos de red corporativos y educativos. Para más información y para saber cómo solucionar este problema, consulte el artículo sobre la conexión a IoT Hub (MQTT).
Use el entorno de Bash en Azure Cloud Shell.
Si lo prefiere, instale la CLI de Azure para ejecutar sus comandos de referencia.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
Cuando se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
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.
Crear un centro de IoT
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
En esta sección se describe cómo crear un centro de IoT mediante Azure Portal.
Inicie sesión en Azure Portal.
En la página de inicio de Azure, seleccione + Crear un recurso y, después, escriba IoT Hub en el campo Buscar en Marketplace.
Seleccione IoT Hub en los resultados de la búsqueda y, después, haga clic en Crear.
En la pestaña Datos básicos, complete los campos como se indica a continuación:
Suscripción: seleccione la suscripción que quiera usar para el centro.
Grupo de recursos: seleccione un grupo de recursos o cree uno. Para crear uno, haga clic en Crear y escriba el nombre que quiera usar. Para usar un grupo de recursos existente, selecciónelo. Para más información, consulte Administración de grupos de recursos de Azure Resource Manager.
Región: seleccione la región a la que quiera asignar el centro. Seleccione la ubicación más cercana a la suya. Algunas características, como los flujos de dispositivo de IoT Hub, solo están disponibles en regiones específicas. Para ver estas características limitadas, debe seleccionar una de las regiones admitidas.
Nombre de la instancia de IoT Hub: escriba el nombre del centro. Este nombre debe ser globalmente único y tener una longitud que oscile entre 3 y 50 caracteres alfanuméricos. El nombre también puede incluir el carácter de guion (
'-').
Importante
Como el centro de IoT se podrá detectar públicamente como un punto de conexión de DNS, asegúrese de que no incluye información de identificación personal ni información confidencial al asignarle un nombre.
Seleccione Siguiente: Redes para continuar con la creación del centro.
Elija los puntos de conexión que los dispositivos puedan usar para conectar a su instancia de IoT Hub. Puede seleccionar la configuración predeterminada Punto de conexión público (todas las redes) o elegir Punto de conexión público (intervalos de IP seleccionados) o Punto de conexión privado. Acepte la configuración predeterminada para este ejemplo.
.Seleccione Siguiente: Administración para continuar con la creación del centro.
Puede aceptar la configuración predeterminada aquí. Si lo desea, puede modificar cualquiera de los siguientes campos:
Plan de tarifa y escala: nivel seleccionado. Puede elegir entre varios niveles, en función del número de características que desee, y del número de mensajes que envíe al día a través de su solución. El nivel gratis está pensado para la prueba y evaluación. Permite la conexión de 500 dispositivos con el centro de IoT y hasta 8000 mensajes al día. Cada suscripción a Azure puede crear un centro de IoT en el nivel gratis.
Si está trabajando con un inicio rápido de flujos de dispositivo de IoT Hub, seleccione el nivel gratuito.
Unidades de IoT Hub: El número de mensajes que se permiten por unidad al día depende del plan de tarifa del centro. Por ejemplo, si quiere que el Centro de IoT admita la entrada de 700 000 mensajes, seleccione dos unidades del nivel S1. Para más información sobre las demás opciones del nivel, consulte la sección Elección del nivel correcto de IoT Hub.
Defender para IoT Actívelo para agregar un nivel adicional de protección ante amenazas en IoT y en los dispositivos. Esta opción no está disponible para los centros de conectividad del nivel gratuito. Para obtener más información acerca de esta característica, consulte Microsoft Defender para IoT.
Configuración avanzada > Particiones del dispositivo a la nube: esta propiedad relaciona los mensajes del dispositivo a la nube con el número de lectores simultáneos de los mensajes. La mayoría de los centros solo necesitan cuatro particiones.
Seleccione Siguiente: Etiquetas para pasar a la pantalla siguiente.
Las etiquetas son pares nombre-valor. Puede asignar la misma etiqueta a varios recursos y grupos de recursos para clasificar los recursos y consolidar la facturación. En este documento, no va a agregar ninguna etiqueta. Para más información, consulte Uso de etiquetas para organizar los recursos de Azure.
Seleccione Siguiente: Revisar y crear para revisar sus selecciones. Verá algo parecido a esta pantalla, pero con los valores que ha seleccionado al crear el centro.
.Seleccione Crear para iniciar la implementación del nuevo centro. La implementación estará en curso unos minutos mientras se crea el centro. Una vez que la implementación finalice, haga clic en Ir al recurso para abrir el nuevo centro.
Registrar un dispositivo
Si ha completado el anterior Quickstart: Send telemetry from a device to an IoT hub (Inicio rápido: enviar datos de telemetría desde un dispositivo a IoT Hub), puede omitir este paso.
Debe registrar un dispositivo con IoT Hub antes de poder conectarlo. En esta guía de inicio rápido, usará Azure Cloud Shell para registrar un dispositivo simulado.
Ejecute los siguientes comandos en Azure Cloud Shell para crear la identidad del dispositivo.
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
MyPythonDevice: es el nombre del dispositivo que se va a registrar. Se recomienda usar MyPythonDevice como se muestra. Si elige otro nombre distinto para el dispositivo, tendrá que usarlo en todo el artículo y actualizar el nombre del dispositivo en las aplicaciones de ejemplo antes de ejecutarlas.
az iot hub device-identity create --hub-name {YourIoTHubName} --device-id MyPythonDeviceEjecute los siguientes comandos en Azure Cloud Shell para obtener la cadena de conexión del dispositivo que acaba de registrar:
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id MyPythonDevice --output tableAnote la cadena de conexión del dispositivo, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}Usará este valor más adelante en este inicio rápido.
También necesita una cadena de conexión de servicio para permitir que la aplicación back-end se conecte a IoT Hub y recupere los mensajes. El comando siguiente recupera la cadena de conexión del servicio de su instancia de IoT Hub:
YourIoTHubName: reemplace este marcador de posición por el nombre elegido para el centro de IoT.
az iot hub connection-string show \ --policy-name service \ --hub-name {YourIoTHubName} \ --output tableAnote la cadena de conexión del servicio, que se parecerá a esta:
HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}Usará este valor más adelante en este inicio rápido. Esta cadena de conexión del servicio no es la que anotó en el paso anterior.
Escuchas para llamadas de método directo
La aplicación del dispositivo simulado se conecta a un punto de conexión específico del dispositivo en IoT Hub, envía los datos de telemetría simulados y escucha llamadas de método directo desde el centro. En este inicio rápido, la llamada de método directo desde el centro indica al dispositivo que debe cambiar el intervalo en el que envía los datos de telemetría. El dispositivo simulado envía una confirmación al centro después de que ejecuta el método directo.
En una ventana de terminal local, vaya a la carpeta raíz del proyecto de Python de muestra. A continuación, vaya a la carpeta iot-hub\Quickstarts\simulated-device-2.
Abra el archivo SimulatedDevice.py en el editor de texto de su elección.
Reemplace el valor de la variable
CONNECTION_STRINGpor la cadena de conexión del dispositivo que anotó anteriormente. Luego, guarde los cambios realizados en SimulatedDevice.py.En la ventana de terminal local, ejecute los comandos siguientes para instalar las bibliotecas necesarias para la aplicación de dispositivo simulado:
pip install azure-iot-deviceEn la ventana de terminal local, ejecute los comandos siguientes para ejecutar la aplicación de dispositivo simulado:
python SimulatedDevice.pyLa siguiente captura de pantalla muestra la salida en la que la aplicación de dispositivo simulado envía datos de telemetría a IoT Hub:

Llamar al método directo
La aplicación back-end se conecta a un punto de conexión de servicio en IoT Hub. La aplicación realiza llamadas de método directo a un dispositivo con IoT Hub y escucha las confirmaciones. Normalmente, una aplicación back-end de IoT Hub se ejecuta en la nube.
En otra ventana de terminal local, vaya a la carpeta raíz del proyecto de Python de muestra. A continuación, vaya a la carpeta iot-hub\Quickstarts\back-end-application.
Abra el archivo BackEndApplication.py en el editor de texto de su elección.
Reemplace el valor de la variable
CONNECTION_STRINGpor la cadena de conexión del servicio que anotó anteriormente. Luego, guarde los cambios en el archivo BackEndApplication.py.En la ventana de terminal local, ejecute los comandos siguientes para instalar las bibliotecas necesarias para la aplicación de dispositivo simulado:
pip install azure-iot-hubEn la ventana de terminal local, ejecute los comandos siguientes para ejecutar la aplicación back-end:
python BackEndApplication.pyEn la siguiente captura de pantalla se muestra la salida en la que la aplicación realiza una llamada de método directo al dispositivo y recibe una confirmación:

Después de ejecutar la aplicación back-end, verá un mensaje en la ventana de consola que ejecuta el dispositivo simulado y cambiará la velocidad a la que envía mensajes:

Limpieza de recursos
Si va a seguir con el siguiente artículo recomendado, puede mantener los recursos que ya ha creado y volverlos a utilizar.
En caso contrario, puede eliminar los recursos de Azure que creó en este artículo para evitar gastos.
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. Si ha creado una instancia de IoT Hub en un grupo de recursos ya existente que contiene recursos que desea conservar, puede eliminar solo esa instancia en lugar de eliminar todo el grupo de recursos.
Para eliminar un grupo de recursos por el nombre:
Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
Escriba el nombre del grupo de recursos que contiene la instancia de IoT Hub en el cuadro de texto Filtrar por nombre.
A la derecha del grupo de recursos de la lista de resultados, seleccione ... y, a continuación, Eliminar grupo de recursos.

Se le pedirá que confirme la eliminación del grupo de recursos. Escriba de nuevo el nombre del grupo de recursos para confirmar y, después, seleccione Eliminar. Transcurridos unos instantes, el grupo de recursos y todos los recursos que contiene se eliminan.
Pasos siguientes
En este inicio rápido ha llamado a un método directo en un dispositivo desde una aplicación de servicio y ha respondido a la llamada de método directo en una aplicación de dispositivo simulado.
Para obtener información sobre cómo redirigir mensajes del dispositivo a la nube a diferentes destinos en la nube, continúe con el siguiente tutorial.
