esp-01s接入天猫精灵与relay继电器控制电灯

   日期:2021-03-24     浏览:286    评论:0    
核心提示:esp-01s接入天猫精灵与relay继电器控制电灯学习arduino已经两个多月了,第一次动手做了一个天猫精灵控制的台灯,并且记录和分享一下学习的过程,做的不好,有什么不对的地方还请多多指正首先需要使用esp8266和blinker的库文件,然后在arduino上选择正确的开发板Arduino库文件ESP8266blinker版子别选错了效果图这是我接完线安装在台灯线上的效果,虽然不好看,但是挺好用的这里有一些继电器和esp-01s的资料分享给你们继电器https://pan.b

esp-01s接入天猫精灵与relay继电器控制电灯

学习arduino已经两个多月了,第一次动手做了一个天猫精灵控制的台灯,并且记录和分享一下学习的过程,做的不好,有什么不对的地方还请多多指正

这两个模块加起来才10块钱,也不是很贵

首先需要使用esp8266和blinker的库文件,然后在arduino上选择正确的开发板

Arduino库文件

ESP8266
blinker

下载解压到C:\Program Files (x86)\Arduino\libraries这个文件夹里面

库文件解压后,选择对应的开发板,像这样

开发板选择后就可以编译程序上传了
如果报错可能是以下原因
1,开发板选择错误;重新检查一下板子对不对
2,库文件的原因;建议重新看一下,解压到Arduino\libraries这个文件夹里面
3,库文件重复,下载多个库文件安装了;还是去Arduino\libraries这个文件夹里,把多余的对应多余的库文件删除
以上都是我曾经遇到过的问题

效果图

这是我接完线安装在台灯线上的效果,虽然不好看,但是挺好用的


接线


这个普通的继电器模块,与relay原理一样,接线是公共端和常闭

这里有一些继电器和esp-01s的资料分享给你们

继电器https://pan.baidu.com/s/1H0HfQlp9C5gi6IOaPC4hYA
提取码:1234
esp-01s
https://pan.baidu.com/s/1_U_t_YPj0jjgfFz9vTZtCw
提取码:r0do

esp-01s接入天猫精灵有很多开源的代码可以去接入,不过需要定义继电器才可以使用
接入天猫精灵方法

代码如下

接入blinker,添加设备一定要选择阿里云.

#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_ALIGENIE_OUTLET

#include <Blinker.h>
#define relay1 0

char auth[] = "2ccc8abc0179";//钥匙
char ssid[] = "c04 111 2.4";//WiFi名称
char pswd[] = "1234567890";//WiFi密码

bool oState = false;

void aligeniePowerState(const String & state)
{ 
    BLINKER_LOG("need set power state: ", state);

    if (state == BLINKER_CMD_ON) { 
        digitalWrite(relay1, LOW);

        BlinkerAliGenie.powerState("on");
        BlinkerAliGenie.print();

        oState = true;
    }
    else if (state == BLINKER_CMD_OFF) { 
        digitalWrite(relay1, HIGH);

        BlinkerAliGenie.powerState("off");
        BlinkerAliGenie.print();

        oState = false;
    }
}

void aligenieQuery(int32_t queryCode)
{ 
    BLINKER_LOG("AliGenie Query codes: ", queryCode);

    switch (queryCode)
    { 
        case BLINKER_CMD_QUERY_ALL_NUMBER :
            BLINKER_LOG("AliGenie Query All");
            BlinkerAliGenie.powerState(oState ? "on" : "off");
            BlinkerAliGenie.print();
            break;
        case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
            BLINKER_LOG("AliGenie Query Power State");
            BlinkerAliGenie.powerState(oState ? "on" : "off");
            BlinkerAliGenie.print();
            break;
        default :
            BlinkerAliGenie.powerState(oState ? "on" : "off");
            BlinkerAliGenie.print();
            break;
    }
}

void dataRead(const String & data)
{ 
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();
    
    uint32_t BlinkerTime = millis();
    Blinker.print(BlinkerTime);
    Blinker.print("millis", BlinkerTime);
}

void setup()
{ 
    Serial.begin(115200);

    #if defined(BLINKER_PRINT)
        BLINKER_DEBUG.stream(BLINKER_PRINT);
    #endif

    pinMode(relay1, OUTPUT);
    digitalWrite(relay1, HIGH);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    
    BlinkerAliGenie.attachPowerState(aligeniePowerState);
    BlinkerAliGenie.attachQuery(aligenieQuery);
}

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

更多详细

链接: 点灯科技

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服