无线插座的使用方法(WIFI智能插座,保姆级教程)
简介:使用磁保持继电器的WIFI智能插座。
- 节电性能优良,整体功耗只有0.65W左右。
- 可长期使用不会造成继电器线圈发热。
- 还支持MQTT和OTA在线升级固件。
本文以WIFI智能插座为主题,讲述ESP12S、ESP8266+硬件等的使用技巧……并完成智能插座的制作!
下文为软件、硬件安装步骤,超级详细,可以一步一步跟着做~
安装步骤导航(7步):给ESP12S刷固件(3)、配网设置MQTT参数等(5)、安装MQTT APP并设置参数(4)、焊接、测试、最后的焊接、装壳。
安装步骤
1.先给ESP12S刷好固件
1.软件工程导入
1.安装Visual Studio Code(vscode),免费软件,请自行百度安装教程。
2.在vscode里面安装PlatformIO插件,请自行百度。
3.将工程《磁保持WIFI智能插座》附件中的《VSCODE源代码》。
- 解压缩以后用VSCODE打开里面的文件夹,就等于打开了这个软件项目。
- 下载附件解压缩,可以看到里面有一个文件夹WIFI_PLUG_ESP12S_HF3F 。
- 文件夹根里面有一个platformio.ini。
如果不清楚,请私信我【701固件】。这里无法上传文件……
4.在vscode 菜单->文件->打开文件夹->到上一步解压缩的WIFI_PLUG_ESP12S_HF3F 文件夹->选择文件夹。
5.这样软件工程就导入完成了。
2.编译并上传固件(烧录固件)
1.把ESP12S卡在ESP8266开发测试架/烧录器上,插入到电脑上的USB口,可能需要自己装驱动。
![](/wp-content/uploads/images/2022/11/12/a2d836ebdd554489943251fa84ed67c6_cdsagmxs4ey.png)
根据USB口不同,可能还需要修改一下platformio.ini文件里面的COM5,改成你自己的COM口。
怎么看COM口?我的电脑->设备管理器->端口
![](/wp-content/uploads/images/2022/11/12/db414302901d4eb7848e8631606e3107_txrq0wp0iqt.jpg)
2.将ESP8266开发测试架/烧录器打开电源,在vscode里面打开文件 src/main.cpp,并点击PlatformIO:Upload。
3.因本软件使用了LittleFS文件系统,因此还需要给ESP12S安装文件系统。
依次点击如下1、2、3、4按钮:
![](/wp-content/uploads/images/2022/11/12/9afe911580b9450db415b7f60971ac8e_kbgza2odusb.jpg)
文件系统安装完成。
3.软件运行:
1.依次点击如下1、2按钮。
![](/wp-content/uploads/images/2022/11/12/2f48e88ed1844d4099cc23c955826086_wcgtbghelqu.jpg)
![](/wp-content/uploads/images/2022/11/12/b600f8a838604cc68bd1345c2e3e11d6_wg1bffew0go.jpg)
2.按一下ESP8266开发测试架/烧录器上的RST复位按钮,重启ESP12S。
![](/wp-content/uploads/images/2022/11/12/a3cd1efc7c024e6d8d0f3a79e6a468cc_lvb3jvcgota.jpg)
3.在vscode界面看到这串输出,就表示软件在正常运行了。
![](/wp-content/uploads/images/2022/11/12/ee466e7881ad4ec8b84cfba1584aa343_kz2vlic54i0.jpg)
2.给ESP12S配网,设置好MQTT参数等
1.设备启动流程
插电启动:LED快速闪烁3次以后,闪3次以后才能按钮,否则设备无法正常启动
- 按住2秒以后放手,进入了WEB配网程序(此时LED快速闪烁)。
- 按住6秒以后放手,进入微信扫码配网(此时LED慢速闪烁)
- 启动没按钮就进入自动WIFI连网,此时LED每秒闪2次。
- 连网成功,就通过NTP初始化时间,还有自动连接MQTT服务器,开始正常运行(此时LED常亮3分钟后熄灭)。
本设备只支持2.4G WIFI,不支持5G WIFI。
WEB配网或微信扫码都可以配置WIFI密码,但WEB配网可同时设置MQTT等参数,而微信扫码设置不了MQTT参数。
设备初次启动设置初始参数:(建议按照以下顺序)
插电启动(LED快闪3次)->按钮6秒放手->微信扫码配网->自动重启(LED快闪3次)->按钮2秒放手->WEB配网->自动重启(LED快闪3次)->正常使用。
2.微信扫码配网
用手机微信扫描附件里的配网码,进入微信配网小程序。
找到上网用的WIFI以后,填写WIFI密码,就可以通过手机传WIFI ssid和密码给设备。
设备配网成功以后会自动重启,进入启动流程。
3.WEB配网
此时设备会生成一个配网用的软件AP热点,参数如下:
IP:192.168.4.1
ssid:qwer
password:asdfghjkl
- 用手机连上这个WIFI以后,在手机浏览器输入 http://192.168.4.1
- 进入配网的网页
- 设置上网WIFI的ssid和password,还有MQTT服务器的参数。
MQTT服务器参数示例:
host:broker-cn.emqx.io (有很多免费的MQTT服务器,可以自行百度)
port:1883
topic:oldfox126/esp12s/hf3f/{randid} (设备初始化时会自动生成唯一的{randid},一般不用修改)
OTA固件链接
:http://x.x.x.x/data/esp12s.bin
你可以把固件编译好以后上传到自己的服务器,供设备升级。
也可以直接用我这个现成的固件链接:
http://47.242.57.107/data/esp12s_hf3f.bin
OTA链接使用IP地址比使用域名更稳定。
设置好以后,设备自动重启,再次进入启动流程。
4.按钮操作
设备启动并且联网以后正常运行时:
- a)每短按一下按钮切换插座通电状态,开->短按->关,或者 “关”->短按->开
- c)按住按钮10秒以上则重启设备。
5.OTA在线升级
OTA升级时,LED会随下载进度快速闪烁。
升级成功后会自动重启。
3.在手机上安装MQTT APP,并设置好服务器等参数。
1.APP安装
从《磁保持WIFI智能插座》项目的工程附件中下载
安卓手机APP-MQTT
dashboard_v0.4.5_apkpure.com.apk.zip解压并传到安卓手机上安装APP。
我为什么要使用这个APP,因为好多同类型的MQTT APP,界面就是黑乎乎的一坨(懂的自然懂)。
而这个APP的界面,包括字体、大小、颜色、图标、背景色、位置等好多选项可以自定义。
最终呈现的效果可以很漂亮(颜值既正义),它就是众多黑乎乎的MQTT APP中的一股清流。
这是该APP自带的示例:
![](/wp-content/uploads/images/2022/11/12/6ecd04c1f6164299960744c3726cdd51_55muv5g4wj0.jpg)
虽然很漂亮,但以上界面不太适合我们这个《磁保持WIFI智能插座》项目。
我们最终设置好的界面类似于这样:
![](/wp-content/uploads/images/2022/11/12/80ddf4e4d75d4ffd9f5ddb6115fc85d1_kiciqsbxfj3.jpg)
2.设置MQTT服务器
进APP以后默认是这个界面,首先点一下右上角。
![](/wp-content/uploads/images/2022/11/12/94f1684c83dd43e1b5d6ca99f8b98075_0xrbjzdwsc2.jpg)
点MQTT connections。
![](/wp-content/uploads/images/2022/11/12/57d3f198550b496986754e752c9e81e9_13cxcnjbtxd.jpg)
点开第一个服务器进去操作。
![](/wp-content/uploads/images/2022/11/12/4f16a3374b5544b3b1cbb572403d5c2e_fkvm22itsqt.jpg)
点编辑。
![](/wp-content/uploads/images/2022/11/12/716f70b165044482b8c0b320acc6715d_jjz1orjbwyq.jpg)
在服务器参数设置界面,红框的位置输入:broker-cn.emqx.io ,其他地方都保持默认。填好以后点右上角的√保存。
![](/wp-content/uploads/images/2022/11/12/e0623c3e713d4aedac5ac5be28726b6a_ydbkvode5km.jpg)
到这里MQTT服务器参数就设置好了。
3.新增一个仪表盘
进入这个界面以后点击左上角进入菜单。
![](/wp-content/uploads/images/2022/11/12/a4232a5678114d17b989e46e0c4c7181_ztuqrljb1ha.jpg)
在菜单里面选择Dashboards。
![](/wp-content/uploads/images/2022/11/12/e9f1c5af25054ba888d89d4cf83e624c_iogup01og4f.jpg)
点右上角的+号新建一个仪表盘。
![](/wp-content/uploads/images/2022/11/12/54f3a3d1075248209065816031b923aa_nkrwhysxvaw.jpg)
输入你想要的名字(比如磁保持WIFI插座),然后点右上角的√保存。
![](/wp-content/uploads/images/2022/11/12/269ac0d0b73a468ba1ec427da283e13d_ronkyqci1is.jpg)
4.给仪表盘增加装置
在仪表盘列表,点击刚新增的仪表盘(磁保持WIFI插座)。
![](/wp-content/uploads/images/2022/11/12/6c5463984357420b866d3e8c47d5da8d_k3v42f0ocre.jpg)
在插座这个界面点击右上角的+号增加一个装置。
![](/wp-content/uploads/images/2022/11/12/3abcf9fefe4f4aa79a24d9eddf555a23_4uzlobgmkeb.jpg)
装置类型选择Toggle(切换开关,在ON/OFF两种状态间切换)。
![](/wp-content/uploads/images/2022/11/12/8a069ced90db4402983c7e6b15ad49e9_stf1lpxlbmi.jpg)
填写切换开关的参数:
![](/wp-content/uploads/images/2022/11/12/36a44af57b1840e38a14060f1944beaf_5jjeezrp1j3.jpg)
Name:开关
MQTT enable:打开
MQTT connection:选择 broker-cn.emqx.io
Subscribe to topic:
oldfox126/esp12s/hf3f/s4QEJYlo/stat/relay
Qos(Qos for subscribe/Qos for publish):2
Topic for publish:
oldfox126/esp12s/hf3f/s4QEJYlo/relay/in
上面这个加粗黑体字的部分,实际上是:《配网操作说明》 中的topic参数:
oldfox126/esp12s/hf3f/s4QEJYlo 。
所以只要在配网的时候把topic参数保存在手机微信或者记事本,需要用的时候直接复制出来就好。
ps:以下所有设置中的
oldfox126/esp12s/hf3f/s4QEJYlo 都应该替换成你自己的topic参数。
全部填好以后,点击界面右上角的√保存。
保存好以后界面是这样的,再点击右上角的+号增加一个装置。
![](/wp-content/uploads/images/2022/11/12/074e1fe8e35e4d22ae6c86ce700da15d_bi2zr51ds2t.jpg)
这次装置类型选择Text(文本)。
![](/wp-content/uploads/images/2022/11/12/d3da88dbab0e4e089c7e10c81de14873_ncoz2tpl1n2.jpg)
填写文本装置相应的参数并点右上角的√保存:
![](/wp-content/uploads/images/2022/11/12/819e587d600e41f182ae72140ad4673c_zzzdtkfeof3.jpg)
Name:当前时间
MQTT enable:打开
connection:broker-cn.emqx.io
Subscribe:
oldfox126/esp12s/hf3f/s4QEJYlo/stat/time
Qos:0
publish:无
QOS是质量、优先级。
取值0-2,0最低,2最高。
- 这里的当前时间值因为每秒钟都要接收,不太重要所以取值为0;
- 上面的开关值比较重要所以Oos取值2。
到这里仪表盘装置已经开始运行了(时间在走)。
![](/wp-content/uploads/images/2022/11/12/43f2d881ac1146a1b355287030179dad_fyhr5umgv5m.jpg)
但是很奇怪,时间后面有一个单位℃,要修改一下:
- 在当前时间4个字上按住不放,出来的菜单里面选择Edit
- 在编辑界面依次点击 Design(设计) -> Unit(单位) -> Show unit(显示单位) -> 关闭显示,然后点右上角的√保存。
![](/wp-content/uploads/images/2022/11/12/a0f842cace2c4ef1a08e4c8b2a093f6b_g0hkwy1z5v1.jpg)
好了时间显示终于正常了。
![](/wp-content/uploads/images/2022/11/12/3e2af12a56d84ab5a5cee024bf58a080_yjms42u54wu.jpg)
但是显示的地方太窄了,我想拉宽一点,点这里修改界面。
可以更改装置的上下左右位置以及装置大小。
当前时间这个装置的右下角这里按住不放,往右边拖到边,放手。
![](/wp-content/uploads/images/2022/11/12/46f840c6f5fc4f098b860d0b074b5948_aj1sdj0qxk1.jpg)
把当前时间拉到足够的宽度以后,点右上角的√保存。
![](/wp-content/uploads/images/2022/11/12/47d1799a68b541f286e8f1fe99818702_30v40sne0fe.jpg)
最终效果:
![](/wp-content/uploads/images/2022/11/12/36176caae3f744139eac1e21dfac47d4_exgzoqrkty4.jpg)
其他的仪表盘装置设置请自行完成,必须的参数列在下面(没错,我就是懒):
![](/wp-content/uploads/images/2022/11/12/cdae881a594a4dd0a2b759bd1555068d_2mfrfstlouf.png)
![](/wp-content/uploads/images/2022/11/12/1e8e1dd1e8d74070b5efbc8b043d01cd_tuhf0wzkyix.png)
一共七项,更多请查看文章最后的截图。
4.焊接
将ESP12S焊接到模块上:
- 在PCB_插座主体上焊接,安装元器件。
- 将ESP12S模块焊到主体PCB上。
- 焊到这个程度就可以了,公母一体插座(红色圈圈的部分)先不要焊。
- 另外在蓝色箭头指示位置,5V(红色)/GND(黑色)分别焊接2根杜邦线公头。
![](/wp-content/uploads/images/2022/11/12/94762882f3ea49069d6fa1bead8bbd33_31e0r3m2zq1.jpg)
5.测试
在ESP8266开发测试架/烧录器上取电:
- 5V(红色)/GND(黑色)分别插上2根杜邦线母头;
- 将上一步骤的2根公头插上。
![](/wp-content/uploads/images/2022/11/12/bbb4c51648d046a18cef7b258a14c265_i2ral2hfxlb.png)
开电测试:
- 看看MQTT APP上是否能正常显示跳动的时间(说明ESP12S模块焊接好,连接WIFI正常,并连上了MQTT服务器);
- 开关是否反应正常(LED会随开关亮灭);
- 用万用表测量继电器的输出是否能被MQTT APP的开关控制,正常通断。
![](/wp-content/uploads/images/2022/11/12/f95517e79f6649f8bb6f1f9d44c0254f_dg2z1gekxqw.jpg)
6.最后的焊接
以上测试都通过以后,说明插座软硬件功能正常。
可以关电把2根杜邦线焊下来,焊接公母一体的插座。
![](/wp-content/uploads/images/2022/11/12/cf1906e704d643cda69a7a7eb04ce941_oiu1cyd5wrj.jpg)
7.装壳
全部焊接好,可以装壳了。
![](/wp-content/uploads/images/2022/11/12/99736adf25944d0487e19f257f7474a1_zcgelgwllqa.jpg)
![](/wp-content/uploads/images/2022/11/12/3b21d0121d5e4d0e85c8eb0a48bd2008_me1o23tvyre.png)
设计图
![](/wp-content/uploads/images/2022/11/12/18b7a2d7c76b4d74b417db48aa517c41_ip0xilqin53.jpg)
原理图
![](/wp-content/uploads/images/2022/11/12/41e22503bb674db29b80f9d18480be49_kfuo4b3wn4p.jpg)