创作立场声明:年末小折腾,这个插座还是卖硬盘座的老板那边买的
上回硬盘底座里面说有人看。就发个esp8266的插座刷机。就我就写一篇吧。 垃圾佬。纯属无聊。买现成的全橙wifi插座也就19.9 :
这完全是折腾。鉴于上次图纸给吞了。我这次连代码都贴出来。固件也给出来。实在不会动手懒的动手的朋友。我也帮你定制固件。(水了水了。就是改个密匙而已! )
废话少说,先拆机。
我是用这个夹开的
为了不留印子
开了,卡扣还是断了
老板们没有这个,用锤子吧,用块毛巾包住,死命锤吧。卡扣是肯定断得,最后还是要上胶水封起来得。
这旁边有四个螺丝
中间还有个螺丝
拆开了
一共5个螺丝。很容易拆开的。
下面刷机了。我用的是鳄鱼夹。一共要接5个点。下面是接线图。
应该能看懂吧
然后是刷机工具和代码:工具和代码 提取码: cs9k (这次应该不会吞链接了吧)
刷机方法:
打开这个工具
新建一个文件。然后把里面东西删掉
贴上我的代码
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET //小爱同学
#define BLINKER_DUEROS_OUTLET
#define BLINKER_ALIGENIE_OUTLET //天猫精灵
#include <Blinker.h>
char auth[] = ""; //这里密钥
char ssid[] = ""; //这里WIFI名称
char pswd[] = ""; //这里WIFI密码
BlinkerButton Button1("btn-on"); //定义按钮数据
BlinkerButton Button2("btn-off");
bool oState = false;
int counter = 0;
void miotPowerState(const String & state)
{
BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) { //小爱同学控制开命令
digitalWrite(15, HIGH);
digitalWrite(12, LOW);
BlinkerMIOT.powerState("on");
BlinkerMIOT.print();
oState = true;
}
else if (state == BLINKER_CMD_OFF) { //小爱同学控制关命令
digitalWrite(15,LOW);
digitalWrite(12,HIGH);
BlinkerMIOT.powerState("off");
BlinkerMIOT.print();
oState = false;
}
}
void miotQuery(int32_t queryCode) //小爱同学控制
{
BLINKER_LOG("MIOT Query codes: ", queryCode);
switch (queryCode)
{
case BLINKER_CMD_QUERY_ALL_NUMBER :
BLINKER_LOG("MIOT Query All");
BlinkerMIOT.powerState(oState ? "on" : "off");
BlinkerMIOT.print();
break;
case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
BLINKER_LOG("MIOT Query Power State");
BlinkerMIOT.powerState(oState ? "on" : "off");
BlinkerMIOT.print();
break;
default :
BlinkerMIOT.powerState(oState ? "on" : "off");
BlinkerMIOT.print();
break;
}
}
void AliGeniePowerState(const String & state)
{
BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) { //小爱同学控制开命令
digitalWrite(15, HIGH);
digitalWrite(12, LOW);
BlinkerAliGenie.powerState("on");
BlinkerAliGenie.print();
oState = true;
}
else if (state == BLINKER_CMD_OFF) { //小爱同学控制关命令
digitalWrite(15,LOW);
digitalWrite(12,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("millis", BlinkerTime);
}
void button1_callback(const String & state) //点灯app内控制按键触发
{
digitalWrite(15,HIGH);
digitalWrite(12,LOW);
BLINKER_LOG("get button state:on", state);
}
void button2_callback(const String & state) //点灯app内控制按键触发
{
digitalWrite(15,LOW);
digitalWrite(12,HIGH);
BLINKER_LOG("get button state:off", state);
}
void setup()
{
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
pinMode(15, OUTPUT); //定义io口为输出
pinMode(12, OUTPUT);
digitalWrite(15, LOW); //定义io默认为低电平
digitalWrite(12, HIGH);
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
BlinkerAliGenie.attachPowerState(AliGeniePowerState);
BlinkerAliGenie.attachQuery(AliGenieQuery);
BlinkerMIOT.attachPowerState(miotPowerState);
BlinkerMIOT.attachQuery(miotQuery);
Button1.attach(button1_callback);
Button2.attach(button2_callback);
}
void loop()
{
Blinker.run();
if (digitalRead(13) == LOW)
{
delay(200); //延时简单抗抖动
digitalWrite(15, !digitalRead(15));
digitalWrite(12, !digitalRead(12));
}
}
一上是代码。只需要改3个地方:
auth这个是点灯app里面的密匙。填在""这个中间。举个例子就是
char auth[] = "123456789"; 把123456789替换成密匙
ssid就是你家里的wifi名字。填在""这个中间。举个例子就是
char ssid[] = "你家的wifi名字";
pswd就是你家的wifi密码。填在""这个中间。举个例子就是
char pswd[] = "你家的wifi密码";
wifi名字和密码这个应该吗问题吧~~点灯科技的密匙这是这样获取的。
先下载一个点灯科技的app。
就是这个app
打开这样,然后选右上角那个+
选独立设备
选阿里云
选wifi接入
这个就是密匙了
然后就可以烧录固件了。切记那5个地方都接好。然后ch340插到电脑。
选开发板
选端口ch340
上传
等下面信息100%就刷成功了。上电试试吧。
对了这个是美标插头。要锯掉一段。
贴上胶布
锯的差不多了
好了
下面说一下天猫精灵和小爱怎么接入
其实就是靠点灯科技接入第三方
天猫精灵绑定“点灯”
·打开天猫精灵 APP“+添加设备”
·在搜索栏,搜索blinker,并点击要添加的设备类型(选择插座图标那个)
·点击绑定账号,使用blinker账户登录,完成绑定
·绑定成功后,在您的智能家居设备列表中,现在可以使用天猫精灵进行语音控制了!
进入米家APP,点击「我的」—「其他平台设备」,添加点灯科技,进入后,点击同步设备,就会看到在Blinker中创建的设备。
添加同步设备
前面绑定成功后,小爱同学中就会出现绑定的设备了。
绑定成功
试着对小爱说:“打开灯”、“关闭灯”、“灯的状态”,可能网络不好会有些延迟,不过想要的控制已经实现了,放一下测试时拍的视频,你也可以尝试去控制些别的设备了。
以上。。。好像步骤太多了。。。 实在不行联系我。。
还有一种刷机方法:
这个是直接刷固件。没有编译过程的
刷机工具 提取码:8tz3
插座是全新的。包装都不止3块钱的成本。我是印刷厂的。时间是廉价的。全是折腾。 以上~