Una vez que tenemos un dispositivo compatible con Azure Iot ( como por ejemplo una Raspberry pi 3 como vimos , o desde un ESP8266 como vimos también recientemente ) , los hemos configurado y hemos implementado una aplicación de ejemplo para ejecutar en el dispositivo que envié envíe datos que los sensores recogen a su hub de IoT , puede que queramos intentar gestionar la mensajería en la nube del dispositivo IoT
Precisamente en este contexto surge iothub-explorer que pone a nuestra disposición varios comandos para facilitar la gestión de centro de IoT permitiéndonos supervisar mensajes de dispositivo a nube y enviar mensajes de dispositivo de nube.
Los mensajes de dispositivo a nube podrían ser datos de sensores de un dispositivo que recolecta y envía a su hub de IoT ( como por ejemplo una Raspberry pi 3 como vimos en este post , o desde un ESP8266 como vimos recientemente en este post ) o bien los mensajes hacia ese dispositivo de nube que podría ser comandos que IoT hub envía al dispositivo como por ejemplo hacer parpadear un LED conectado a ese dispositivo.
Resumidamente hay pues dos usos muy diferentes del explorador de iothub :
- Para supervisar mensajes de dispositivo a nube.
- Para enviar mensajes de dispositivo de nube.
Para ello necesitamos haber completado dos fases:
- Haber configurado el dispositivo , configuración completa que cubre los siguientes requisitos:
- Haber registrado una cuenta de suscripción a Azure ( la gratuita nos sirve) .
- Haber registrado un centro de Azure IoT ( una vez mas también existe una modalidad gratuita para probar el servicio).
- Una aplicación de cliente que envíe mensajes a su hub de IoT de Azure.
- Haber instalado el explorador de iothub. (Instalar explorer iothub)
Instalación de iothub-explorer
Iothub Explorer es pues una herramienta CLI para administrar las identidades de los dispositivos en su registro de IoT hub, enviar y recibir mensajes y archivos desde sus dispositivos, y monitorear sus operaciones de centros de IoT. Ademas iothub-explorer también permite simular un dispositivo conectado a su hub de IoT.
En post anteriores vimos como con una Raspberry pi 3 , o desde un ESP8266 los configurábamos e implementamos sendas aplicaciones para ejecutar en esos dispositivos procesos para enviar datos de telemetria procedente de sus sensores a un hub de IoT en la nube de Azure Iot Edge
Bien, tenemos nuestra aplicación corriendo en el dispositivo de Iot , por lo que necesitamos ahora instalar el explorador de iothub. Desgraciadamente no esta disponible para ambiente windows , es decir solo lo podemos ejecutar por el momento en equipos con Linux instalado. Ademas esta herramienta requiere la versión 4.x o superior de Node.js para que funcionen todas las características.
Para instalar la última versión de la herramienta iothub-explorer, ejecute el siguiente comando en su entorno de línea de comandos:
npm install -g iothub-explorer
En caso de querer instalar esta utilidad en una Raspberry pi desde Raspbian, al no estar disponible el comando npm instalarlo siguiendo estos pasos:
cd ~ git clone https://github.com/azure/iothub-explorer
Manejo de iothub-explorer
Una vez isntalada esta utilidad ,puede usar el siguiente comando para obtener ayuda adicional sobre todos los comandos de ihotub-explorer:
$ iothub-explorer help
Usage: iothub-explorer [options] <command> [command-options] [command-args] Commands: login start a session on your IoT hub logout terminate the current session on your IoT hub list list the device identities currently in your IoT hub device registry create <device-id|device-json> create a device identity in your IoT hub device registry delete <device-id> delete a device identity from your IoT hub device registry get <device-id> get a device identity from your IoT hub device registry import-devices import device identities in bulk: local file -> Azure blob storage -> IoT hub export-devices export device identities in bulk: IoT hub -> Azure blob storage -> local file send <device-id> <message> send a message to the device (cloud-to-device/C2D) monitor-feedback monitor feedback sent by devices to acknowledge cloud-to-device (C2D) messages monitor-events [device-id] listen to events coming from devices (or one in particular) monitor-uploads monitor the file upload notifications endpoint monitor-ops listen to the operations monitoring endpoint of your IoT hub instance sas-token <device-id> generate a SAS Token for the given device simulate-device <device-id> simulate a device with the specified id help [cmd] display help for [cmd] Options: -h, --help output usage information -V, --version output the version number
Cada comando iothub-explorer tiene su propia ayuda ,la cual se puede ver pasanDdo el argumento -help (ayuda) al nombre del comando:
$ iothub-explorer help create Usage: iothub-explorer create [options] [device-id|device-json] Create a device identity in your IoT hub device registry, either using the specified device id or JSON description. Options: -h, --help output usage information -a, --auto create a device with an auto-generated device id -cs, --connection-string show the connection string for the newly created device -d, --display <property-filter> comma-separated list of device properties that should be displayed -l, --login <connection-string> connection string to use to authenticate with your IoT Hub instance -k1, --key1 <key> specify the primary key for newly created device -k2, --key2 <key> specify the secondary key for newly created device -r, --raw use this flag to return raw JSON instead of pretty-printed output -x, --x509 generate an x509 certificate to authenticate the device -dv, --daysValid number of days the x509 certificate should be valid for -t1, --thumbprint1 <thumbprint> specify the primary thumbprint of the x509 certificate -t2, --thumbprint2 <thumbprint> specify the secondary thumbprint of the x509 certificate
Puede obtener mas información en https://github.com/azure/iothub-explorer
Monitor dispositivo a nube mensajes
Para supervisar los mensajes que se envían desde el dispositivo a su hub de IoT, siga estos pasos:
- Abra una ventana de consola.
- Ejecute el siguiente comando:
iothub-explorer monitor-events <device-id> --login "<IoTHubConnectionString>"
-
Obtener y de su hub de IoT. Asegúrese de que haya terminado el tutorial anterior. O puedes probar a utilizar si tienes, y.
<device-id>
<IoTHubConnectionString>
iothub-explorer monitor-events <device-id> --login "HostName=<my-hub>.azure-devices.net;SharedAccessKeyName=<my-policy>;SharedAccessKey=<my-policy-key>"
HostName
SharedAccessKeyName
SharedAccessKey
Enviar mensajes de dispositivo de nube
Para enviar un mensaje desde su hub de IoT en el dispositivo, siga estos pasos:
- Abra una ventana de consola.
- Iniciar una sesión en su hub de IoT ejecutando el siguiente comando:
Bash Copia
iothub-explorer login `<IoTHubConnectionString>`
- Enviar un mensaje a su dispositivo ejecutando el siguiente comando:
Bash Copia
iothub-explorer send <device-id> <message>
El comando hace parpadear el LED que está conectado a su dispositivo y envía el mensaje al dispositivo.
Nota:No es necesario para el dispositivo envie un comando ack separado a su hub de IoT al recibir el mensaje.
I’ve been surfing online more than 3 hours as of late, yet I by no means discovered any fascinating article like yours. It is pretty price sufficient for me. In my view, if all site owners and bloggers made just right content material as you probably did, the internet will be much more useful than ever before. «We are not retreating – we are advancing in another Direction.» by Douglas MacArthur.
Me gustaMe gusta