数码之家

 找回密码
 立即注册
搜索
查看: 35244|回复: 430

[家电] 8.5元联想smartPlug SE-341智能wifi插座拆解、刷机天猫语音控制-超低价ESP8266开关

    [复制链接]
发表于 2021-8-21 13:42:51 | 显示全部楼层 |阅读模式
本帖最后由 易记 于 2021-9-1 21:55 编辑

最近玩ESP8266,想做个天猫精灵语音控制开关。
但是我很懒,一个个配元件嫌麻烦,于是想着能不能淘到便宜的带电源板的模块,多倒是蛮多,一般都要20多块钱。
还是闲钱上逛一下看,找到一个联想的国外版8266智能插座,价格才8.5元一个。有一点不足,就是只有三孔,要是五孔的就好了。老板说五孔杂牌价格一样也有货,晚两天发布。







问了一下店主,买20个一盒才包邮,想着20个还是有点多,买了5个,连运费47.5元。

Lenovo SE-341A Plug


联想的这款产品在国外网站标价25美刀还在售,相当于人民币160元左右,不知为什么在国内会以这样低的价格处理。



ebay在售价格29美刀








到手,这是包装图片


接下来,当然是拆拆拆。虽然是卡口设计,但是因为模具开的好又加上材料比较厚实,实际想要无损拆机还是有点麻烦,我拆了两个,上壳都被我撬的有点破相了,建议加热后慢慢拆。



联想的做工,还是感觉不错的,淘宝查了一下光这个继电器也要个7-8块钱,很多智能插座用的是非常小的继电器。





继电器是两组常开,感觉要是接电灯双控开关是不是有点麻烦的,不过用于插座是很安全,要断二条线都断开。


这个变压器是不是小了点,虽然是小了点,但是有的低价智能插座只用电阻降压整流供电,和这个就不能比了。


联想的用料,应该还是让人放心的,何况这还是出口转内销的产品呢


94V-0防火认证



电源芯片,百度查不到






有一个按钮,按钮有二个蓝色LED灯



ESP8266+2M闪存,我上传时显示2M


还有很多空脚位,可以实现更多功能的,比如温湿度传感器,显示屏,RGB灯控制,红外,RF等等,甚至你还可以用来做一个简单的静态网站,图片CSS文件可以放在2M闪存中。



接下来就是刷机了,版子上面都预留测试点。
接线比较容易,上面都有标示,GND,3.3V,TXD-RX,RXD-TX,还有一个就是IO0接地后刷机。

注意RX这个点,就是3.3V边上的这个点,焊盘设计的就点问题,电烙铁热一点或是焊的刷机线过粗的话,容易掉焊盘。
要是掉了就只有一个过孔了,要是焊不上,只能再拆开接在另一面,所以为了避免不必要的麻烦,请注意一下。






    5号脚位是继电器输出
    12号脚位是灯输出
    4号脚位是按键





