From 0c09fcd913b40ff352203f456b6d3a73a20276e7 Mon Sep 17 00:00:00 2001 From: Jose Date: Fri, 25 Apr 2025 19:54:28 +0200 Subject: [PATCH] Replace BMP280 with BME280: remove BMP280 files and implement BME280 initialization and reading functions --- hardware/include/BME280.hpp | 7 +++++++ hardware/include/BMP280.hpp | 7 ------- hardware/include/main.hpp | 2 +- hardware/platformio.ini | 2 +- hardware/src/BME280.cpp | 24 ++++++++++++++++++++++++ hardware/src/BMP280.cpp | 25 ------------------------- hardware/src/main.cpp | 22 +++++----------------- 7 files changed, 38 insertions(+), 51 deletions(-) create mode 100644 hardware/include/BME280.hpp delete mode 100644 hardware/include/BMP280.hpp create mode 100644 hardware/src/BME280.cpp delete mode 100644 hardware/src/BMP280.cpp diff --git a/hardware/include/BME280.hpp b/hardware/include/BME280.hpp new file mode 100644 index 0000000..12ebfee --- /dev/null +++ b/hardware/include/BME280.hpp @@ -0,0 +1,7 @@ +#include +#include + +#define I2C_BMP280_ADDRESS 0x76 + +void BME280_Init(); +bool BME280_Read(float &pressure, float &temperature, float &humidity); \ No newline at end of file diff --git a/hardware/include/BMP280.hpp b/hardware/include/BMP280.hpp deleted file mode 100644 index 69414cf..0000000 --- a/hardware/include/BMP280.hpp +++ /dev/null @@ -1,7 +0,0 @@ -#include -#include - -#define I2C_BMP280_ADDRESS 0x76 - -void BMP280_Init(); -bool BMP280_Read(float &temperature, float &pressure, float &altitude); \ No newline at end of file diff --git a/hardware/include/main.hpp b/hardware/include/main.hpp index 44105ba..808178f 100644 --- a/hardware/include/main.hpp +++ b/hardware/include/main.hpp @@ -9,6 +9,6 @@ #include "RestClient.hpp" #include "WifiConnection.hpp" #include "MqttClient.hpp" -#include "BMP280.hpp" +#include "BME280.hpp" uint32_t getChipID(); \ No newline at end of file diff --git a/hardware/platformio.ini b/hardware/platformio.ini index 24262c3..47a0b97 100644 --- a/hardware/platformio.ini +++ b/hardware/platformio.ini @@ -16,4 +16,4 @@ lib_deps = knolleary/PubSubClient@^2.8 mikalhart/TinyGPSPlus@^1.0.2 bblanchon/ArduinoJson@^6.17.3 - martinl1/BMP280_DEV@^1.0.21 + finitespace/BME280@^3.0.0 diff --git a/hardware/src/BME280.cpp b/hardware/src/BME280.cpp new file mode 100644 index 0000000..f6f8fb4 --- /dev/null +++ b/hardware/src/BME280.cpp @@ -0,0 +1,24 @@ +#include "BME280.hpp" + +BME280I2C bme; + +void BME280_Init() +{ + Wire.setPins(21, 22); + Wire.begin(); + while(!bme.begin()) + { + Serial.println("Could not find BME280 sensor!"); + delay(1000); + } +} + +bool BME280_Read(float &pressure, float &temperature, float &humidity) +{ + BME280::TempUnit tempUnit(BME280::TempUnit_Celsius); + BME280::PresUnit presUnit(BME280::PresUnit_Pa); + bme.read(pressure, temperature, humidity, tempUnit, presUnit); + + return (temperature != 0.0f && pressure != 0.0f); +} + diff --git a/hardware/src/BMP280.cpp b/hardware/src/BMP280.cpp deleted file mode 100644 index ffbe24d..0000000 --- a/hardware/src/BMP280.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "BMP280.hpp" - -BMP280_DEV bme; - -void BMP280_Init() -{ - Wire.setPins(21, 22); - if (!bme.begin(NORMAL_MODE, I2C_BMP280_ADDRESS)) - { - Serial.println("BMP280 no detectado o error en la inicialización"); - } - else - { - Serial.println("BMP280 inicializado correctamente"); - } - bme.setTimeStandby(TIME_STANDBY_2000MS); - bme.startNormalConversion(); -} - -bool BMP280_Read(float &temperature, float &pressure, float &altitude) -{ - bme.getCurrentMeasurements(temperature, pressure, altitude); - return (temperature != 0.0f && pressure != 0.0f); -} - diff --git a/hardware/src/main.cpp b/hardware/src/main.cpp index 3fc5b66..a05802e 100644 --- a/hardware/src/main.cpp +++ b/hardware/src/main.cpp @@ -38,24 +38,12 @@ void setup() getRequest(httpClient, "http://172.20.10.7:8082/api/v1/sensors/1/values", response); deserializeSensorValue(httpClient, httpClient.GET()); */ - BMP280_Init(); + BME280_Init(); + } void loop() { - if (BMP280_Read(temperature, pressure, altitude)) - { - Serial.print("Temperature: "); - Serial.println(temperature); - Serial.print("Pressure: "); - Serial.println(pressure); - Serial.print("Altitude: "); - Serial.println(altitude); - } - else - { - Serial.println("❌ Lectura fallida del BMP280"); - } - - delay(2000); -} \ No newline at end of file + Serial.println(temperature); + Serial.println(pressure); +}