#include <WiFi.h>
#include "ThingSpeak.h"
#include "secrets.h" //nombre del archivo .h
#include <DHTesp.h>
#define DHT_PIN 27
//Guardar y mandar las llaves a un archivo
unsigned long myChannelNumber = SECRET_CH_ID;
const char * myWriteAPIKey = SECRET_WRITE_APIKEY;
DHTesp dhtSensor;
char ssid[] = SECRET_SSID; // your network SSID (name)
char pass[] = SECRET_PASS; // your network password
WiFiClient client;
void sendData (int temp, int hum) {
ThingSpeak.setField(1, temp);
ThingSpeak.setField(2, hum);
int httpCode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (httpCode == 200) {
Serial.println("Channel write successful.");
}
else {
Serial.println("Problem writing to channel. HTTP error code " + String(httpCode));
}
}
void HandleResponse() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
float temperature = (data.temperature);
float humidity = (data.humidity);
sendData(temperature, humidity);
Serial.print("Temperature:");
Serial.print(temperature);
Serial.print(",");
Serial.print("Humidity:");
Serial.println(humidity);
}
void setup() {
Serial.begin(115200);
delay(100);
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client); //Inicializar la conexión con ThingSpeak
dhtSensor.setup(DHT_PIN, DHTesp::DHT11);
}
void loop() {
// Connect or reconnect to WiFi
HandleResponse();
delay(20000);
}