Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
se aplica a: IoT Edge 1.5
Importante
IoT Edge 1.5 LTS es la versión compatible. IoT Edge 1.4 LTS finaliza su ciclo de vida el 12 de noviembre de 2024. Si está en una versión anterior, consulte Actualización de IoT Edge.
En este tutorial, creará un trabajo de Azure Stream Analytics en Azure Portal e lo implementará como un módulo de IoT Edge sin código adicional.
En este tutorial, aprenderá a:
- Crear un trabajo de Azure Stream Analytics para procesar los datos en los dispositivos perimetrales.
- Conectar el trabajo de Azure Stream Analytics nuevo con otros módulos de IoT Edge.
- Implemente el trabajo de Azure Stream Analytics en un dispositivo IoT Edge desde Azure Portal.
El módulo de Stream Analytics de este tutorial calcula la temperatura media en una ventana gradual de 30 segundos. Cuando el promedio alcanza los 70, el módulo envía una alerta para que el dispositivo tome medidas. En este caso, la acción es restablecer el sensor de temperatura simulado. En un entorno de producción, puede usar esta funcionalidad para apagar una máquina o tomar medidas preventivas cuando la temperatura alcance niveles peligrosos.
¿Por qué usar Azure Stream Analytics en IoT Edge?
Muchas soluciones de IoT usan servicios de análisis para obtener información sobre los datos a medida que llegan a la nube desde los dispositivos IoT. Con Azure IoT Edge, se mueve la lógica de Azure Stream Analytics al propio dispositivo. Al procesar los flujos de telemetría en el perímetro se reduce la cantidad de datos cargados y el tiempo que se tarda en reaccionar ante la información procesable. Azure IoT Edge y Azure Stream Analytics se integran para simplificar el desarrollo de cargas de trabajo.
Azure Stream Analytics usa una sintaxis de consulta estructurada para el análisis de datos en la nube y en dispositivos IoT Edge. Para más información, consulte la documentación de Azure Stream Analytics.
Prerrequisitos
Si no tiene una cuenta de Azure, cree una cuenta gratuita antes de comenzar.
Un dispositivo de Azure IoT Edge.
Use una máquina virtual de Azure como dispositivo IoT Edge siguiendo los pasos descritos en el inicio rápido para dispositivos Linux o Windows.
Una instancia de IoT Hub gratuita o de nivel estándar en Azure.
Creación de un trabajo de Azure Stream Analytics
En esta sección, creas un trabajo de Azure Stream Analytics que:
- Recibe datos del dispositivo IoT Edge.
- Consulta los datos de telemetría para valores fuera de un intervalo determinado.
- Realiza acciones en el dispositivo IoT Edge en función de los resultados de la consulta.
Crear una cuenta de almacenamiento
Al crear un trabajo de Azure Stream Analytics para ejecutarse en un dispositivo IoT Edge, debe almacenarlo para que el dispositivo pueda acceder a él. Puede usar una cuenta de Azure Storage existente o crear una nueva.
En el portal de Azure, vaya a Crear un recurso>Almacenamiento>cuenta de almacenamiento.
Especifique los siguientes valores para crear una cuenta de almacenamiento:
Campo Importancia Suscripción Elija la misma suscripción que IoT Hub. Grupo de recursos Use el mismo grupo de recursos para todos los recursos de prueba para los inicios rápidos y tutoriales de IoT Edge. Por ejemplo, IoTEdgeResources. Nombre Especifique un nombre único para la cuenta de almacenamiento. Ubicación Selección de una ubicación cercana a usted. Mantenga los valores predeterminados para los demás campos y seleccione Revisar y crear.
Revise la configuración y, a continuación, seleccione Crear.
Crear un trabajo
En Azure Portal, seleccione:
- Creación de un recurso
- Internet de las cosas desde el menú de la izquierda
- Escriba Stream Analytics en la barra de búsqueda para encontrarlo en Azure Marketplace.
- Seleccione Crear y, a continuación, trabajo de Stream Analytics en el menú desplegable.
Especifique los valores siguientes para crear el nuevo trabajo de Stream Analytics:
Campo Importancia Nombre Especifique el nombre del trabajo. Por ejemplo, IoTEdgeJob Suscripción Elija la misma suscripción que IoT Hub. Grupo de recursos Use el mismo grupo de recursos para todos los recursos de prueba que cree durante los inicios rápidos y tutoriales de IoT Edge. Por ejemplo, un recurso denominado IoTEdgeResources. Región Elija una ubicación cercana a usted. Entorno de hospedaje Seleccione Edge. Esta opción le permite implementar en un dispositivo IoT Edge en lugar de en la nube. Seleccione Revisar y crear.
Confirme las opciones y seleccione Crear.
Configuración del trabajo
Después de crear el trabajo de Stream Analytics en el portal de Azure, configúrelo con una entrada, una salida y una consulta para ejecutarse en los datos que pasan a través de él.
En esta sección se muestra cómo crear un trabajo que reciba datos de temperatura de un dispositivo IoT Edge. Analiza los datos en una ventana gradual de 30 segundos. Si la temperatura media de esa ventana supera los 70 grados, el trabajo envía una alerta al dispositivo IoT Edge.
Nota
Especifica de dónde provienen los datos y hacia dónde van en la sección siguiente, Configurar la configuración de IoT Edge, al desplegar el trabajo.
Establecimiento de la entrada y salida
Vaya al trabajo de Stream Analytics en Azure Portal.
En Topología de trabajo, seleccione Entradas y, a continuación, seleccione Agregar entrada.
Elija Centro de Edge en la lista desplegable.
Si no ve la opción Centro de Microsoft Edge en la lista, es posible que haya creado el trabajo de Stream Analytics como un trabajo hospedado en la nube. Pruebe a crear un nuevo trabajo y asegúrese de seleccionar Edge como entorno de hospedaje.
En el panel Nueva entrada , escriba temperature como alias de entrada.
Mantenga los valores predeterminados para los demás campos y seleccione Guardar.
En Topología de trabajo, seleccione Salidas y, a continuación, seleccione Agregar.
Elija Centro de Edge en la lista desplegable.
En el panel Nueva salida , escriba alerta como alias de salida.
Mantenga los valores predeterminados para los demás campos y seleccione Guardar.
Creación de una consulta
En Topología de trabajo, seleccione Consulta.
Reemplace el texto predeterminado por la consulta siguiente:
SELECT 'reset' AS command INTO alert FROM temperature TIMESTAMP BY timeCreated GROUP BY TumblingWindow(second,30) HAVING Avg(machine.temperature) > 70
En esta consulta, el código SQL envía un comando de restablecimiento a la salida de la alerta si la temperatura media de la máquina en una ventana de 30 segundos alcanza los 70 grados. El comando reset está preprogramado en el sensor como una acción.
Seleccione Guardar consulta.
Configuración de los valores de IoT Edge
Para implementar el trabajo de Stream Analytics en un dispositivo IoT Edge, asocie el trabajo de Azure Stream Analytics a una cuenta de almacenamiento. Al implementar el trabajo, la definición del trabajo se exporta a la cuenta de almacenamiento en forma de contenedor.
En el servicio Stream Analytics, en el menú Configuración , seleccione Configuración de la cuenta de almacenamiento.
Elija la opción Select Blob Storage/ADLS Gen 2 (Seleccionar Almacenamiento de blobs o ADLS Gen 2) en las suscripciones .
La cuenta de Azure Storage se muestra automáticamente en la página. Si no la ve, asegúrese de crear un almacenamiento. Si necesita elegir un almacenamiento diferente al que aparece en el campo Cuenta de almacenamiento , selecciónelo en el menú desplegable.
Seleccione Guardar si ha realizado algún cambio.
Implementación del trabajo
Ya está listo para implementar el trabajo de Azure Stream Analytics en el dispositivo de IoT Edge.
En esta sección, usará el Asistente para establecer módulos en Azure Portal para crear un manifiesto de implementación. Un manifiesto de implementación es un archivo JSON que describe todos los módulos que se implementan en un dispositivo. El manifiesto también muestra los registros de contenedores que almacenan las imágenes del módulo, cómo se deben administrar los módulos y la forma en que los módulos pueden comunicarse entre sí. El dispositivo IoT Edge recupera su manifiesto de implementación de IoT Hub y, después, usa su información para implementar y configurar todos los módulos que tiene asignados.
En este tutorial se implementan dos módulos. La primera es SimulatedTemperatureSensor, que es un módulo que simula un sensor de temperatura y humedad. El segundo es su trabajo de Stream Analytics. El módulo del sensor proporciona el flujo de datos que se analiza en la consulta del trabajo.
En Azure Portal, vaya hasta el centro de IoT.
Seleccione Dispositivos en el menú Administración de dispositivos y, a continuación, seleccione el dispositivo IoT Edge para abrirlo.
Seleccione Establecer módulos.
Si ha implementado anteriormente el módulo SimulatedTemperatureSensor en este dispositivo, puede que el campo se rellene automáticamente. Si no lo hace, siga estos pasos para agregar el módulo:
- Seleccione + Agregar y elija Módulo IoT Edge.
- Para el nombre, escriba SimulatedTemperatureSensor.
- Para el URI de la imagen, escriba mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5.
- Deje la otra configuración predeterminada y seleccione Agregar.
Agregue el trabajo de Edge de Azure Stream Analytics con los siguientes pasos:
- Seleccione + Agregar y elija Módulo de Azure Stream Analytics.
- Seleccione la suscripción y el trabajo Edge de Azure Stream Analytics que creó.
- Seleccione Guardar.
Después de guardar los cambios, los detalles del trabajo de Stream Analytics se publicarán en el contenedor de almacenamiento que ha creado.
Una vez finalizada la implementación de la adición de Stream Analytics, confirme que aparecen dos módulos nuevos en la página Establecer módulos .
Seleccione Revisar y crear. Aparece el manifiesto de implementación.
Seleccione Crear.
En la página Establecer módulos del dispositivo, después de unos minutos, debería ver los módulos enumerados y en ejecución. Actualice la página si no ve ningún módulo, o bien espere unos minutos más y vuelva a actualizarla.
Descripción de los dos nuevos módulos
En la pestaña Establecer módulos del dispositivo, seleccione el nombre del módulo de Stream Analytics para ir a la página Actualizar módulo ioT Edge . Aquí puede actualizar la configuración.
La pestaña Configuración tiene el URI de imagen que apunta a una imagen estándar de Azure Stream Analytics. Esta imagen se usa para todos los módulos de Stream Analytics que se implementen en un dispositivo IoT Edge.
La pestaña Configuración del módulo gemelo muestra el JSON que define la propiedad de Azure Stream Analytics (ASA) denominada ASAJobInfo. El valor de dicha propiedad apunta a la definición del trabajo en el contenedor de almacenamiento. Esta propiedad indica cómo se configura la imagen de Stream Analytics con la información específica de su trabajo.
De forma predeterminada, el módulo de Stream Analytics usa el mismo nombre que el trabajo en el que se basa. Si lo prefiere, puede cambiar el nombre del módulo en esta página, pero no es necesario.
Seleccione Aplicar si realizó cambios o Cancelar si no realizó ningún cambio.
Asignación de rutas a los módulos
En la página Set modules on device:your-device-name (Establecer módulos en device:<your-device-name> ), seleccione Next: Routes (Siguiente: Rutas).
En la pestaña Rutas , se define cómo se pasan los mensajes entre módulos y IoT Hub. Los mensajes se construyen mediante pares de nombre-valor.
Agregue los nombres y valores de ruta por los pares que se muestran en la siguiente tabla. Reemplace las instancias de
{moduleName}
por el nombre del módulo de Azure Stream Analytics. Este módulo debe ser el mismo nombre que verá en la lista de módulos del dispositivo en la página Establecer módulos , como se muestra en Azure Portal.Nombre Importancia telemetríaAlNube FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
alertsToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
telemetryToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")
Las rutas que se declaran aquí definen el flujo de datos que atraviesa el dispositivo IoT Edge. Los datos de telemetría de SimulatedTemperatureSensor se envían a IoT Hub y a la entrada de temperatura configurada en el trabajo de Stream Analytics. Los mensajes de salida de alerta se envían a IoT Hub y al módulo SimulatedTemperatureSensor para desencadenar el comando reset.
Seleccione Siguiente: Revisar y crear.
En la pestaña Revisar y crear, puede ver cómo la información que proporcionó en el asistente se transforma en un manifiesto de implementación JSON.
Cuando haya terminado de revisar el manifiesto, seleccione Crear para finalizar la configuración del módulo.
Visualización de datos
Vaya al dispositivo IoT Edge para ver la interacción entre el módulo de Azure Stream Analytics y el módulo SimulatedTemperatureSensor.
Nota
Si usa una máquina virtual para un dispositivo, use Azure Cloud Shell para acceder directamente a todos los servicios autenticados de Azure.
Compruebe que todos los módulos se ejecutan en Docker:
iotedge list
Vea todos los registros del sistema y datos de métrica. Reemplace {moduleName} por el nombre del módulo de Azure Stream Analytics:
iotedge logs -f {moduleName}
Vea los registros del sensor para comprobar cómo afecta el comando de restablecimiento al módulo SimulatedTemperatureSensor:
iotedge logs SimulatedTemperatureSensor
Verá como la temperatura del equipo asciende de forma progresiva hasta que alcanza 70 grados durante 30 segundos. Después, el módulo de Stream Analytics desencadena un restablecimiento y la temperatura de la máquina vuelve a bajar a 21.
Limpieza de recursos
Si desea continuar con el siguiente artículo recomendado, mantenga los recursos y las configuraciones que creó y reutilícelas. También puede seguir usando el mismo dispositivo de IoT Edge como dispositivo de prueba.
De lo contrario, elimine las configuraciones locales y los recursos de Azure que usó en este artículo para evitar cargos.
Eliminación de recursos de Azure
La eliminación de los recursos de Azure y de los grupos de recursos es un proceso irreversible. Asegúrese de no eliminar por accidente el grupo de recursos o los recursos equivocados. Si creó ioT Hub dentro de un grupo de recursos existente que tiene recursos que desea conservar, elimine solo el propio recurso de IoT Hub, no el grupo de recursos.
Para eliminar los recursos:
Inicie sesión en Azure Portal y seleccione Grupos de recursos.
Seleccione el nombre del grupo de recursos que contiene los recursos de prueba de IoT Edge.
Revise la lista de recursos que contiene el grupo de recursos. Si desea eliminar todos ellos, puede seleccionar Eliminar grupo de recursos. Si desea eliminar solo algunos de ellos, puede seleccionar cada recurso para eliminarlos individualmente.
Pasos siguientes
En este tutorial, configurará un trabajo de Azure Stream Analytics para analizar datos desde el dispositivo IoT Edge. Cargó el módulo de Azure Stream Analytics en el dispositivo IoT Edge para procesar y reaccionar a los aumentos de temperatura localmente y envió el flujo de datos agregado a la nube. Para obtener información sobre cómo Azure IoT Edge puede ayudarle a crear más soluciones, pruebe el siguiente tutorial.