2025-12-1205

This commit is contained in:
2025-12-11 01:19:39 +01:00
parent d57d91e83e
commit c2af9db648
11 changed files with 628 additions and 0 deletions

69
include/mess_bme280.h Normal file
View File

@@ -0,0 +1,69 @@
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
struct {
char temperature[15] = {0};
char pressure[15] = {0};
char approx_altitud[15] = {0};
char humity[15] = {0};
} BME280Data;
void Init_BME280(){
bool status = bme.begin();
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
}
void read_BME_280() {
Serial.print("Temperature:\t\t");
float t = bme.readTemperature();
dtostrf(t,10,4,BME280Data.temperature);
Serial.print(BME280Data.temperature);
Serial.println(" °C");
//Serial.print("Diff zu DS1820 \t\t");Serial.print(t-valTemp,4); Serial.println(" °C");
Serial.print("Humidity:\t\t");
float h = bme.readHumidity();
dtostrf(h,8,2,BME280Data.humity);
Serial.print(BME280Data.humity);
Serial.println(" %");
Serial.print("Pressure:\t\t");
float p = bme.readPressure() / 100.0F;
p = p + 22;
dtostrf(p,5,0,BME280Data.pressure);
Serial.print(BME280Data.pressure);
Serial.println(" hPa");
Serial.print("Approx. Altitude:\t");
float a = bme.readAltitude(SEALEVELPRESSURE_HPA);
dtostrf(a,5,0,BME280Data.approx_altitud);
Serial.print(BME280Data.approx_altitud);
Serial.println(" m über NN");
Serial.println();
}
void M2M_BME280(long deviceId = 4711) {
char topic[100];
sprintf(topic, "%s%ld%s", "hjk/devices/", deviceId, "/telemetry/temperature_BME_280" );
client.publish(topic, BME280Data.temperature, true);
sprintf(topic, "%s%ld%s", "hjk/devices/", deviceId, "/telemetry/pressure" );
client.publish(topic, BME280Data.pressure, true);
sprintf(topic, "%s%ld%s", "hjk/devices/", deviceId, "/telemetry/humity" );
client.publish(topic, BME280Data.humity, true);
sprintf(topic, "%s%ld%s", "hjk/devices/", deviceId, "/telemetry/approx_altitude" );
client.publish(topic, BME280Data.approx_altitud);
//
//delay(500);
}