arudino源码如下:
const char* ssid = &34;; //修改,修改为你的路由的WIFI名字
const char* password = &34;; //修改为你的WIFI密码
1、点击天猫精灵首页“精灵家”页面,点击右上角【+】,选择【添加设备】。2、点击配对卡片,开启手机蓝牙。3、选择wifi并输入密码等待连接即可。本文以天猫精灵CC&&iphone12pro为例适用于iOS15系统天猫精灵V5.7.0版本 。
const char* mqtt_server = &34;; //默认,MQTT服务器地址
const int mqtt_server_port = 9501; //默认,MQTT服务器端口
const char * dhttopic = &34;; //主题名字,天猫精灵连接wifi,可在巴法云mqtt控制台创建,尾号002为灯
int B_led = LED_BUILTIN; //控制的led引脚
long timeval = 3 * 1000; //上传的传感器时间间隔,默认3秒
int ENV_D7 = D7 ; // L298N ENV gpio
int M_D1 = D1; // L298N_IN1 + ESP_D1
int M_D2 = D2; // L298N_IN2 + ESP_D2
String ledstatus = &34;;//led状态默认off
long lastMsg = 0;//时间戳
/SimpleDHT11 dht11(pinDHT11);//dht11初始化
WiFiClient espClient;
1、打开手机到应用市场下载“天猫精灵APP”。2、打开手机,在设置中点击蓝牙,将蓝牙的开关开启。3、将天猫精灵连接电源并打开,对天猫精灵说“天猫精灵,蓝牙连接”,稍等片刻后,就会出现提示音出现,即可成功连接蓝牙。4。
PubSubClient client(espClient);//mqtt初始化
/灯光函数及引脚定义
void turnOnLed();
void turnOffLed();
void setup_wifi() {
delay(10);
Serial.println();
Serial.print(&34;);
Serial.println(ssid);
WiFi.begin(ssid,password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(&34;);
}
Serial.println(&34;);
Serial.println(&34;);
Serial.println(&34;);
Serial.println(WiFi.localIP());
/ 设置gpio 为输出模式
pinMode(ENV_D7,OUTPUT);
pinMode(M_D1,OUTPUT);
pinMode(M_D2,OUTPUT);
/ 初始化引脚为低电平
digitalWrite(ENV_D7,LOW);
digitalWrite(M_D1,LOW);
digitalWrite(M_D2,LOW);
}
void turnup()
{
analogWrite(ENV_D7,100);
digitalWrite(M_D1,HIGH);
digitalWrite(M_D2,LOW);
ledstatus=&34;;
String msg = &&温度开关状态#
client.publish(dhttopic,msg.c_str());//数据上传
1、打开手机设置,打开【蓝牙】开关。2、【蓝牙】开关打开后,准备连接下方的【天猫精灵】。3、在通知栏点击蓝牙开关,让手机进入【配对】状态。4、对天猫精灵说“打开蓝牙”,让手机搜索【天猫精灵】,搜索出来后在弹出的。
}
void turndown()
{
analogWrite(ENV_D7,100);
digitalWrite(M_D1,LOW);
digitalWrite(M_D2,HIGH);
ledstatus=&34;;
String msg = &&温度开关状态#
client.publish(dhttopic,msg.c_str());//数据上传
}
Serial.print(&34;);
Serial.print(topic);
Serial.print(&34;);
String Mqtt_Buff = &34;;
for (int i = 0; i < length; i++) {
Mqtt_Buff += (char)payload[i];
}
Serial.print(Mqtt_Buff);
Serial.println();
if (Mqtt_Buff == &34;) {//如果接收字符on,亮灯
/turnOnLed();//开灯函数
turnup();
} else if (Mqtt_Buff == &34;) {//如果接收字符off,亮灯
/turnOffLed();//关灯函数
turndown();
} else if (Mqtt_Buff == &34;) {//如果接收字符off,亮灯
turnup();//关灯函数
}
else if (Mqtt_Buff == &34;) {//如果接收字符off,亮灯
turndown();//关灯函数
}
else if (Mqtt_Buff == &off") {//如果接收字符off,亮灯
turnup();//关灯函数
}
else if (Mqtt_Buff == &on") {//如果接收字符off,亮灯
turndown();//关灯函数
}
Mqtt_Buff = &34;;
}
void reconnect() {
/ Loop until we're reconnected
while (!client.connected()) {
Serial.print(&34;);
/ Attempt to connect
if (client.connect(ID_MQTT)) {//连接mqtt
Serial.println(&34;);
client.subscribe(dhttopic);//修改,修改为你的主题
} else {
Serial.print(&34;);
Serial.print(client.state());
Serial.println(&34;);
/ Wait 5 seconds before retrying
delay(5000);
}
}
}
void setup() {
pinMode(B_led,OUTPUT);
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_server,mqtt_server_port);
client.setCallback(callback);
1、如果天猫向导没有连接到互联网,请确保已启用需要连接的WIFI和蓝牙。首先,使能设置,使能手机的WIFI和蓝牙。2、点击“天猫精灵”app,如图所示:3、登录后点击“我的家”,如图所示。4、将天猫精灵接入电源,如图所示:5。
digitalWrite(B_led,HIGH);
}
void loop() {
if (!client.connected()) {//判断mqtt是否连接
reconnect();
}
client.loop();//mqtt客户端
long now = millis();//获取当前时间戳
if (now - lastMsg > timeval) {//如果达到3s,进行数据上传
lastMsg = now;
String msg = &&温度开关状态#
client.publish(dhttopic,msg.c_str());//数据上传
}
}
/打开灯泡
void turnOnLed() {
ledstatus = &34;;
Serial.println(&34;);
digitalWrite(B_led,LOW);
String msg = &&温度开关状态#
client.publish(dhttopic,msg.c_str());//数据上传
}
/关闭灯泡
void turnOffLed() {
ledstatus = &34;;
1、选择添加设备 打开天猫精灵APP,登录您的淘宝账号,点击精灵家,选择添加设备。2、点击天猫精灵型号 点击天猫精灵,选择自己家天猫精灵型号,添加的设备。3、输入您的WiFi密码 开启手机WiFi,蓝牙,开始联网系统会自动的检测。
Serial.println(&34;);
digitalWrite(B_led,HIGH);
analogWrite(ENV_D7,0);
digitalWrite(M_D1,LOW);
digitalWrite(M_D2,LOW);
String msg = &&温度开关状态#
client.publish(dhttopic,msg.c_str());//数据上传
}
/源码结束