Enviar información a ThingSpeak desde ESP32/ESP8266

Este fantástico módulo que cuesta menos que una hamburguesa en España, no solo tiene bluetooth, dos núcleos y sensores touch… sino que también tiene Wi-Fi!

Así que aprovecharemos esta funcionalidad para enviar datos a la nube, a un broker Mqtt. Mqtt es un estándar de comunicaciones muy eficientes originalmente de la industria del petróleo, ahora Liberado y disponible para para casas, industrias, y millones de proyectos IoT

Asegúrate de tener instalado el CORE del ESP32/ESP8266

Text box item sample content

ESP32 CORE

Librerías

 

https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/boards_manager.md

#include "ThingSpeak.h"
#include <WiFi.h>

 

Habrá que conectarse a una red Wi-Fi local con buena señal

TU_WI-FI_SSID
CONTRASEÑA

Y completar las credenciales de Thingspeak

NUMERO_CANAL_THINGSPEAK
API_KEY_THINGSPEAK

 

 

char ssid[] = "TU_WI-FI_SSID";
char pass[] = "CONTRASEÑA";

int keyIndex = 0; // your network key Index number (needed only for WEP)
WiFiClient client;

unsigned long myChannelNumber = NUMERO_CANAL_THINGSPEAK;
const char * myWriteAPIKey = "API_KEY_THINGSPEAK";

int number = 0;

unsigned int temperatureFieldNumber = 1;

void setup() {
Serial.begin(115200);

// WiFi.mode(WIFI_STA);
ThingSpeak.begin(client); // Inicializa -> librería ThingSpeak
}

void loop() {

// Connect or reconnect to WiFi
if(WiFi.status() != WL_CONNECTED){
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
while(WiFi.status() != WL_CONNECTED){
WiFi.begin(ssid, pass); // Connect to WPA/WPA2 network. Change this line if using open or WEP network
Serial.print(".");
delay(5000);
}
Serial.println("nConnected.");
}

// Write to ThingSpeak. There are up to 8 fields in a channel, allowing you to store up to 8 different
// pieces of information in a channel. Here, we write to field 1.
int x = ThingSpeak.writeField(myChannelNumber, 1, number, myWriteAPIKey);
if(x == 200){
Serial.println("Channel update successful.");
}
else{
Serial.println("Problem updating channel. HTTP error code " + String(x));
}

// change the value
number++;
if(number > 99){
number = 0;
}

delay(20000); // Wait 20 seconds to update the channel again
}

Otros Proyectos realizados en España:

Dejar comentario

HUE CAT

PROGRAMACIÓN Y DISEÑO

GDPR