diff --git a/DomoEspSensor/Automatismos.h b/DomoEspSensor/Automatismos.h index 9a7ce4b..9ae7fd0 100644 --- a/DomoEspSensor/Automatismos.h +++ b/DomoEspSensor/Automatismos.h @@ -10,6 +10,7 @@ #include "SensorTimer.h" #include "SensorLcd.h" #include "SensorBuzzer.h" +#include "SensorBMP180.h" #include "SensorRF.h" #include "SensorSplitter.h" diff --git a/DomoEspSensor/SensorBMP180.h b/DomoEspSensor/SensorBMP180.h new file mode 100644 index 0000000..c495103 --- /dev/null +++ b/DomoEspSensor/SensorBMP180.h @@ -0,0 +1,75 @@ +#ifndef SensorBMP180Def +#define SensorBMP180Def 1 +#include "defines.h" + +#include +#include +//sensor virtual +class SensorBMP180: public DomoEspSensorReceiver +{ + float t, p, a;//temperarura, presion, altura + int sda,scl; + Adafruit_BMP085 bmp; + public: + SensorBMP180() + { + t=p=a=0; + topic[0]=0; + } + void set(char* topic_id, int _sda, int _scl) + { + sda=_sda; + scl=_scl; + strcpy(topic, topic_id); + } + virtual void inicia() + { + //inicia------------------ + Wire.begin( sda,scl); + int i=0; + while(!bmp.begin(), i<300) + { + i++; + delay(10); + } + + if(i>=300) + { + #ifdef DEBUG_PS + Serial.println("---------------------------------LogBMP Error al inicializar bmp----------------------------------"); + #endif + } + } + virtual float getVal() + { + return (float)p; + } + virtual void procesa(IMqttManager * man, int tiempo) + { + if(tiempo==2) + { + #ifdef DEBUG_PS + Serial.println("LogBMP "); + #endif + + t= bmp.readTemperature(); + p = bmp.readPressure(); + a=bmp.readAltitude(); + + //loguea------------ + //char buffer_t[MAXTOPICVAR]; + //char buffer_p[MAXTOPICVAR]; + sprintf(buffer_p, "%d", t); + sprintf(buffer_t, "%s/t/get",topic); + man->MqttSend(buffer_t, buffer_p); + sprintf(buffer_p, "%d", p); + sprintf(buffer_t, "%s/p/get",topic); + man->MqttSend(buffer_t, buffer_p); + sprintf(buffer_p, "%d", a); + sprintf(buffer_t, "%s/a/get",topic); + man->MqttSend(buffer_t, buffer_p); + } + } +}; + +#endif \ No newline at end of file diff --git a/DomoEspSensor/configuracionActual.h b/DomoEspSensor/configuracionActual.h index 28dbb3f..61713d0 100644 --- a/DomoEspSensor/configuracionActual.h +++ b/DomoEspSensor/configuracionActual.h @@ -45,7 +45,7 @@ class ConfAutomatismos: public DomoEspConfig }; class ConfSpliter: public DomoEspConfig { - + SensorBMP180 bmp; SensorDout luz; SensorDout luz2;