Programación de Tarjetas Arduino MKR para IoT

Clase 38 de 39Curso de IoT: Protocolos de Comunicación

En clases anteriores hablamos de las tarjetas de desarrollo creadas por Arduino llamadas Arduino MKR, esta familia se caracteriza por enfocarse en el IoT teniendo tarjetas de desarrollo como:

  • MKR 1000
  • MKR ZERO
  • MKR WiFi 1010
  • MKR FOX 1200
  • MKR WAN 1300
  • MKR GSM 1400
  • MKR NB 1500
  • MKR VIDOR 4000

Cada una de estas enfocándose en un protocolo distinto de conexión a internet desde WiFi, LoRa SigFox pasando por GSM hasta NB-IoT. Todas estas placas de desarrollo están disponibles a la venta en la página oficial de Arduino y pueden ser enviadas a cualquier parte del mundo.

curso-iot-platzi.png

Lo más interesante de estas placas además de su interconexión y versatilidad es la documentación que las acompaña. Arduino ha invertido muchísimo tiempo en tener las librerías necesarias para que programes tu firmware de la forma más estable y sencilla posible, esto te permite tener un tiempo de desarrollo menor y crear pruebas piloto con fiabilidad, también existen muchos tutoriales y guías de cómo usar las distintas placas así como los casos de uso para cada una, de esta manera puedes comparar tu situación con la de la guía y comprobar si es la tecnología adecuada para tu proyecto.

Estas tarjetas pueden ser programadas en la misma plataforma de Arduino, solo es necesario que instales el framework para trabajar con las tarjetas de la familia MKR como lo hicimos en la clase Conectando sensores y actuadores al microcontrolador , en la cual instalamos el framework del ESP32 pero también de las tarjetas basadas en el microcontrolador SAMD21.

Como vimos en esa clase las tarjetas como la MKR WiFi 1010, MKR Vidor 4000, o bien el Arduino Uno WiFi Rev 2 cuentan con un módulo embebido de Ublox llamado NINA que es el mismo ESP32 que usamos en las prácticas posteriores, este módulo lo podemos controlar por comandos (que es la forma habitual de usar estas tarjetas) o bien puedes programar el ESP32 dentro del módulo NINA y hacer todas estas prácticas,

Para programar tu modulo ESP32 es necesario que descargues un sketch llamado “SerialNINAPasstrhough” incluido en la librería WiFiNINA que puedes instalar simplemente con el administrador de bibliotecas como se muestra a continuación:

curso-protocolos-platzi.png

curso-iot-protocolos-platzi.png

Una vez instalada la librería deberás abrir el sketch y subirlo a tu Arduino que contenga el módulo NINA.

curso-iot-platzi.png

Una vez esto esté hecho tu microcontrolador principal (SAMD21) solo será un conversor serial que nos servirá como programador del ESP32 dentro del módulo NINA, ahora lo único que debemos hacer es programar nuestra placa como el módulo NINA seleccionando la tarjeta correspondiente en herramientas.

curso-platzi-iot.png

De esta manera podrás recrear con tu tarjeta Arduino MKR WiFi 1010 o cualquier otra basada en el módulo de UBlox NINA las prácticas que realizamos en este curso.

Reto

El reto consiste en que si posees una tarjeta MKR WAN 1010 o bien una MKR WAN 1300 con los ejemplos que vienen en las librerías creadas especialmente para este tipo de implementaciones como lo son “WIFININA” y “MKRWAN” recrees las prácticas que hicimos en este curso como obtener información de un servidor HTTP con una petición tipo GET, te conectes a una aplicación celular, o bien a un dashboard como adafruit.io, y en el caso de LoRaWAN definas los canales de transmisión, selecciones el de tu gateway y comiences a transmitir mensajes al servidor de The Things network.