卖家有发一个源码,如下
  1. #define BLINKER_WIFI                    //官方wifi协议库
  2. #define BLINKER_MIOT_LIGHT              // 设置小爱灯类库
  3. #define BLINKER_ALIGENIE_LIGHT          // 设置天猫灯类库
  4. #define BLINKER_PRINT Serial            //串口协议库
  5. #include <Blinker.h>                    //官方库
  6. #include <ESP8266WiFi.h>                //官方库
  7. WiFiServer server(80);                  // 服务器端口号

  8. char auth[] = "你的";     //设备key
  9. char ssid[] = "你的";     //路由器wifi ssid
  10. char pswd[] = "你的";     //路由器wifi 密码

  11. bool oState = false;

  12. int kg=5;//继电器输出
  13. int de=12;//灯输出
  14. int key=4 ;//按键
  15. //*******新建组件对象

  16. BlinkerButton Button1("btn-abc");              //设置app按键的键名
  17. //*******app上按下按键即会执行该函数app里按键
  18. void button1_callback(const String & state)
  19. {
  20.    if (digitalRead(kg)==LOW)
  21.    {
  22.         BLINKER_LOG("get button state: ", state);
  23.         digitalWrite(kg, HIGH);
  24.         digitalWrite(de, LOW);
  25.         Button1.print("on");
  26.         Button1.color("#0000FF");              //设置app按键是浅蓝色
  27.         Button1.text("开启中");
  28.    }
  29.    else if (digitalRead(kg)==HIGH)
  30.    {
  31.         BLINKER_LOG("get button state: ", state);
  32.         digitalWrite(kg, LOW);
  33.         digitalWrite(de, HIGH);
  34.         Button1.print("off");
  35.         Button1.color("#00FFFF");              //设置app按键是深蓝色
  36.         Button1.text("关闭中");
  37.    }
  38. }

  39. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  40. //*******如果小爱有对设备进行操作就执行下面
  41. void miotPowerState(const String & state)
  42. {
  43.     BLINKER_LOG("小爱语音操作!");              //串口打印
  44.     if (state == BLINKER_CMD_ON){
  45.         
  46.         digitalWrite(kg, HIGH);
  47.         digitalWrite(de, LOW);
  48.         Button1.print("on");
  49.         Button1.color("#0000FF");              //设置app按键是浅蓝色
  50.         Button1.text("开启中");
  51.         BlinkerMIOT.powerState("on");
  52.         BlinkerMIOT.print();
  53.    }
  54.    else if (state == BLINKER_CMD_OFF)
  55.    {
  56.         
  57.         digitalWrite(kg, LOW);
  58.         digitalWrite(de, HIGH);
  59.         Button1.print("off");
  60.         Button1.color("#00FFFF");              //设置app按键是深蓝色
  61.         Button1.text("关闭中");
  62.         BlinkerMIOT.powerState("off");
  63.         BlinkerMIOT.print();
  64.    }
  65.       

  66. }
  67. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  68. //*******如果天猫精灵有对设备进行操作就执行下面
  69. void aligeniePowerState(const String & state)
  70. {
  71.     BLINKER_LOG("need set power state: ", state);
  72.     if (state == BLINKER_CMD_ON)
  73.     {
  74.         
  75.         digitalWrite(kg, HIGH);
  76.         digitalWrite(de, LOW);
  77.         Button1.print("on");
  78.         Button1.color("#0000FF");              //设置app按键是浅蓝色
  79.         Button1.text("开启中");
  80.         BlinkerAliGenie.powerState("on");
  81.         BlinkerAliGenie.print();
  82.     }
  83.     else if (state == BLINKER_CMD_OFF)
  84.     {
  85.         
  86.         digitalWrite(kg, LOW);
  87.         digitalWrite(de, HIGH);
  88.         Button1.print("off");
  89.         Button1.color("#00FFFF");              //设置app按键是深蓝色
  90.         Button1.text("关闭中");
  91.         BlinkerAliGenie.powerState("off");
  92.         BlinkerAliGenie.print();
  93.     }
  94.         

  95. }
  96.   //*******app定时向设备发送心跳包, 设备收到心跳包后会返回设备当前状态30s~60s一次
  97. void heartbeat()
  98. {
  99.   BLINKER_LOG("状态同步!");
  100.    if (digitalRead(kg)==HIGH)
  101.     {
  102.       Button1.print("on");
  103.       Button1.color("#0000FF");              //设置app按键是浅蓝色
  104.       Button1.text("开启中");
  105.     }
  106.     else
  107.     {
  108.       Button1.print("off");
  109.       Button1.color("#00FFFF");              //设置app按键是深蓝色
  110.       Button1.text("关闭中");
  111.    
  112.     }
  113. }
  114. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  115. void setup()
  116. {
  117.   // 初始化串口
  118.   Serial.begin(115200);
  119.   delay(10);
  120.   BLINKER_DEBUG.stream(Serial);
  121.   // 初始化有LED的IO
  122.   pinMode(kg, OUTPUT);                 
  123.   digitalWrite(kg, LOW);//初始化继电器上电状态
  124.   pinMode(de, OUTPUT);
  125.   digitalWrite(de, HIGH);
  126.   pinMode(key, INPUT);            
  127.   Serial.println();
  128.   Serial.print("Connecting to ");
  129.   Serial.println(ssid);
  130.   WiFi.begin(ssid, pswd);
  131.   while (WiFi.status() != WL_CONNECTED) {
  132.     delay(500);
  133.     Serial.print(".");
  134.   }
  135.   Serial.println("");
  136.   Serial.println("WiFi connected");
  137.   server.begin();
  138.   Serial.println("Server started [url=home.php?mod=space&uid=3057940]@[/url] ");
  139.   Serial.println(WiFi.localIP());
  140.   //打印出IP地址,后期可以制作显示器来外部硬件显示ip
  141.   Serial.println("To control GPIO, open your web browser.");
  142.   Serial.println("To set GPIO 0 high, type:");
  143.   Serial.print(WiFi.localIP());
  144.   Serial.println("/gpio/1");
  145.   Serial.println("To set GPIO 0 low, type:");
  146.   Serial.print(WiFi.localIP());
  147.   Serial.println("/gpio/0");
  148.   Serial.println("To toggle GPIO 0, type:");
  149.   Serial.print(WiFi.localIP());
  150.   Serial.println("/gpio/4");

  151.   // 初始化blinker
  152.   Blinker.begin(auth, ssid, pswd);
  153.   BlinkerMIOT.attachPowerState(miotPowerState);              //小爱语音操作注册函数
  154.   BlinkerAliGenie.attachPowerState(aligeniePowerState);      //天猫语音操作注册函数
  155.   Blinker.attachHeartbeat(heartbeat);              //app定时向设备发送心跳包, 设备收到心跳包后会返回设备当前状态进行语音操作和app操作同步。

  156.   Button1.attach(button1_callback);             //app上操作必须的注册回调函数关联按键名“Button1”和判断程序“button1_callback
  157. }
  158. void dataRead(const String & data)
  159. {
  160.     BLINKER_LOG("Blinker readString: ", data);

  161.     Blinker.vibrate();
  162.    
  163.     uint32_t BlinkerTime = millis();
  164.    
  165.     Blinker.print("millis", BlinkerTime);
  166. }
  167. void loop()
  168. {
  169.   Blinker.run();
  170.   if (digitalRead(key)==LOW)
  171.   {
  172.     Blinker.delay(200);
  173.     if (digitalRead(key)==LOW)
  174.     {
  175.           if (digitalRead(kg)==LOW)
  176.        {
  177.             
  178.             digitalWrite(kg, HIGH);
  179.             digitalWrite(de, LOW);
  180.             Button1.print("on");
  181.             Button1.color("#0000FF");              //设置app按键是浅蓝色
  182.             Button1.text("开启中");
  183.        }
  184.        else if (digitalRead(kg)==HIGH)
  185.        {
  186.             digitalWrite(kg, LOW);
  187.             digitalWrite(de, HIGH);
  188.             Button1.print("off");
  189.             Button1.color("#00FFFF");              //设置app按键是深蓝色
  190.             Button1.text("关闭中");
  191.        }
  192.       }
  193.     }
  194. }
