发作品签到
标准版

[已验证]磁保持WIFI智能插座(220V10A)

工程标签

4.6w
0
0
280

简介

使用磁保持继电器的WIFI智能插座,节电性能优良,整体功耗只有0.65W左右,可长期使用不会造成继电器线圈发热。还支持MQTT和OTA在线升级固件。

简介:使用磁保持继电器的WIFI智能插座,节电性能优良,整体功耗只有0.65W左右,可长期使用不会造成继电器线圈发热。还支持MQTT和OTA在线升级固件。

开源协议

CC-BY-NC-SA 3.0

创建时间:2022-06-16 23:32:39更新时间:2023-02-15 16:17:38

描述

号外:新的(完全体)计量插座项目已发布,链接:https://oshwhub.com/oldfox126/xin-guo-biao-wu-kong-ji-liang-cha-zuo-10a

 

 

-------------------------------------------------------------------------------------------------------------------------------------------

 

 

号外:应评论区要求,在现有基础上增加计量功能的智能插座已发布,链接:https://oshwhub.com/oldfox126/ci-bao-chi-wifi-ji-liang-cha-zuo   (因为此插座外壳的固有缺陷不好解决,此项目已弃坑。)

 

 

---------------------------------------------------------------------------------------------------------------------

 

 

磁保持WIFI智能插座(220V10A)

 

声明:

本人是软件方向的,非电子硬件科班生,只是业余爱好者。因此可能很多基本的硬件常识都不知道,电路图上如有任何不妥,还望各位不吝赐教,拱手致谢。

本项目改进自:【二次测试中】智能WiFi物联网插座 https://oshwhub.com/liyichuangeda/ji-yu-ESP12-de-shuang-lu-wu-xian-wu-lian-wang-kai-guan 

感谢原作者 @御坂0x1BF52号 大佬。

 

 

硬件说明:

1.继电器更换为磁保持继电器:HF3F-L-05-1HL1T(标准极性/1组常开/单线圈/5V/4脚),好处是省电,只需要启动或者关闭继电器的一瞬间给电,后续维持状态不需要给电。因此本插座节电性能优良,整体功耗只有0.65W左右,长期使用不会造成继电器线圈发热。同时在插座掉电重新上电的过程中,磁保持继电器不会额外的吸合或者释放(使用普通继电器无法避免),插座会保持掉电之前的状态。
2.使用ESP12S(也可以用ESP12F),LED显示和继电器控制分开,LED可以显示更多状态。原方案中使用的是ESP01S,因为没有多余的IO口用于LED显示,LED和继电器只能共用IO2口。而且ESP01S的FLASH容量只有1M,太小了。ESP12S的容量有4M,使得OTA在线升级固件成为可能。
3.重新画了一个板子用于双面直插安装ESP12S,原方案中的ESP01S焊接以后引脚会挤占公母一体插座底部空间,插座没办法放平。直插安装的ESP12S项目位于:https://oshwhub.com/oldfox126/esp12s-li-zhuang-mo-kuai   所以这个项目实际上需要打板2块PCB(2块PCB的厚度都是1mm)。
4.插座整体上移了约0.5mm,原方案中插座容易挤占下部的继电器空间。

