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.
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
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.
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
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