Добрый день.
Непешно пытаюсь разобраться с разными датчиками. Возник затык с DHT11 (ну такой вот валялся - не стыдите).
#include <DHT.h>
#include <DHT_U.h>
#ifndef USERS_H
#define USERS_H
DHT dht(5, DHT11);
/* Параметры индикаторов web интерфейса для плагина Knob
Мин Макс Шаг Заголовок Ед. измер.
|---------------------|----|------|------|--------------|---------| */
knob_t *T = new knob_t(-40, 125, ".1", "Температура", "°C");
knob_t *H = new knob_t( 0, 100, ".01", "Влажность", "%");
/* Добавление датчика в систему */
void sensors_config() {
dht.begin();
/* DHT на страничке внешнего датчика */
sensors.add(T, "out_temperature", [&](){ return dht.readTemperature(); });
sensors.add(H, "out_humidity", [&](){ return dht.readHumidity(); });
/* ESP на странице внутреннего датчика */
sensors.add(new knob_t(-100, 0, "1", "RSSI", "dbm"), device::in, "rssi",[&](){
return wifi.isConnected() ? WiFi.RSSI() : 0;
});
sensors.add(new knob_t(0, 5, ".01", "Питание", "V"), device::in, "vcc", [&](){
return ESP.getVcc() * 0.001;
});
sensors.add(new knob_t(0, 81920, "1", "RAM", "Byte"), device::in, "ram", [&](){
return 81920 - ESP.getFreeHeap();
});
}
#endif
Так его попытался инициализировать и читать. Вроде-бы заработало, но есть пара непонятных моментов:
1. На странице отображаются целые значения влажности и температуры. Хотя при самообновлении показаний, видно как у температуры меняются десятые, а у влажности сотые. Как только процесс самообновления завершается, опять только целые значения.
2. На суточном графике нет значений влажности и температуры. Мало того, что их нет по сути, еще и нет цифр на вертикалных осях слева и справа.
Подскажите, в какую сторону копать, чтобы поправить эти два момента.
---------------------------------------
C проблемой 2 разобрался. Оказалось достаточно записать две строки в таком виде:
sensors.add(T, "out_temperature", [&](){ return dht.readTemperature(); }, true);
sensors.add(H, "out_humidity", [&](){ return dht.readHumidity(); }, true);
Теперь давление и температура пишутся на суточном графике.