5.这个插座外壳的可用空间非常小,电源模块的尺寸也必须足够小才能放进去。评论中经常有兄弟说《AC220V TO DC5V开关电源模块》这个模块性能指标不好,很坑。但我暂时还没有发现尺寸合适的(性能参数更好的替代品。

6.评论区有问这个插座支持的最大功率,我不知道怎么测试最大功率,但从元器件参数上看是250V10A

7.如果在PCB打板过程中,厂家提示:中间铣槽连接位太小、会断板等,请回复:我已悉知并可接受此原因带来的风险,请直接按Gerber文件生产,谢谢!

 

 

软件说明:

1.不使用Blinker库,改用MQTT方案。主要是点灯Blinker APP只能创建5个设备,不够我用。
2.编程环境从Arduino改成vscode+PlatformIO+C++,vscode的编程环境非常友好,至于Arduino IDE...还是不评论了。
3.其实软件前期使用的是microPython(确实更简单),但后来发现microPython的资源还是太少了。项目做到一半,发现找不到smartConfig的代码,只能推倒重来转到C++。

 

 

为什么用MQTT方案?

有兄弟在项目下面评论说:“最好能上云或者不仅是局域网使用”,所以我稍微解释一下MQTT方案,见下面的模型图。

从图可见,该方案需要有一个MQTT服务器支持,所以它本来就是上云的,只要有WIFI就能用,并不限于局域网。
最妙的地方来了:MQTT协议本身是开源的,网上也有很多免费的MQTT服务器,百度关键字:免费MQTT服务器公共MQTT服务器
我们可以不花一分钱就获得一个不限制设备数量和使用期限的云服务器,我相信这是很多第三方私有协议难以比拟的优势。
咸鱼上经常有非常便宜的智能插座卖,问卖家为什么这么便宜?回答就是厂家倒闭、APP停用、无法再控制插座,智能插座基本上就废了只能当普通插座用
对于开源的MQTT服务就完全没有这方面的担心。MQTT服务器关了?我换一个就好。MQTT服务器本来就可以通过网页配网和APP设置更换。
所以MQTT方案才是我首选的物联网控制方案。

 


软件主要功能:

1.支持网页配网
2.支持微信扫码配网
3.支持网络对时NTP
4.支持MQTT,有助于更透彻的理解物联网工作机制。使用MQTT手机APP上的开关、倒计时器、定时器等方式开启或者关闭插座。

5.定时器程序是在插座本地实现的,非云端实现。只要提交参数上去保存好,哪怕后来断网了,插座还是可以定时开启或者关闭。所以用本插座物理重启光猫或者路由器,成为可能。
6.支持OTA在线升级固件,通过网络就可以升级固件。再不用痛苦的把板子拆下来重新刷固件了。
7.支持LittleFS文件系统,可以掉电保存各种参数。即使插座掉电重启,原先的参数还在。

 

 

相关元件来源:

1.插座外壳(包括里面的220V10A公母一体插座)开始是-> 在这里买的 ,但是这家店主太懒经常不在线。后来-> 上阿里巴巴一次买2个以上 反而便宜点。

2.AC220V TO DC5V开关电源模块 右边2个链接我都买过(注意:要买5V带脚的),可以用-> 链接1 链接2

3.侧按键注意:要买H=5MM的)-> 购买链接

4.ESP-12S模块 需要购买一个普通的ESP12S,然后自己打板焊接:【已验证】ESP12S直插安装模块 https://oshwhub.com/oldfox126/esp12s-li-zhuang-mo-kuai

5.磁保持继电器K1注意:要买HF3F-L-05-1HL1T(10A4脚))-> 购买链接

6.磁保持继电器驱动芯片MD7620A SOT23-6 -> 购买链接

7.除此以外其他的元器件(包括电阻、电容、AMS1117、ESP12S、发光二极管LED等)我基本上都是在优信电子买的-> 优信电子淘宝店

8.ESP8266开发测试架/烧录器(初学者才需要),我买的是这个-> 购买链接

 

 

软硬件安装步骤:

1.先给ESP12S刷好固件 https://oshwhub.com/article/ci-bao-chi-WIFIzhi-neng-cha-zuo-ruan-jian-gong-cheng-dao-ru-VSCODE-yi-ji-bian-yi-shuo-ming 

2.给ESP12S配网,设置好MQTT参数等  https://oshwhub.com/article/ci-bao-chi-WIFIzhi-neng-cha-zuo-ruan-jian-diao-shi-shuo-ming

3.在手机上安装MQTT APP,并设置好服务器等参数。 https://oshwhub.com/article/ci-bao-chi-WIFIzhi-neng-cha-zuo-pei-tao-de-shou-ji-APPan-zhuang-ji-she-zhi-shuo-ming

4.将ESP12S焊接到模块上,在PCB_插座主体上焊接,安装元器件。将ESP12S模块焊到主体PCB上。

焊到这个程度就可以了,公母一体插座(红色圈圈的部分)先不要焊。另外在蓝色箭头指示位置,5V(红色)/GND(黑色)分别焊接2根杜邦线公头。

 

5.在ESP8266开发测试架/烧录器上取电,5V(红色)/GND(黑色)分别插上2根杜邦线母头,将上一步骤的2根公头插上。

