Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar el Arduino MKR WIFI 1010 con Ubidots a través de HTTP
Conectar el Arduino MKR WIFI 1010 con Ubidots a través de HTTP

Aprende a conectar el Arduino MKR WIFI 1010 a la Plataforma de Desarrollo de Aplicaciones Ubidots a través de HTTP.

Sergio M avatar
Escrito por Sergio M
Actualizado hace más de 3 meses


El MKR WIFI 1010 es una mejora significativa respecto al MKR 1000 WIFI. Está equipado con un módulo ESP32. Esta placa tiene como objetivo acelerar y simplificar el prototipado de aplicaciones IoT basadas en WiFi gracias a la flexibilidad del módulo ESP32 y su bajo consumo de energía.

¡Siguiendo esta guía podrás hacer solicitudes HTTP POST y GET a Ubidots en solo un par de minutos!

Requisitos

1. Configuración del IDE de Arduino

  • Descarga la última versión del IDE de Arduino si aún no lo tienes.

  • En el IDE de Arduino, haz clic en Sketch -> Incluir Biblioteca -> Administrar Bibliotecas.

Busca la biblioteca WiFiNINA y instala la última versión disponible en tu computadora. Asegúrate de que la versión del firmware de la placa coincida con la biblioteca. Si el firmware necesita una actualización, utiliza las siguientes utilidades:

  • CheckWiFiNINAFirmwareVersion : Lee el número de firmware requerido de la biblioteca y lo compara con el que está instalado en la placa o el escudo.

  • WiFiNINAFirmwareUpdater : El sketch que debe cargarse para permitir el proceso de actualización de firmware y certificados a través del plugin integrado del Software de Arduino (IDE) versión 1.8.5 o posterior.

Descarga la biblioteca de Ubidots y haz clic en Sketch -> Incluir Biblioteca -> Agregar Biblioteca .ZIP. Luego, selecciona el archivo .ZIP de Ubidots y haz clic en "Aceptar". Finalmente, cierra el IDE de Arduino y ábrelo nuevamente.

2. Enviando (POST) Datos a Ubidots

Para POST datos a Ubidots, primero debes seleccionar la placa y el puerto en las opciones Herramientas de la barra del IDE de Arduino.

Después de asegurarte de que tu placa está conectada correctamente a la computadora, abre el IDE de Arduino y pega el código de ejemplo a continuación. Una vez que hayas pegado el código, necesitarás asignar tu TOKEN de Ubidots, SSID (Nombre de WiFi) y Contraseña de la red disponible.

// Este ejemplo envía datos a múltiples variables a// Ubidots a través del protocolo HTTP./***************************************** Incluir Bibliotecas****************************************/#include "Ubidots.h"/**************************************** * Definir Instancias y Constantes****************************************/const char* UBIDOTS_TOKEN = "...";  // Pon aquí tu TOKEN de Ubidotsconst char* WIFI_SSID = "...";      // Pon aquí tu SSID de Wi-Ficonst char* WIFI_PASS = "...";      // Pon aquí tu contraseña de Wi-FiUbidots ubidots(UBIDOTS_TOKEN, UBI_HTTP);/***************************************** Funciones Auxiliares****************************************/// Pon aquí tus funciones auxiliares/**************************************** * Funciones Principales****************************************/void setup() {  Serial.begin(115200);  ubidots.wifiConnect(WIFI_SSID, WIFI_PASS);  // ubidots.setDebug(true);  // Descomenta esta línea para imprimir mensajes de depuración}void loop() {  float value1 = random(0, 9) * 10;  float value2 = random(0, 9) * 100;  float value3 = random(0, 9) * 1000;  ubidots.add("Variable_Name_One", value1);  // Cambia por el nombre de tu variable  ubidots.add("Variable_Name_Two", value2);  ubidots.add("Variable_Name_Three", value3);  bool bufferSent = false;  bufferSent = ubidots.send();  // Enviará datos a una etiqueta de dispositivo que coincida con el Id del dispositivo  if (bufferSent) {    // Haz algo si los valores se enviaron correctamente    Serial.println("Valores enviados por el dispositivo");  }  delay(5000);}

VERIFICA tu código dentro del IDE de Arduino. Para hacer esto, en la esquina superior izquierda de nuestro IDE de Arduino verás el ícono de "Marca de Verificación"; presiónalo para verificar tu código.

CARGA el código en tu “Arduino MKR WIFI 1010”. Para hacer esto, elige el ícono de "flecha derecha" al lado del ícono de "marca de verificación".

Para verificar la conectividad del dispositivo y la respuesta del servidor, abre el monitor serial seleccionando el ícono de "lupa" en la esquina superior derecha del IDE de Arduino para comprobar si los datos se están enviando correctamente.

Después de seguir los pasos anteriores, deberías poder ver una respuesta en el monitor serial como la que se muestra a continuación.

Finalmente, en tu cuenta de Ubidots podrás ver los datos publicados en tu dispositivo.

3. Recuperar (GET) Datos de Ubidots

Con el siguiente código de ejemplo podrás GET los últimos valores de una variable. Asegúrate de asignar tu TOKEN de Ubidots, SSID (Nombre de WiFi), Contraseña, Etiqueta del Dispositivo y Etiqueta de la Variable que deseas GET

// Este ejemplo recupera el último valor de una variable de la API de Ubidots// usando el protocolo HTTP./***************************************** Incluir Bibliotecas****************************************/#include "Ubidots.h"/***************************************** Definir Constantes****************************************/const char* UBIDOTS_TOKEN = "..."; // Pon aquí tu TOKEN de Ubidotsconst char* WIFI_SSID = "..."; // Pon aquí tu SSID de Wi-Ficonst char* WIFI_PASS = "..."; // Pon aquí tu contraseña de Wi-Ficonst char* DEVICE_LABEL_TO_RETRIEVE_VALUES_FROM = "weather-station"; // Reemplaza con la etiqueta de tu dispositivoconst char* VARIABLE_LABEL_TO_RETRIEVE_VALUES_FROM = "humidity"; // Reemplaza con la etiqueta de tu variableUbidots ubidots(UBIDOTS_TOKEN, UBI_HTTP);/**************************************** * Funciones Auxiliares ****************************************/// Pon aquí tus funciones auxiliares/**************************************** * Funciones Principales ****************************************/void setup() {  Serial.begin(115200);  ubidots.wifiConnect(WIFI_SSID, WIFI_PASS); // ubidots.setDebug(true); //Descomenta esta línea para imprimir mensajes de depuración}void loop() {  /* Obtener el último valor de una variable como float usando HTTP */  float value = ubidots.get(DEVICE_LABEL_TO_RETRIEVE_VALUES_FROM, VARIABLE_LABEL_TO_RETRIEVE_VALUES_FROM); // Evalúa los resultados obtenidos  if (value != ERROR_VALUE) {    Serial.print("Valor:");    Serial.println(value);  }  delay(5000);}


Después de pegar el código, verifica que no tengas errores y carga el código en el dispositivo. Una vez que el código se haya cargado correctamente, abre el monitor serial para ver la respuesta del servidor y obtener los últimos valores de la variable. Deberías obtener una respuesta similar a la que se muestra a continuación.

4. Resumen

Con este simple tutorial puedes POST y GET datos a/de Ubidots, ahora es momento de crear Dashboards de Ubidots para visualizar tus datos y desplegar tu solución IoT.

Otros lectores también han encontrado útil...

¿Ha quedado contestada tu pregunta?