Categories
General

Azure Sphere MT3620: hello world! (I mean, Blink LED!)

Como es debido, empezamos con una app muy simple para probar nuestro dispositivo. En este caso y como se ha vuelto tradición con los dispositivos IoT, nuestro “hello world” es una aplicación que simplemente parpadea (blink) uno de los LEDs incluidos en la tarjeta. También usamos uno de los botones incluidos para cambiar la frecuencia de parpadeo del LED, de esta manera probamos de manera muy sencilla el ciclo de input (boton) -> proccess -> output (LED).

Para programar el dispositivo tenemos dos opciones, 1) programar en modo DEBUG conectados por USB o 2) programar en modo producción (FIELD) desplegando la app con ayuda de Azure a través de Internet usando la conexión WiFi del MT3620, lo que se denomina Over-The-Air (OTA).

Usualmente programamos con un dispositivo de pruebas usando el modo DEBUG pues en este estado tenemos acceso a un debugger instalado en el dispositivo que nos facilita el desarrollo y corrección de errores. En este modo el MT3620 deshabilita las actualizaciones OTA y solo permite hacer “sideload” del app por medio del USB.

Luego podemos desplegar nuestro app por medio de Azure IoT Hub/Central a los demás dispositivos los cuales deberíamos configurar en modo FIELD para recibir las actualizaciones OTA a través del WiFi.

Cargar la aplicación Blink por medio del USB.

Por defecto Azure Sphere viene bloqueado para recibir actualizaciones, por lo que tenemos que habilitar el modo DEBUG:

azsphere device prep-debug

En Visual Studio (en este caso 2019), creamos un nuevo proyecto basado en la plantilla de Blink.

Esta plantilla incluye el código fuente en C para la aplicación (main.c)

En el tutorial de MSFT docs se describe como chequear el aplicativo con un breakpoint justo en la línea que maneja los eventos del botón para cambiar la frecuencia de parpadeo.

Con el breakpoint configurado podemos cargar la aplicación en el dispositivo y empezar el DEBUG de la misma:

VS realiza el build de la aplicación y copia el binario en la ruta descrita abajo (hay que seleccionar Build en el dropbox “Show output from:” para poder verla). Es clave anotar esta ruta si queremos usar el binario luego para desplegar masivamente a los demás dispositvos IoT con ayuda de Azure IoT Hub/Central.

https://docs.microsoft.com/en-us/azure-sphere/quickstarts/qs-blink-application

Si presionamos el boton A del MT3620 con el breakpoint habilitado, el programa se detiene en la línea indicada y podemos ver el estado de las variables en ese punto.

Si deshabilitamos el breakpoint podemos ver como cambia la velocidad de parpadeo cada vez que presionamos el boton A:

En el próximo post vamos a ver como usar Azure IoT Hub/Central para distribuir nuestras apps de manera masiva.

Leave a comment