#include #include #include #include Adafruit_HTU21DF htu = Adafruit_HTU21DF(); bool F_HTU_21D; float K_HTU= -0.00; struct { char temperature[15] = {0}; char humity[15] = {0}; } htuData; void init_HTU21(){ F_HTU_21D = false; if (!htu.begin()) { Serial.println("Couldn't find sensor HUT21D!"); SystemStatus = SystemStatus | HTU21noReady; } F_HTU_21D = true; Serial.println("HUT21D gefunden"); } void read_HTU21D() { float t = htu.readTemperature(); t = t + K_HTU; dtostrf(t,7,1,htuData.temperature); float h = htu.readHumidity(); dtostrf(h,7,1,htuData.humity); Serial.print("Temperature (HTU21D):\t"); Serial.print(htuData.temperature); Serial.println(" °C"); Serial.print("Luftfeuchtigkeit:\t"); Serial.print(htuData.humity); Serial.println(" %"); } void M2M_HTU21D(String deviceId = "4711") { char topic[100]; sprintf(topic, "%s%s%s", "hjk/devices/", deviceId.c_str(), "/telemetry/temperature_Htu_21" ); client.publish(topic, htuData.temperature, true); sprintf(topic, "%s%s%s", "hjk/devices/", deviceId.c_str(), "/telemetry/humity" ); client.publish(topic, htuData.humity, true); /* Serial.printf("HTU21:\t\t %s °C\n", htuData.temperature); Serial.printf("HTU21:\t\t %s %%\n", htuData.humity); */ }