int Barometer::setup(void) { barom = Adafruit_BMP085_Unified(10085); Serial1.begin(4800); bool result = barom.begin(); if (result){ Serial.println("Barometer 'begin'ed fine"); } else { Serial.println("Barometer 'begin'ed FAILED"); } return 0; }
/************************* MQTT Broker Setup *********************************/ #define mqtt_server "" #define mqtt_user "" #define mqtt_password "" #define mqtt_clientId "" /****************************** Feeds ***************************************/ #define TOPIC_TEMP "sensors/temp" #define TOPIC_PRESS "sensors/pressure" #define TOPIC_DEVICE "sensors/device" #define TOPIC_CLIENTID "sensors/clientId" Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085); #define SDA D6 #define SCL D5 /*************************** Code ************************************/ //fahrenheit = 9.0/5.0*celsius+32 void setup_wifi(); void reconnect(); float convertToF(float tempVal); bool checkBound(float newValue, float prevValue, float maxDiff); WiFiClient espClient; PubSubClient client(espClient); ESP8266WebServer httpServer(80);
#include "barometer.h" Adafruit_BMP085_Unified Barometer::barometer = Adafruit_BMP085_Unified(18001); float Barometer::pressureSetting = DEFAULT_PRESSURE_SETTING; Barometer::Barometer() : Sensor(KALMAN_PROCESS_NOISE, KALMAN_MEASUREMENT_NOISE, KALMAN_ERROR) { thermometer = Thermometer(); altitude = kalmanInit(0); } int Barometer::init() { return barometer.begin(); } float Barometer::getPressure() { sensors_event_t event; barometer.getEvent(&event); if(!event.pressure) { return NO_DATA; } kalmanUpdate(&altitude, event.pressure); return altitude.value; } float Barometer::getAltitudeAboveSeaLevel() { float pressure = getPressure(); if(pressure == NO_DATA) { return NO_DATA;