复制代码
上面的代码用arduino或是美思齐直接考到代码中上传,arduino需要所有的库都装好




我没有用卖家给的码,我自己写了一个,参考我前面的文章最简单的8266天猫精灵控制开关,点灯、Mixly可视模块化编程
https://www.mydigit.cn/thread-270993-1-1.html

有几个朋友说不会加按键,看这里
用Mixly给联想低价智能插座刷代码,天猫精灵语音开关插座按键灯都可以
https://www.mydigit.cn/thread-273871-1-1.html

把上面的2改成5,把高低电平对调一下就可以使用天猫精灵来控制你的这个插座了。我是把我的第一个插座放在了我的落地电风扇中了,当我慵懒的在沙发上刷着手机时候感觉有一点点热,我只要呼唤“天猫精灵,打开风扇”,就可以了。





9楼“小陆的实验室”说用“Lenovo link”可以升级并安装涂鸦app控制,我手上正好有一台LG的欧版手机,手机上装有APKPure和Play Store,但是在上面都是无法找到
Lenovo link”的。我是直接在google上找了,试着下了好几个lenovo link都没有办法使用。下载了lenovo link pro也不行。



感谢73楼“yichen00”提供Lenovo link的下载链接,试了一下,成功了。不过有时行有时不行,感觉服务器稳定性不够。
https://d-11.winudf.com/b/APK/Y2 ... 4133fae1ab06125c6f1


下载安装,打开必须和我下面的图片一样,有时我打开老是转转转,而且只有一个图标,那就是不行,就是上面的这个图片那样子,我试过把手机系统语言改成英文,繁体中文,如果你实在不行,也可以试试看,我开了代理也不行,这次是关了代理操作的。



按到灯红蓝闪烁为止












这个比较坑,有时按出来UPDATE是灰色,那就退回重新进入,多试几次



好了,升级好后就是4.0了,用Lenovo link pro和涂鸦试试看吧,基本上和第二步图片中差不多,是中文的应该比较容易了,不行就多按开关,好像是在扫描时按开关闪蓝色灯,扫描几下再按一下。反正就是多试试,天知道我是怎么成功的。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 20家元 +360 收起 理由
dt27 + 40
panda-soft + 10 谢谢分享!!
lakeey + 20 認真發帖
hzmsn + 20
air10657 + 20 謝謝分享
白小天 + 20 撸了10个,9楼方法要趁app不注意不断点,实.
bo×2 + 4 最后5个被我买走了 哈哈
goyimen + 10 謝謝分享
zzy_85569381 + 20 謝謝分享
abigbell + 20

查看全部打赏

本帖被以下淘专辑推荐:

发表于 2021-8-26 18:15:39 | 显示全部楼层
xzcz 发表于 2021-8-26 16:21
链接怎么打不开?

链接:https://pan.baidu.com/s/1EJWaX83TAtgEFhp6LEX7zg
提取码:A123
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-8-21 13:46:12 | 显示全部楼层
本帖最后由 易记 于 2021-8-26 15:40 编辑

