天猫精灵接入ESP8266+DHT11温湿度 测试
今天来分享一个天猫精灵控制ESP8266+DHT11 温湿度WiFi节点模块直接正题1:准备工具
USB烧写器
湿度传感器
ESP8266
杜邦线
2:先给ESP8266刷写代码这里就不多教学了可以趴贴
直接发代码
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_ALIGENIE_OUTLET //天猫接入
#include <Blinker.h>
#include <DHT.h>
char auth[] = "************"; //设备key
char ssid[] = "************"; //wifi ssid
char pswd[] = "************"; //wifi 密码
BlinkerNumber HUMI("humi"); //定义湿度数据键名
BlinkerNumber TEMP("temp"); //定义温度数据键名
#define DHTPIN 2 //定义DHT11模块连接管脚io2
#define DHTTYPE DHT11 // 使用DHT 11温度湿度模块
//#define DHTTYPE DHT22 // DHT 22(AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE); //定义dht
float humi_read = 0, temp_read = 0;
void heartbeat()
{
HUMI.print(humi_read); //给blinkerapp回传湿度数据
TEMP.print(temp_read); //给blinkerapp回传温度数据
}
void aligenieQuery(int32_t queryCode)
{
BLINKER_LOG("AliGenie Query codes: ", queryCode);
int humi_read_int=humi_read; //去掉湿度浮点
BlinkerAliGenie.humi(humi_read_int); //天猫接收湿度
BlinkerAliGenie.temp(temp_read); //天猫接收温度
BlinkerAliGenie.print();
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
Blinker.begin(auth, ssid, pswd);
Blinker.attachHeartbeat(heartbeat);
dht.begin();
BlinkerAliGenie.attachQuery(aligenieQuery);
}
void loop()
{
Blinker.run();
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
BLINKER_LOG("Failed to read from DHT OUTLET!");
}
else
{
BLINKER_LOG("Humidity: ", h, " %");
BLINKER_LOG("Temperature: ", t, " *C");
humi_read = h;
temp_read = t;
}
Blinker.delay(2000);
}
3:接线方法
3v3接入传感器正极
GND接入传感器负极
IO2接入传感器out
图例 蓝(正极)黄(负极) 绿(out)
4:插上电大功告成随便附上成品
https://www.lanzous.com/ia22aih
小米也可以控制哦如果有需要后期可以发一个
页:
[1]