/* -----------------------------------------------------------------
------------------------- Codigo MultiHardWare ---------------------
----------------------------------------------------------------- */
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
ESP8266WiFiMulti wifiMulti;
#pragma message "Codigo para ESP8266!"
#elif defined(ESP32)
#include <WiFi.h>
#include <WiFiMulti.h>
WiFiMulti wifiMulti;
#pragma message "Codigo para ESP32!"
#elif defined(ARDUINO)
#pragma message "Codigo para Arduino basado AVR (UNO, MEGA, etc)!"
#else
#pragma message "No es ni ESP32 o ES8266 o AVR, que es?"
#endif
/* -----------------------------------------------------------------
-------------------------- Librerias y Objetos ---------------------
----------------------------------------------------------------- */
template<class T> inline Print &operator <<(Print &obj, T arg) {
obj.print(arg);
return obj;
}
#include "DHTesp.h"
DHTesp dhtSensor;
/* -----------------------------------------------------------------
---------------- Declaracion de Variables y constantes -------------
----------------------------------------------------------------- */
#define DHT_PIN 15
#define PIN_LED 4
unsigned long tiempoAnterior;
int periodo = 2000;
float temp, hume;
/* -----------------------------------------------------------------
------------------------- Configuracion Arduino --------------------
----------------------------------------------------------------- */
void setup() {
Serial.begin(9600);
Serial.setTimeout(5000);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
pinMode(PIN_LED, OUTPUT);
digitalWrite(PIN_LED, 0);
tiempoAnterior = millis();
delay(100);
}
/* -----------------------------------------------------------------
---------------------------- Codigo Principal ----------------------
----------------------------------------------------------------- */
void loop() {
if(Serial.available() == 1){
int lectura = Serial.parseInt();
digitalWrite(PIN_LED, lectura);
}
if((millis() - tiempoAnterior) >=periodo){
tiempoAnterior = millis();
leerTemphumidity();
}
}
/* -----------------------------------------------------------------
-------------------------------- Funciones -------------------------
----------------------------------------------------------------- */
void leerTemphumidity(){
TempAndHumidity data = dhtSensor.getTempAndHumidity();
temp = data.temperature;
hume = data.humidity;
Serial.println("Temp: " + String(data.temperature, 2)+ "c");
Serial.println("humidity: " + String(data.humidity, 1) + "%");
Serial.println("----");
}