Hola !

Azure IoT tiene un excelente SDK que incluye ejemplos para apps C#, apps Java, y varias otras plataformas. Sin embargo, existen escenarios que son la base más simple que podemos pensar, enviar datos Json al IoT Hub utilizando HttpClient.

Así que antes de pasar a Java, he creado una Console app que envía datos a un Azure IoT Hub con el siguiente código fuente.

image

El ejemplo completo es una extensión de mis posts anteriores. Aunque en el camino he aprendido un par de lecciones que voy a compartir.

Para que la petición HttpRequest funcione hay que definir un modelo de autorización con una firma especial llamada SharedAccessSignature. Hay una explicación sobre el proceso de creación de esta firma (es solo un string), sin embargo Sandrino ha creado una herramienta que nos permite generar esta firma con solo un paso Event Hubs Signature Generator tool

image

De cara a validar la información que iba a enviar en modo plano, utilicé un parser Json online que me ayudo a tener el string correcto.

image

Finalmente, tenemos que conocer la url a la que enviaremos la información. Por lo general la url se construye con el siguiente formato

https://{Event hub compatible end point}/{EventHub compatible name}/publishers/{Device Id}/messages

Y dentro de nuestro Azure IoT Hub, podemos encontrar información del EventHub relacionado en la sección settings // messaging

Picture1

El último valor a completar es el DeviceId que fué una de las primeras acciones que hicimos en los posts, en este caso es “Device01”.

GitHub Code https://github.com/elbruno/Blog/tree/master/Azure

Saludos @ Toronto

-El Bruno

References

Leave a comment

Discover more from El Bruno

Subscribe now to keep reading and get access to the full archive.

Continue reading