|
本帖最后由 17865566707 于 2020-5-28 18:48 编辑
在本次blinker库更新之前做的温湿度设备,一直运行正常。
更新了最新3.0库后,之前的代码一点没动,重新烧录程序,手机APP显示数值正常,小度查询温度正常,查询湿度后边多两个0(比如手机显示22%。小度查询结果就是2200%),手机调试信息数据正常。
刚论坛搜索说用DHT11.H库好点,更换新库后,问题依旧。(DHT.H和DHT11.H两个库出现问题相同)
有没有人帮我分析一下原因在哪里啊?会不会是更新的库有问题啊?
代码如下,小度反馈程序内是直接给的变量h和t,未作其他运算处理。
#define BLINKER_WIFI
#define BLINKER_ESP_SMARTCONFIG//采用EspTouch/SmartConfig方式配网
#define BLINKER_DUEROS_SENSOR
#include <Blinker.h>
#include <dht11.h>
dht11 DHT11;
#define DHT11PIN 2 //定义DHT11模块连接管脚io2
char auth[] = "e25237e68a64";
BlinkerButton Shuaxin("SX"); //新建刷新状态按键
BlinkerNumber HUMI("humi"); //定义湿度数据键名
BlinkerNumber TEMP("temp"); //定义温度数据键名
float h = 0, t = 0;
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
Blinker.begin(auth);
Blinker.attachData(dataRead);
Blinker.attachHeartbeat(heartbeat);
Blinker.attachDataStorage(dataStorage);
Shuaxin.attach(shuaxin_callback);
BlinkerDuerOS.attachQuery(duerQuery);
DHT11.read(DHT11PIN);
}
void loop()
{
Blinker.run();
DHT11.read(DHT11PIN);
h = DHT11.humidity + 7; //误差校准系数
t = DHT11.temperature - 7;//误差校准系数
if (isnan(h) || isnan(t))
{
BLINKER_LOG("传感器读取失败!");
}
else
{
BLINKER_LOG("湿度: ", h, " %");
BLINKER_LOG("温度: ", t, " ℃");
}
Blinker.delay(2000);
}
|
|