基于arduino用esp8266和继电器实现小爱同学开关灯

用esp8266和继电器实现小爱同学开关灯

房间的灯离床太远了,于是想到用esp8266配合点灯科技app来实现用小爱同学开关灯。于是就用小led灯做了测试。

这些是我们需要的材料

在淘宝上都能找到
1.esp8266-01模块;
基于arduino用esp8266和继电器实现小爱同学开关灯_第1张图片
2. 配合使用的继电器基于arduino用esp8266和继电器实现小爱同学开关灯_第2张图片
3. esp8266的读写器
基于arduino用esp8266和继电器实现小爱同学开关灯_第3张图片
5. 5v供电(在淘宝可以买220v转5v的电源模块)这里用uno板代替

硬件部分的搭建

基于arduino用esp8266和继电器实现小爱同学开关灯_第4张图片
1.关于继电器的接线
基于arduino用esp8266和继电器实现小爱同学开关灯_第5张图片
VCC、GND分别接5v直流的正负极。左边nc口为常开端,火线从中间com口进,常开端和com口为默认导通状态,右边为no常闭端,只有当有指令时继电器就会和常闭导通与常开端断开。一般我们接com进火线no出火线。当然如果想实现与机械开关双控可以配合双联开关接三个口。

软件部分

下面是关于点灯科技的软件配置
1.我们需要把点灯科技的开发库:https://codeload.github.com/blinker-iot/blinker-library/zip/master
解压放到 我的电脑>文档>Arduino>libraries 文件夹中

2.在arduino官方论坛上下载esp8266开发板信息安装到arduino(关于详细的环境搭建:可以到点灯科技官网查看

3.下载点灯科技app并添加设备
基于arduino用esp8266和继电器实现小爱同学开关灯_第6张图片
基于arduino用esp8266和继电器实现小爱同学开关灯_第7张图片

下面上代码

#define BLINKER_MIOT_LIGHT
#define BLINKER_WIFI

#include 

char auth[] = "888888888";  //设备key,打开点灯app,添加设备,选择arduino设备,选择wifi接入,这里就会获得一个密钥,把密钥填写在这里。
char ssid[] = "**********";  //路由器wifi ssid
char pswd[] = "88888888";  //路由器wifi 密码

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

#define BUTTON_1 "ButtonKey"


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

void button1_callback(const String & state)
{
    BLINKER_LOG("get button state: ", state);
    digitalWrite(GPIO,!digitalRead(GPIO));
    Blinker.vibrate(); 
}



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();
}


下面插上读写器上传代码

上传好之后安装在继电器上插上电
就会显示设备在线了。
基于arduino用esp8266和继电器实现小爱同学开关灯_第8张图片

配置米家

在米家app里找到其他平台设备,然后找到点灯科技输入账号密码,就可以绑定啦。然后就可用小爱控制开关灯了。
基于arduino用esp8266和继电器实现小爱同学开关灯_第9张图片
基于arduino用esp8266和继电器实现小爱同学开关灯_第10张图片基于arduino用esp8266和继电器实现小爱同学开关灯_第11张图片

用点灯科技里的按键控制

点进设备里面添加按键,注意数据键名和代码里面一致就可以,开关类型为开关按键。
基于arduino用esp8266和继电器实现小爱同学开关灯_第12张图片基于arduino用esp8266和继电器实现小爱同学开关灯_第13张图片

你可能感兴趣的:(基于arduino用esp8266和继电器实现小爱同学开关灯)