你好,我按照官方文档关联了小爱同学,但是每次通过小爱查询温湿度的时候都说与设备沟通失败,是什么原因呢?
- #define BLINKER_WIFI
- #define BLINKER_MIOT_SENSOR
- #include <Blinker.h>
- #include <DHT.h>
- char auth[] = "***";
- char ssid[] = "***";
- char pswd[] = "******";
- // 设置温度控件
- BlinkerNumber SHIDU("shidu");
- BlinkerNumber WENDU("wendu");
- // 设置温湿度传感器引脚
- #define DHTPIN D8
- // 设置温度传感器型号
- #define DHTTYPE DHT11
- DHT dht(DHTPIN, DHTTYPE);
- float shidu_read = 0, wendu_read = 0;
- void heartbeat()
- {
- WENDU.print(wendu_read);
- SHIDU.print(shidu_read);
- }
- //接入小爱同学
- void miotQuery(int32_t queryCode)
- {
- BLINKER_LOG("MIOT Query codes: ", queryCode);
- int shidu_ai = shidu_read;
- switch (queryCode)
- {
- case BLINKER_CMD_QUERY_HUMI_NUMBER :
- BLINKER_LOG("MIOT Query HUMI");
- BlinkerMIOT.humi(shidu_ai);
- BlinkerMIOT.print();
- break;
- case BLINKER_CMD_QUERY_TEMP_NUMBER :
- BLINKER_LOG("MIOT Query TEMP");
- BlinkerMIOT.temp(wendu_read);
- BlinkerMIOT.print();
- break;
- }
- }
- void setup()
- {
- Serial.begin(115200);
- BLINKER_DEBUG.stream(Serial);
- BLINKER_DEBUG.debugAll();
- Blinker.begin(auth, ssid, pswd);
- Blinker.attachHeartbeat(heartbeat);
- dht.begin();
- BlinkerMIOT.attachQuery(miotQuery);
- }
- void loop()
- {
- Blinker.run();
- float sd = dht.readHumidity();
- float wd = dht.readTemperature();
- if(isnan(sd) || isnan(wd))
- {
- BLINKER_LOG("读取温湿度失败");
- }
- else
- {
- BLINKER_LOG("温度:", wd, "℃");
- BLINKER_LOG("湿度", sd, "%");
- shidu_read = sd;
- wendu_read = wd;
- }
- Blinker.delay(2000);
- }
复制代码
|