用网上其他大神的代码,点灯科技可正常读取温湿度小爱同学却提示设备拒绝访问错误,后来看点灯科技小爱同学的api才发现少了dataread子函数。添加后完全正常,菜鸟注释,有错误提出。
//定义显示温湿度组件名
BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");
//定义变量
float humi_read = 0;
float temp_read = 0;
//心跳包
void heartbeat()
{
//反馈温湿度数据
HUMI.print(humi_read);
TEMP.print(temp_read);
}
void miotQuery(int32_t queryCode) //小爱同学语音命令反馈
{
BLINKER_LOG("MIOT Query codes: ", queryCode);
int humi_read_int=humi_read; //去掉湿度浮点
BlinkerMIOT.humi(humi_read_int); //小爱接收湿度
BlinkerMIOT.temp(temp_read); //小爱接收温度
BlinkerMIOT.print();
}
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
Blinker.vibrate();
uint32_t BlinkerTime = millis();
Blinker.print("millis", BlinkerTime);
}
//设置
void setup()
{
Serial.begin(9600);//初始化串口
BLINKER_DEBUG.stream(Serial);
//初始化Blinker
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
Blinker.attachHeartbeat(heartbeat);//绑定回调函数
BlinkerMIOT.attachQuery(miotQuery); //小爱同学 数据反馈
dht.begin();
}
void loop()
{
Blinker.run();
//从传感器读取温湿度幅值给humi_read,temp_read
humi_read = dht.readHumidity();
temp_read = dht.readTemperature();
if (isnan(humi_read) || isnan(temp_read))//如果没读取到传感器数据
{
BLINKER_LOG("Failed to read from DHT sensor!");
}
else
{
BLINKER_LOG("Humidity: ", humi_read, " %");
BLINKER_LOG("Temperature: ", temp_read, " *C");//串口打印
}
Blinker.delay(2000);
}