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();}