Mixly+点灯科技+小爱同学智能插座
疫情了,时间多的很。游戏也玩累了,电影也没的看了。无聊至极!得!!!出来搞点事情吧。哈哈哈。
Mixly出了新版本(正式版1.1.3)这个版本很稳定也很好用,最最主要的是添加了点灯的三方模块(开始我玩点灯时也想做个这个库的模块,就因本人犯懒没搞,自更新了新版本后发现已有,那咱就可以开心的玩耍了)。点赞!这货对于编程菜鸟简直就是神器。例如本人。嘿嘿
切入正题整点干货!今天主要玩的就是米思齐三方点灯模块.
需要硬件: esp8266 01 模块1个
esp8266 01 继电器模块 1个
手机充电器 1个
220插座 1个
第一步下载最新版本的米思齐1.1.3版,然后下载点灯模块
点灯模块安装完就可以开始了。下图是我的程序图。一键配网,建议用微 信安信可公众号 进行配网。点灯的APP也能配但是不太好用。
最终装机图
程序搞定就可以下载到esp8266进行测试。一键配网+点灯APP控制+小爱音箱语音控制。简单快捷方便。线路图我就不上了。超
另一篇有配网教程。自动配网+blynk+点灯双网登录
有问题可以留言。
源码:
#include <ESP8266WiFi.h>
#define BLINKER_ALIGENIE_OUTLET
#define BLINKER_MIOT_OUTLET
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "改你的点灯密钥";
char ssid[] = "";
char pswd[] = "";
BlinkerButton Button1("k1");
void Button1_callback(const String & state) {
if (state == "on") {
digitalWrite(2,HIGH);
Button1.print("on");
Button1.color("#FF4040");
Button1.text("灯开了");
} else if (state == "off") {
digitalWrite(2,LOW);
Button1.print("off");
Button1.color("#9ACD32");
Button1.text("灯关了");
}
}
// 小爱同学
void miotPowerStatedata(const String & data){
if (data == BLINKER_CMD_ON) {
digitalWrite(2,LOW);
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
} else if (data == BLINKER_CMD_OFF) {
digitalWrite(2,HIGH);
BlinkerMIOT.powerState("off");
BlinkerMIOT.print();
}
}
// 天猫精灵
void aligeniePowerStatedata1(const String & data1){
if (data1 == BLINKER_CMD_ON) {
digitalWrite(2,LOW);
BlinkerAliGenie.powerState("on");
BlinkerAliGenie.print();
} else if (data1 == BLINKER_CMD_OFF) {
digitalWrite(2,HIGH);
BlinkerAliGenie.powerState("off");
BlinkerAliGenie.print();
}
}
void setup(){
pinMode(2, OUTPUT);
digitalWrite(2,HIGH);
Serial.begin(115200);
WiFi.mode(WIFI_STA);//自动配网开始
int cnt = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (cnt++ >= 10) {
WiFi.beginSmartConfig();
while (1) {
delay(1000);
if (WiFi.smartConfigDone()) {
Serial.println();
Serial.println("SmartConfig: Success");
break;
}
}
}
}//配网结束
BLINKER_DEBUG.stream(Serial);
Blinker.begin(auth, ssid, pswd);
Button1.attach(Button1_callback);
BlinkerMIOT.attachPowerState(miotPowerStatedata);
BlinkerAliGenie.attachPowerState(aligeniePowerStatedata1);
}
void loop(){
Blinker.run();
}