失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用esp01s模块和光耦817实现天猫精灵 小爱同学实现电脑远程开关机

利用esp01s模块和光耦817实现天猫精灵 小爱同学实现电脑远程开关机

时间:2018-07-24 03:18:33

相关推荐

利用esp01s模块和光耦817实现天猫精灵 小爱同学实现电脑远程开关机

利用esp01s模块和光耦817实现天猫精灵、小爱同学实现电脑远程开关机(由于电脑电源开机线是5V,需要另外加两个5V转3.3V模块对esp01s提供电源和反馈开关机状态)。

/** 利用esp01s模块和光耦817实现天猫精灵、小爱同学实现电脑远程开关机(由于电脑电源开机线是5V,需要另外加两个5V转3.3V模块对esp01s提供电源和反馈开关机状态。* 引脚接线* RXD,GPIO3读取主机LED+电压//RXD开机时可以接低电平,其他引脚开机时接低电平导致不开机* TXD,GPIO1,定义为高电平,与GPIO2(低电平)接光耦817,使光耦3、4脚控制主板开机线//由于GPIO2接外部低电平时断电重启不开机* */#define BLINKER_WIFI//#define BLINKER_ALIGENIE_LIGHT#define BLINKER_ALIGENIE_OUTLET//#define BLINKER_MIOT_LIGHT#define BLINKER_MIOT_OUTLET#define BLINKER_WIFI_MULTI#include <Blinker.h>int in = 3;//RDXint out = 2;int outG = 1;//TXDchar auth[] = "xx";char ssid[] = "TP-LINK_46AB";char pswd[] = "wdj123456..";char ssid1[] = "TP_LINK_820F";char pswd1[] = "hqh5492333";char ssid2[] = "sxbctvnet-ehh24";char pswd2[] = "fybbrmmr";BlinkerButton Button1("btn-abc");BlinkerNumber Number1("num-abc");int counter = 0;void button1_callback(const String & state){BLINKER_LOG("get button state: ", state);//digitalWrite(out, !digitalRead(out));digitalWrite(out, LOW);delay(200);digitalWrite(out, HIGH);}void dataRead(const String & data){BLINKER_LOG("Blinker readString: ", data);counter++;Number1.print(counter);}void aligeniePowerState(const String & state){BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(out, LOW);delay(200);digitalWrite(out, HIGH);BlinkerAliGenie.powerState("on");BlinkerAliGenie.print();}else if (state == BLINKER_CMD_OFF) {digitalWrite(out, LOW);delay(200);digitalWrite(out, HIGH);BlinkerAliGenie.powerState("off");BlinkerAliGenie.print();}}void miotPowerState(const String & state){BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(out, LOW);delay(200);digitalWrite(out, HIGH);BlinkerMIOT.powerState("on");BlinkerMIOT.print();}else if (state == BLINKER_CMD_OFF) {digitalWrite(out, LOW);delay(200);digitalWrite(out, HIGH);BlinkerMIOT.powerState("off");BlinkerMIOT.print();}}int statu(){return digitalRead( in );}void heartbeat(){if ( statu() == LOW ) {Button1.color( "#B4B4B4" );Button1.text( "ON" );Button1.print();}else{Button1.color( "#00FF00" );Button1.text( "OFF" );Button1.print();}}void setup(){Serial.begin(115200);BLINKER_DEBUG.stream(Serial);BLINKER_DEBUG.debugAll();pinMode(out,OUTPUT);pinMode(outG,OUTPUT);pinMode(in, INPUT_PULLUP);digitalWrite(out,HIGH);digitalWrite(outG,HIGH);Blinker.addAP(ssid2, pswd2);Blinker.addAP(ssid1, pswd1);Blinker.begin(auth, ssid, pswd);Blinker.attachData(dataRead);Button1.attach(button1_callback);Blinker.attachHeartbeat(heartbeat);BlinkerMIOT.attachPowerState(miotPowerState);BlinkerAliGenie.attachPowerState(aligeniePowerState);}void loop(){Blinker.run();}

如果觉得《利用esp01s模块和光耦817实现天猫精灵 小爱同学实现电脑远程开关机》对你有帮助,请点赞、收藏,并留下你的观点哦!

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