ESP8266连接小爱 小爱控制卧室灯

ESP8266连接小爱 小爱控制卧室灯

1.硬件准备

准备8266模块(我用的是ESP8266-01)和底座
ESP8266连接小爱 小爱控制卧室灯_第1张图片
ESP8266连接小爱 小爱控制卧室灯_第2张图片
(这里是靠GPIO0引脚来控制继电器的)

2.下载app

下载点灯blinker app:https://www.diandeng.tech/doc/app-download
ESP8266连接小爱 小爱控制卧室灯_第3张图片
注册登陆后

ESP8266连接小爱 小爱控制卧室灯_第4张图片
ESP8266连接小爱 小爱控制卧室灯_第5张图片
ESP8266连接小爱 小爱控制卧室灯_第6张图片
ESP8266连接小爱 小爱控制卧室灯_第7张图片
ESP8266连接小爱 小爱控制卧室灯_第8张图片
记得复制key,后面还有用,如果忘了复制

ESP8266连接小爱 小爱控制卧室灯_第9张图片
ESP8266连接小爱 小爱控制卧室灯_第10张图片
上述密钥就是那个key

3.烧录程序

接线
ESP8266连接小爱 小爱控制卧室灯_第11张图片
这是我自己焊的板子
电路原理图:
ESP8266连接小爱 小爱控制卧室灯_第12张图片
详情:https://blog.csdn.net/dpjcn1990/article/details/92829836

配置环境:使用Arduino IDE
配置环境方法:https://editor.csdn.net/md/?articleId=122320855

使用CH340下载程序(我用的是这个,程序编译好后connecting时,还得给模块重新上电,可能买的串口比较lj)

烧录之前修改程序中的
char auth[] = “XXXXXXXXXX”; //输入密钥
char ssid[] = “XXXXXXXXXXX”; //wifi名称
char pswd[] = “XXXXXXXX”; //wifi密码

这三个部分

#define BLINKER_MIOT_LIGHT
#define BLINKER_WIFI

#include 

char auth[] = "XXXXXXXXXX"; //输入密钥
char ssid[] = "XXXXXXXXXXX"; //wifi名称
char pswd[] = "XXXXXXXX";  //wifi密码

int GPIO=0;//定义GPIO口用于控制继电器

#define BUTTON_1 "ButtonKey"

BlinkerButton Button1("btn-abc");//这里需要根据自己在BLINKER里面设置的名字进行更改

//按下按键后就会进行此函数
void button1_callback(const String & state)
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(GPIO,!digitalRead(GPIO));
    Blinker.vibrate(); 
}
//接入小爱同学的代码,此部分代码根据BLINKER官网进行修改得到
void miotPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ",state);

    if (state == BLINKER_CMD_OFF) {//如果语音接收到是关闭灯就设置GPIO口为高电平
        digitalWrite(GPIO, HIGH);

        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();
    }
    else if (state == BLINKER_CMD_ON) {
        digitalWrite(GPIO, LOW);
        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();
    }
}


void setup() {
    Serial.begin(115200);
    pinMode(GPIO,OUTPUT);
    digitalWrite(GPIO,HIGH);//初始化,由于继电器是低电平触发。所以刚开始设为高电平
    Blinker.begin(auth, ssid, pswd);
    Button1.attach(button1_callback);
    BlinkerMIOT.attachPowerState(miotPowerState);//这段代码一定要加,不加小爱同学控制不了,务必在回调函数中反馈该控制状态


}

void loop()
{
    Blinker.run();
}

ESP8266连接小爱 小爱控制卧室灯_第13张图片
下载完成,断电,重启设备。此时的GPIO0口应处于悬空状态,接地时是烧录模式。重启之后等一会设备就在线了。
ESP8266连接小爱 小爱控制卧室灯_第14张图片

4.接入米家

下载好米家后进入app
ESP8266连接小爱 小爱控制卧室灯_第15张图片
ESP8266连接小爱 小爱控制卧室灯_第16张图片
选择点灯科技
ESP8266连接小爱 小爱控制卧室灯_第17张图片
绑定blinker的账号之后,就自动同步了
ESP8266连接小爱 小爱控制卧室灯_第18张图片

5.演示

首先当然是将他们双剑合璧啦
ESP8266连接小爱 小爱控制卧室灯_第19张图片
上电等一会,当blinker软件显示在线就可以操作啦
ESP8266连接小爱 小爱控制卧室灯_第20张图片
点他,你就会听到啪嗒一声
或者对着小爱说“打开台灯”还会有啪嗒一声

结语:鄙人不太擅长写这个,可能有很多描述不清楚的地方,还请批评呀

你可能感兴趣的:(单片机,嵌入式硬件,iot)