Ir al contenido principal
Todas las coleccionesConecta tus dispositivos
Conectar el Arduino UNO usando un ESP8266 a Ubidots
Conectar el Arduino UNO usando un ESP8266 a Ubidots

Aprende a configurar tu Arduino UNO con Wi-Fi para enviar datos a Ubidots.

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

ESP8266 ofrece una solución completa y autónoma de red Wi-Fi, lo que le permite alojar la aplicación o descargar todas las funciones de red Wi-Fi de otro procesador de aplicación. En este ejemplo, el ESP8266 sirve como un adaptador Wi-Fi, añadiendo acceso a internet inalámbrico a cualquier módulo basado en microcontrolador a través de la interfaz UART. En este caso, utilizamos un Arduino UNO.

Requisitos

Configuración

1.- Verifica el pinout en el módulo Arduino UNO:

Arduino —— ESP8266
D2 ————–> RXD
D3 ————–> TXD
3.3V ——–—> VCC
3.3V ——–—> CH_PD
GND ——–—> GND

2.- Descarga la biblioteca UbidotsESP8266 aquí

3.- Ve al Arduino IDE, haz clic en Sketch -> Incluir Biblioteca -> Añadir Biblioteca .ZIP

4.- Selecciona el archivo .ZIP de la biblioteca ESP8266 y luego “Aceptar” o “Elegir”

5.- Cierra el Arduino IDE y ábrelo de nuevo.

Para usar esta biblioteca, coloca tu token de Ubidots y el ID de variable donde se indica, así como la configuración de WiFi. Después de subir cada ejemplo a tu Arduino, abre el monitor serial para verificar los resultados. Si no se ve ninguna respuesta, intenta desconectar tu Arduino y luego volver a conectarlo. Asegúrate de que la velocidad de baudios del monitor serial esté configurada a la misma que se especifica en tu código.

Enviar un valor a Ubidots

Para enviar un valor a Ubidots, ve a Sketch -> Ejemplos -> Biblioteca UbidotsESP8266 y selecciona el ejemplo “saveValue”.

#include <UbidotsESP8266.h>#include <SoftwareSerial.h> #define SSID "Your_WiFi_SSID_here"#define PASS "Your_WiFi_PASWORD_here"#define TOKEN "Your_token_here"#define ID "Your_ID_here"Ubidots client(TOKEN);void setup() {  Serial.begin(9600);  client.wifiConnection(SSID,PASS);}void loop() {  float value = analogRead(A0);  client.add(ID,value);  client.sendAll();}

Obtener un valor de Ubidots

Para obtener el último valor de una variable de Ubidots, ve a Sketch -> Ejemplos -> Biblioteca UbidotsESP8266 y selecciona el ejemplo “getValue”.

#include <UbidotsESP8266.h>#include <SoftwareSerial.h> #define SSID "Your_WiFi_SSID_here"#define PASS "Your_WiFi_PASWORD_here"#define TOKEN "Your_token_here"#define ID "Your_ID_here"Ubidots client(TOKEN);void setup() {  Serial.begin(9600);  client.wifiConnection(SSID,PASS);}void loop() {  float value;  value = client.getValue(ID);} 

Enviar múltiples valores a Ubidots

Para enviar múltiples valores a Ubidots, ve a Sketch -> Ejemplos -> Biblioteca UbidotsESP8266 y selecciona el ejemplo “saveValues”.

#include "UbidotsESP8266.h"#include <SoftwareSerial.h> #define SSID "Your_WiFi_SSID_here"#define PASS "Your_WiFi_PASWORD_here"#define TOKEN "Your_token_here"#define ID "Your_id_here" // Reemplázalo con el ID de variable de Ubidots#define ID2 "Your_id2_here" #define ID3 "Your_id3_here"#define ID4 "Your_id4_here" Ubidots client(TOKEN);void setup() {  Serial.begin(9600);  client.wifiConnection(SSID,PASS);}void loop() {  float value = analogRead(A0);  float value2 = analogRead(A1);  float value3 = analogRead(A2);  float value4 = analogRead(A3);  client.add(ID,value);  client.add(ID2,value2);  client.add(ID3,value3);  client.add(ID4,value4);  client.sendAll();}
¿Ha quedado contestada tu pregunta?