数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 16071|回复: 301

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

    [复制链接]
发表于 2021-8-21 13:42:51 | 显示全部楼层 |阅读模式

认识众多玩家高手/拆客/DIY爱好者,查阅更多资源,一起学习技术知识

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

x
本帖最后由 易记 于 2021-9-1 21:55 编辑

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




QQ截图20210821125037.jpg


问了一下店主,买20个一盒才包邮,想着20个还是有点多,买了5个,连运费47.5元。
QQ图片20210821124517.jpg
Lenovo SE-341A Plug


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

QQ截图20210821153952.jpg

ebay在售价格29美刀

QQ截图20210821155922.jpg






到手,这是包装图片
QQ图片20210821161656.jpg

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


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


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


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

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

94V-0防火认证
IMG_20210820_134114.jpg


电源芯片,百度查不到
IMG_20210820_134220.jpg


IMG_20210820_134152.jpg


有一个按钮,按钮有二个蓝色LED灯
IMG_20210820_134157.jpg


ESP8266+2M闪存,我上传时显示2M
IMG_20210820_141913.jpg
https-ss0-bdstatic-com-70cfuhsh_q1ynxgkpowk1hf6h.jpeg
还有很多空脚位,可以实现更多功能的,比如温湿度传感器,显示屏,RGB灯控制,红外,RF等等,甚至你还可以用来做一个简单的静态网站,图片CSS文件可以放在2M闪存中。



接下来就是刷机了,版子上面都预留测试点。
接线比较容易,上面都有标示,GND,3.3V,TXD-RX,RXD-TX,还有一个就是IO0接地后刷机。
IMG_20210821_091540.jpg
注意RX这个点,就是3.3V边上的这个点,焊盘设计的就点问题,电烙铁热一点或是焊的刷机线过粗的话,容易掉焊盘。
要是掉了就只有一个过孔了,要是焊不上,只能再拆开接在另一面,所以为了避免不必要的麻烦,请注意一下。

未标题-1.jpg




    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也不行。
微信图片_20210821173913.jpg


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


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


按到灯红蓝闪烁为止
002.jpg






03.jpg




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


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


打赏

参与人数 20M币 +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 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-8-21 13:46:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 2 反对 0

使用道具 举报

发表于 2021-8-21 14:21:47 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 14:24:07 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-21 14:27:46 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 14:29:23 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-21 14:30:11 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 14:33:49 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-21 14:56:34 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
B90EABA1-0E41-4C3C-BFF0-FEC52E0D7A22.png
回复 支持 3 反对 0

使用道具 举报

 楼主| 发表于 2021-8-21 15:16:21 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 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 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-8-21 16:38:21 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-21 16:56:33 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-21 17:49:37 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
7C125CE9-C681-4B50-80DB-DC286225777F.png
回复 支持 反对

使用道具 举报

发表于 2021-8-21 19:09:32 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 1 反对 0

使用道具 举报

发表于 2021-8-21 19:26:00 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-8-21 20:21:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

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

本版积分规则

轻APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2021-9-29 04:13 , Processed in 0.156000 second(s), 19 queries , Redis On.

Powered by Discuz!

© 2006-2021, MyDigit.cn

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