Browse Source

fix mqtt values

ir
Hendrik Langer 5 years ago
parent
commit
6cf779ed0f
  1. 18
      src/main.cpp

18
src/main.cpp

@ -153,9 +153,9 @@ void sendValues() {
char temperature[8]; sprintf(temperature, "%.2f", bme.readTemperature()); char temperature[8]; sprintf(temperature, "%.2f", bme.readTemperature());
char humidity[7]; sprintf(humidity, "%.2f", bme.readHumidity()); char humidity[7]; sprintf(humidity, "%.2f", bme.readHumidity());
char pressure[8]; sprintf(pressure, "%.2f", bme.readPressure() / 100.0F); char pressure[8]; sprintf(pressure, "%.2f", bme.readPressure() / 100.0F);
mqtt.publish(topic_temperature.c_str(), temperature, sizeof(temperature)); mqtt.publish(topic_temperature.c_str(), temperature, strlen(temperature));
mqtt.publish(topic_humidity.c_str(), humidity, sizeof(humidity)); mqtt.publish(topic_humidity.c_str(), humidity, strlen(humidity));
mqtt.publish(topic_pressure.c_str(), pressure, sizeof(pressure)); mqtt.publish(topic_pressure.c_str(), pressure, strlen(pressure));
} }
if (uv_active) { if (uv_active) {
@ -165,9 +165,9 @@ void sendValues() {
char uvi[10]; sprintf(uvi, "%.2f", uv.readUVI()); char uvi[10]; sprintf(uvi, "%.2f", uv.readUVI());
char uva[10]; sprintf(uva, "%.2f", uv.readUVA()); char uva[10]; sprintf(uva, "%.2f", uv.readUVA());
char uvb[10]; sprintf(uvb, "%.2f", uv.readUVB()); char uvb[10]; sprintf(uvb, "%.2f", uv.readUVB());
mqtt.publish(topic_uvi.c_str(), uvi, sizeof(uvi)); mqtt.publish(topic_uvi.c_str(), uvi, strlen(uvi));
mqtt.publish(topic_uvi.c_str(), uvi, sizeof(uva)); mqtt.publish(topic_uvi.c_str(), uvi, strlen(uva));
mqtt.publish(topic_uvi.c_str(), uvi, sizeof(uvb)); mqtt.publish(topic_uvi.c_str(), uvi, strlen(uvb));
} }
if (sds_active) { if (sds_active) {
@ -177,8 +177,8 @@ void sendValues() {
char pm10[10]; sprintf(pm10, "%.2f", pm.pm10); char pm10[10]; sprintf(pm10, "%.2f", pm.pm10);
String topic_pm25 = String("thomas/sensor/") + ota.getMAC() + String("/pm25"); String topic_pm25 = String("thomas/sensor/") + ota.getMAC() + String("/pm25");
char pm25[10]; sprintf(pm25, "%.2f", pm.pm25); char pm25[10]; sprintf(pm25, "%.2f", pm.pm25);
mqtt.publish(topic_pm10.c_str(), pm10, sizeof(pm10)); mqtt.publish(topic_pm10.c_str(), pm10, strlen(pm10));
mqtt.publish(topic_pm25.c_str(), pm25, sizeof(pm25)); mqtt.publish(topic_pm25.c_str(), pm25, strlen(pm25));
// if you want to just print the measured values, you can use toString() method as well // if you want to just print the measured values, you can use toString() method as well
Serial.println(pm.toString()); Serial.println(pm.toString());
@ -237,7 +237,7 @@ void setup()
if (sds_fw.isOk()) { if (sds_fw.isOk()) {
sds_active = true; sds_active = true;
sds.setActiveReportingMode(); // ensures sensor is in 'active' reporting mode sds.setActiveReportingMode(); // ensures sensor is in 'active' reporting mode
sds.setCustomWorkingPeriod(5); // sensor sends data every 3 minutes // sds.setCustomWorkingPeriod(5); // sensor sends data every 3 minutes
} else { } else {
Serial.println("Failed to communicate with SDS011 sensor, check wiring?"); Serial.println("Failed to communicate with SDS011 sensor, check wiring?");
} }

Loading…
Cancel
Save