Hola !
Otra vez llega un viernes de extensiones para Visual Studio 2015. Hoy la extensión es un repost de un post (a mi manera) de Greg Duncan en Channel9. No soy de hacer esto, sin embargo esta extensión nos ahorra muchos pasos de configuración si trabajamos con Azure Iot Hubs. Esto nos permite poner nuestro foco, en lo realmente importante de nuestra aplicación: Enviar o recibir datos desde un Azure IoT Hub.
Por eso, creo que la mejor forma de describir esto es con un simple paso a paso sobre cómo utilizarlo.
- Instalar la extensión desde Visual Studio Gallery
- Crear una Console App
- Agregar un nuevo Connected Service

- Seguir los pasos del asistente para conectar con el Azure IoT Hub
- Seleccionar “Azure IoT Hub” y luego “Configure”

- Ahora es el momento de poner nuestras credenciales de Azure. El asistente luego mostrará un listado con los Azure IoT Hubs disponibles en la suscripción de Azure

- Seleccionamos el Azure IoT Hub, y nos conectamos al Hub
- Una vez conectados al Hub, el asistente mostrará el listado de devices que ya se han creado y configurado para utilizar en el Hub
- Podemos seleccionar un Device existente o crear uno nuevo. Para este ejemplo utilizaré el Device01 que creé en post anteriores

- Llega el momento de la generación de código
- Se agregan un par de paquetes NuGet

- Y también un par de nuevos elementos al proyecto en Visual Studio.

- Lo más importante para remarcar es la clase AzureIotHub.cs. Donde podemos encontrar 2 métodos
SendDeviceToCloudMessageAsync(), para enviar mensajes al IoT HubReceiveCloudToDeviceMessageAsync(), para recibir / escuchar mensajes procesados por el IoT Hub
- El proceso de enviar datos es bastante simple

- Y hasta aquí llega el modo Hello World. Sin embargo hay un par de tareas adicionales que es recomendable realizar
- Lo primero sería definir una estrategia para poder guardar en algún repositorio encriptado la cadena de conexión al Azure IoT Hub. El asistente lo agrega como una constante en la clase, y esto está muy bien para depurar y probar, pero en modo Release por favor no!
- Y luego, también sería recomendable revisar los 2 métodos generados y adaptarlos a nuestras necesidades. Como se puede ver en la siguiente imagen el envío de datos solo envía “Hello, Cloud!” y es muy probable que nuestras apps necesiten algo más.

- Finalmente es recomendable dar un vistazo a la página de GitHub del producto donde hay bastante información al respecto
Y hasta aquí el review de un excelente Time Saver !!!
Saludos @ Toronto
-El Bruno
References
Leave a comment