#AZURE – Enviando datos a un #AzureIoTHub utilizando un HttpClient y texto plano

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

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s