发了个新贴,大家支持一下《 ESP8266+2812做的awtrix像素时钟和天猫精灵装入自制木壳,语音控制家电




刷涂鸦以后,可以通过涂鸦进行开关,定时,语音,自动场景等操控。






但这必竟是国外版,内部只有国外的第三方控制





试着在天猫精灵中添加,无法找到这个插座,就是说无法进行小度、天猫精灵等语音控制。


不知大家还有什么不拆机绑定天猫精灵的方法?






如果拆机刷的话,论坛中“胡奚曷”还有一个用arduino刷机的贴子,大家可以看下《智能插座改点灯软件,小爱同学,Web配网和密钥,Web OTA,需要的功能都有


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 2 反对 0

使用道具 举报

发表于 2021-8-21 14:21:47 | 显示全部楼层
购买链接还有吗??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 14:24:07 | 显示全部楼层
xiaorourou 发表于 2021-8-21 14:21
购买链接还有吗??

闲鱼自己搜一下,应该还有的。不过这种东西便宜,可能买的人多
回复 支持 反对

使用道具 举报

发表于 2021-8-21 14:27:46 | 显示全部楼层
设备key是什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 14:29:23 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2021-8-21 14:30:11 | 显示全部楼层
看了下,可以自己开孔加2插
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 14:33:49 | 显示全部楼层
沨の痕 发表于 2021-8-21 14:30
看了下,可以自己开孔加2插

嗯,位置是有,不过壳上面没有定位,怕是不太好用
回复 支持 反对

使用道具 举报

发表于 2021-8-21 14:56:34 来自手机浏览器 | 显示全部楼层
楼主 你这不行啊 这东西装联想海外版 Lenovo link 就可以绑定这个插座了 ,再通过Lenovo link升级固件 app会提示升级之后只能用Lenovo link pro 控制(ap名变成涂鸦的了) 可以直接用涂鸦app控制  不需要刷固件了:praise:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 5 反对 0

使用道具 举报

 楼主| 发表于 2021-8-21 15:16:21 | 显示全部楼层
沨の痕 发表于 2021-8-21 14:30
看了下,可以自己开孔加2插


我刚才看到这么一个东西,感觉只要挖个大孔这个装上去就可以了高度应该没有问题,也可以用家装开关的可拆的模块。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-21 15:35:02 来自手机浏览器 | 显示全部楼层
好经验,赞
回复 支持 反对

使用道具 举报

发表于 2021-8-21 15:58:12 | 显示全部楼层
这性价比也是无敌了
回复 支持 反对

使用道具 举报

发表于 2021-8-21 16:00:28 | 显示全部楼层
          可惜没了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 16:12:30 | 显示全部楼层
本帖最后由 易记 于 2021-8-21 16:33 编辑

我刚问了,还有。想想是便宜,我刚又撸了10个,反正这东西又不会过期。
建议搜“智能插座”,价格在设10元以下,这样应该可以方便找到,我找时就是这么找的,一些电阻降压的不推荐购买



回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-8-21 16:38:21 | 显示全部楼层
本帖最后由 易记 于 2021-8-21 16:39 编辑
小陆的实验室 发表于 2021-8-21 14:56
楼主 你这不行啊 这东西装联想海外版 Lenovo link 就可以绑定这个插座了 ,再通过Lenovo link升级固件 app ...

是呀,你也买了吗?可以开猫精灵吗
我试试看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 16:56:33 | 显示全部楼层
本帖最后由 易记 于 2021-8-21 17:40 编辑
小陆的实验室 发表于 2021-8-21 14:56
楼主 你这不行啊 这东西装联想海外版 Lenovo link 就可以绑定这个插座了 ,再通过Lenovo link升级固件 app ...

兄弟,你这方法不行呀,无论是扫码还是官网上去找,都是无法下载你说的这个link软件




好不容易找到并装了一个,也是无法使用的





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2021-8-21 17:49:37 来自手机浏览器 | 显示全部楼层
这东西可以用海外版app “Lenovo link”配对 配对完成升级固件到4.0.0 这时候会有弹窗 告诉你升级之后只能用Lenovo link pro(其实是个套壳版涂鸦智能app) 升级完之后重置 这个时候插座的ap名变成了涂鸦的 拿涂鸦app添加wifi设备就可以了 我买有12个:lol:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2021-8-21 19:09:32 | 显示全部楼层
这个好,现在产量起来真是便宜多了。
联想的服务器好不好
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-21 19:26:00 | 显示全部楼层
刚买了5个回来研究。

看看能不能搞出来
回复 支持 反对

使用道具 举报

发表于 2021-8-21 20:21:17 | 显示全部楼层
感谢分享,10个已经上车!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-24 16:40 , Processed in 0.140401 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表