compatibilidad con esp32

develop
Gerardo 2025-11-27 14:30:25 +01:00
parent 89869031c8
commit 7555635e51
8 changed files with 112 additions and 15 deletions

View File

@ -1,6 +1,7 @@
#ifndef DomoEspApiConexionDef #ifndef DomoEspApiConexionDef
#define DomoEspApiConexionDef 1 #define DomoEspApiConexionDef 1
#include "defines.h" #include "defines.h"
#ifndef ESP32_DEF
#include <ESP8266HTTPClient.h> #include <ESP8266HTTPClient.h>
//sensor Replica, sensor interno que se setea con get y no se publica //sensor Replica, sensor interno que se setea con get y no se publica
class DomoEspApiConexion class DomoEspApiConexion
@ -73,4 +74,5 @@ class DomoEspApiConexion
return httpCode==200; return httpCode==200;
} }
}; };
#endif
#endif #endif

View File

@ -1,3 +1,4 @@
#define ESP32_DEF 1
#include "DomoEspSensorManager.h" #include "DomoEspSensorManager.h"
#include "configuracionActual.h" #include "configuracionActual.h"
DomoEspManager manager; DomoEspManager manager;

View File

@ -63,8 +63,15 @@ void DomoEspManager::loop()
if(!wifi.conecta()) if(!wifi.conecta())
{ {
if(tNoConexion.onTimer()) if(tNoConexion.onTimer())
ESP.reset(); {
return; #ifndef ESP32_DEF
ESP.reset();
#else
ESP.restart();
#endif
return;
}
} }
} }
tNoConexion.inicia(); tNoConexion.inicia();
@ -72,7 +79,15 @@ void DomoEspManager::loop()
{ {
suscrito=false; suscrito=false;
if(tNomqtt.onTimer()) if(tNomqtt.onTimer())
ESP.reset(); {
#ifndef ESP32_DEF
ESP.reset();
#else
ESP.restart();
#endif
return;
}
return; return;
} }
tNomqtt.inicia(); tNomqtt.inicia();
@ -87,16 +102,22 @@ void DomoEspManager::loop()
int tiempoAux=0; int tiempoAux=0;
if(timer.onTimerReset()) if(timer.onTimerReset())
{ {
if(conf->conexionPorApi) #ifndef ESP32_DEF
{ if(conf->conexionPorApi)
char topic_aux[32];
char payload_aux[128];
while(api.getDataPendiente(conf->ideEsp,topic_aux, payload_aux))
{ {
OnMqtt(topic_aux, payload_aux); #ifndef ESP32_DEF
char topic_aux[32];
char payload_aux[128];
while(api.getDataPendiente(conf->ideEsp,topic_aux, payload_aux))
{
OnMqtt(topic_aux, payload_aux);
}
#endif
} }
} #endif
tiempo=(tiempo+1)%2; tiempo=(tiempo+1)%2;
tiempoAux=tiempo+1; tiempoAux=tiempo+1;
#ifdef DEBUG_PS #ifdef DEBUG_PS
@ -163,7 +184,11 @@ void DomoEspManager::SubscribeMqtt(PubSubClient *client_mqtt)
void DomoEspManager::MqttSend(char* topic, char* payload) void DomoEspManager::MqttSend(char* topic, char* payload)
{ {
if(conf->conexionPorApi) if(conf->conexionPorApi)
api.send(topic, payload); {
#ifndef ESP32_DEF
api.send(topic, payload);
#endif
}
else else
{ {
if(suscrito); if(suscrito);

View File

@ -1,7 +1,15 @@
#ifndef DomoEspManagerDef #ifndef DomoEspManagerDef
#define DomoEspManagerDef 1 #define DomoEspManagerDef 1
#include <PubSubClient.h> #include <PubSubClient.h>
#ifndef ESP32_DEF
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#endif
#ifdef ESP32_DEF
#include <WiFi.h>
#endif
#include "utiles.h" #include "utiles.h"
#include "DomoEspApiConexion.h" #include "DomoEspApiConexion.h"
class DomoEspConfig; class DomoEspConfig;
@ -22,7 +30,10 @@ class DomoEspManager: public MqttReceiver, public IMqttManager, public ISensorMa
WiFiClient espClient; WiFiClient espClient;
PubSubClient clienteMqtt; PubSubClient clienteMqtt;
MqttManager mqtt; MqttManager mqtt;
#ifndef ESP32_DEF
DomoEspApiConexion api; DomoEspApiConexion api;
#endif
DomoEspSensorReceiver* sensores[MAXSENS]; DomoEspSensorReceiver* sensores[MAXSENS];
int n; int n;

View File

@ -1,6 +1,13 @@
#include <Arduino.h> #include <Arduino.h>
#define ESP32_DEF 1
#ifndef ESP32_DEF
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#include <ESP8266mDNS.h> #include <ESP8266mDNS.h>
#endif
#ifdef ESP32_DEF
#include <WiFi.h>
#endif
#include <WiFiUdp.h> #include <WiFiUdp.h>
#include <ArduinoOTA.h> #include <ArduinoOTA.h>
#include <PubSubClient.h> #include <PubSubClient.h>
@ -11,7 +18,14 @@
//************************************************************************************************************************************************** //**************************************************************************************************************************************************
void MqttUtiles::resetFunc() void MqttUtiles::resetFunc()
{ {
#ifdef ESP32_DEF
ESP.restart();
#endif
#ifndef ESP32_DEF
ESP.wdtEnable(1); ESP.wdtEnable(1);
#endif
while(1){}; while(1){};
} }
//************************************************************************************************************************************************** //**************************************************************************************************************************************************

View File

@ -2,8 +2,10 @@
#define UtilesDef 1 #define UtilesDef 1
#include "defines.h" #include "defines.h"
class PubSubClient; class PubSubClient;
class WiFiClient;
#ifndef ESP32_DEF
class WiFiClient;
#endif
class MqttUtiles class MqttUtiles
{ {
public: public:

View File

@ -468,7 +468,7 @@ class ConfHabitacionPrincipal: public DomoEspConfig
public: public:
ConfHabitacionPrincipal() ConfHabitacionPrincipal()
{ {
strcpy(ssidWifi,"IdhunAux");//nombre wifi strcpy(ssidWifi,"Idhun");//nombre wifi
strcpy(ideEsp,"Esp8266_HP");//idenitificador del esp (sera único) strcpy(ideEsp,"Esp8266_HP");//idenitificador del esp (sera único)
dht.set(D4,"casa/habPrin"); dht.set(D4,"casa/habPrin");
radio.set(D0, "casa/habPrin/rad",0,0); radio.set(D0, "casa/habPrin/rad",0,0);
@ -531,7 +531,46 @@ class ConfPruebaDHT: public DomoEspConfig
} }
}; };
class ConfSonofPrueba: public DomoEspConfig
{
SensorDout luz;
SensorDin interruptor;
AutomatismoPulsador actuadorInterrup;
//SensorPulsante pul;
//Actuador actpon;
//Actuador actpoff;
public:
ConfSonofPrueba()
{
strcpy(ssidWifi,"IdhunDesa");//nombre wifi
strcpy(ideEsp,"Esp32c3_soff2");//idenitificador del esp (sera único)
luz.set(4, "casa/sonoff2/luz",0,0);
interruptor.set( 18, "casa/sonoff2/inter", false);
PruebaConexiones ConfiguracionActual;
//pul.set(19,"casa/sonoff/pul",1);
//actpon.set("casa/sonoff/pul","casa/sonoff/luz","0");
//actpoff.set("casa/sonoff/pul","casa/sonoff/luz","1");
//actpon.AddActivador(&luz, '>', 0);
//actpoff.AddActivador(&luz, '<', 1);
}
virtual void inicia(ISensorManager* man)
{
man->Add(&luz);
man->Add(&interruptor);
//man->Add(&pul);
//man->Add(&actpon);
//man->Add(&actpoff);
actuadorInterrup.inicia(man, &interruptor, &luz);
}
};
ConfSonofPrueba ConfiguracionActual;
#endif #endif

View File

@ -1,4 +1,7 @@
#ifndef DefinesDef #ifndef DefinesDef
#define ESP32_DEF 1
#define DefinesDef 1 #define DefinesDef 1
#define DEBUG_PS 1 #define DEBUG_PS 1