#include <BluetoothSerial.h>
#include "SD.h"
#include <DHTesp.h>
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
int paco;
BluetoothSerial SerialBT;
DHTesp dht;
int pinDHT = 15;
int i;
//definicion de archivos sd
#define p_SD 5
File archivo;
String datos;
void setup() {
/////bt
SerialBT.begin("pablo"); // Nombre del dispositivo Bluetooth
Serial.println("The device started, now you can pair it with bluetooth!");
////sensor
dht.setup(pinDHT, DHTesp:: DHT22);
Serial.begin(115200);
////crear el archivo
if(!SD.begin(p_SD)){
Serial.println("Error modulo SD");
ESP.restart();
}
Serial.println("Modulo SD inicializado");
archivo= SD.open("/dth22.txt", FILE_WRITE);
if(!archivo){
Serial.println("Error al crear archivo");
return;
}
archivo.println("dth22");
archivo.close();
}
void loop() {
//////promedio de los sensores
float sumaT=0;
float sumaH=0;
int nm =10;
for(i=0; i<nm; i++){
TempAndHumidity data = dht.getTempAndHumidity();
sumaT +=data.temperature;
sumaH +=data.humidity;
delay(500);
}
float promedioT = sumaT / nm;
float promedioH = sumaH / nm;
/////escribir en el archivo
archivo=SD.open("/dth22.txt", FILE_APPEND);
if(archivo){
datos=String("Promedio de Temperatura: " + String(promedioT, 2) + "°C");
archivo.println(datos);
datos=String("Promedio de Humedad: " + String(promedioH, 2) + "%");
archivo.println(datos);
archivo.close();
delay(1000);
}
delay(300);
/////iniciador del bt
if (SerialBT.available()){
paco=SerialBT.read();
Serial.print("recibido: ");
Serial.println(paco);
if(paco=='1'){
////leer el archivo
archivo = SD.open("/dth22txt");
if (archivo) {
while (archivo.available()) {
SerialBT.write(archivo.read());
}
archivo.close();
} else {
Serial.println("Error al abrir el archivo");
}
delay(1000); // Leer archivo cada segundo
}
delay(20);
}
}