700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > esp-01s接入天猫精灵与relay继电器控制电灯

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

时间:2023-09-04 23:07:12

相关推荐

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

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的资料分享给你们

继电器/s/1H0HfQlp9C5gi6IOaPC4hYA

提取码:1234

esp-01s

/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 0char 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);#endifpinMode(relay1, OUTPUT);digitalWrite(relay1, HIGH);Blinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);BlinkerAliGenie.attachPowerState(aligeniePowerState);BlinkerAliGenie.attachQuery(aligenieQuery);}void loop(){Blinker.run();}

更多详细

链接: 点灯科技

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。