开电测试,看看MQTT APP上是否能正常显示跳动的时间(说明ESP12S模块焊接好,连接WIFI正常,并连上了MQTT服务器);
开关是否反应正常(LED会随开关亮灭);
用万用表测量继电器的输出是否能被MQTT APP的开关控制,正常通断。

 

6.以上测试都通过以后,说明插座软硬件功能正常。可以关电把2根杜邦线焊下来,焊接公母一体插座。

 

7.全部焊接好,可以装壳了。塑料外壳与后盖之间推荐使用补鞋胶 -> 链接 粘的很牢固,又不至于像502一样干的太快。

 

8.装好的成品如下,要等24小时胶水干了才能使用。

 

(软硬件安装完成)

 

OTA步骤:

1.在VSCODE里面编译固件
20220811000333.png
1是编译固件的按钮,2是编译出来的固件地址。

 

2.将编译好的固件上传到一个HTTP地址,可以是网站或者是你的本地路由器,地址类似于:http://x.x.x.x/data/esp12s.bin
上传好以后一定要打开浏览器实际测试一下,看看这个固件地址是不是能正常下载。

 

3.在 WEB配网 里面设置好OTA固件链接,就是上一步的:http://x.x.x.x/data/esp12s.bin

4.在手机APP里面点 升级固件
OTA升级时,LED会随下载进度快速闪烁。
升级成功会自动重启。

 

 

致谢:

感谢B站上的@工科男孙老师(https://space.bilibili.com/43584648),我对电子硬件感兴趣但是一直不知道怎么入门,看他的视频说建议从一个单片机的项目入手。

感谢B站上的@江科大自化协(https://space.bilibili.com/383400717),他的51单片机教程条理清晰,简单易懂,完全可以封神。后来我再找不到质量这么好的教学视频了。

感谢B站上的@电子工作室(https://space.bilibili.com/414349573),我跟着他的教程学会了使用立创EDA。

再次感谢本站的大佬@御坂0x1BF52号,我就是从他的项目(【二次测试中】智能WiFi物联网插座 https://oshwhub.com/liyichuangeda/ji-yu-ESP12-de-shuang-lu-wu-xian-wu-lian-wang-kai-guan )入手的,这个项目做完以后我感觉电子硬件已经基本入门了。

最后感谢嘉立创yyds,每个月都要被我薅羊毛打板PCB。

 

 

硬件更新说明:

2022/7/19

1.根据评论区反馈,更改了PCB中间铣槽的间距到0.8mm。

 

 

软件更新说明:

2022/10/4
1.增加了一个功能:当断网以后,重试100次依然连不上网,就自动重启设备。

2022/8/19
1.重新设计了LED点亮逻辑,之前的程序会因为某些未知的原因导致LED长亮。预期LED最多只会亮100秒(减少光污染)。

2022/6/27

1.修复了一个在线升级完成并重启时继电器不正常关闭的BUG,正常状态下掉电与否不影响继电器开合状态。

2022/6/26

1.修复了一个使用定时器开启插座会造成LED常亮的BUG,正常状态下LED最多只会亮100秒(减少光污染)。

2022/6/24

1.增强了WIFI断连以后的重新连接能力。当MQTT服务连接中断以后,会重新连接WIFI并初始化网络。
2.修正了网页配网的一个逻辑错误:更改WIFI SSID以后,设备直接重启造成WIFI SSID并没有保存成功。
2022/6/20

1.更换了timeLIB时间库,因该库有一个潜在的BUG,在运行hour()函数(获取当前小时值),有一定的几率会造成软件崩溃、硬件重启。
2.更改了WIFI连接策略,现在应该WIFI连接比之前更稳定了。WIFI连不上,或者不能访问百度的网址,或者网络对时NTP失败,WIFI都会尝试重新连接。
3.修复了WIFI初始化函数返回值类型错误的问题。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
微信配网二维码.png
331
2
安卓手机APP-MQTT dashboard_v0.4.5_apkpure.com.apk.zip
780
3
ESP8266开发测试架驱动.zip
277
4
器件参数_C920529_继电器驱动芯片_2020-11-24.PDF
421
5
器件参数_磁保持继电器_C190594_HF3F-L_5-1HL1T_2018-04-12.pdf
292
6
VSCODE源代码,解压缩以后用VSCODE打开里面的文件夹,就打开了这个软件项目_2022.10.4.zip
483
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航