简介:使用磁保持继电器的WIFI智能插座。
本文以WIFI智能插座为主题,讲述ESP12S、ESP8266+硬件等的使用技巧……并完成智能插座的制作!
下文为软件、硬件安装步骤,超级详细,可以一步一步跟着做~
安装步骤导航(7步):给ESP12S刷固件(3)、配网设置MQTT参数等(5)、安装MQTT APP并设置参数(4)、焊接、测试、最后的焊接、装壳。
安装步骤
1.软件工程导入
1.安装Visual Studio Code(vscode),免费软件,请自行百度安装教程。
2.在vscode里面安装PlatformIO插件,请自行百度。
3.将工程《磁保持WIFI智能插座》附件中的《VSCODE源代码》。
如果不清楚,请私信我【701固件】。这里无法上传文件……
4.在vscode 菜单->文件->打开文件夹->到上一步解压缩的WIFI_PLUG_ESP12S_HF3F 文件夹->选择文件夹。
5.这样软件工程就导入完成了。
2.编译并上传固件(烧录固件)
1.把ESP12S卡在ESP8266开发测试架/烧录器上,插入到电脑上的USB口,可能需要自己装驱动。
根据USB口不同,可能还需要修改一下platformio.ini文件里面的COM5,改成你自己的COM口。
怎么看COM口?我的电脑->设备管理器->端口
2.将ESP8266开发测试架/烧录器打开电源,在vscode里面打开文件 src/main.cpp,并点击PlatformIO:Upload。
3.因本软件使用了LittleFS文件系统,因此还需要给ESP12S安装文件系统。
依次点击如下1、2、3、4按钮:
文件系统安装完成。
3.软件运行:
1.依次点击如下1、2按钮。
2.按一下ESP8266开发测试架/烧录器上的RST复位按钮,重启ESP12S。
3.在vscode界面看到这串输出,就表示软件在正常运行了。
1.设备启动流程
插电启动:LED快速闪烁3次以后,闪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
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.按钮操作
设备启动并且联网以后正常运行时:
5.OTA在线升级
OTA升级时,LED会随下载进度快速闪烁。
升级成功后会自动重启。
1.APP安装
从《磁保持WIFI智能插座》项目的工程附件中下载
安卓手机APP-MQTT
dashboard_v0.4.5_apkpure.com.apk.zip解压并传到安卓手机上安装APP。
我为什么要使用这个APP,因为好多同类型的MQTT APP,界面就是黑乎乎的一坨(懂的自然懂)。
而这个APP的界面,包括字体、大小、颜色、图标、背景色、位置等好多选项可以自定义。
最终呈现的效果可以很漂亮(颜值既正义),它就是众多黑乎乎的MQTT APP中的一股清流。
这是该APP自带的示例:
虽然很漂亮,但以上界面不太适合我们这个《磁保持WIFI智能插座》项目。
我们最终设置好的界面类似于这样:
2.设置MQTT服务器
进APP以后默认是这个界面,首先点一下右上角。
点MQTT connections。
点开第一个服务器进去操作。
点编辑。
在服务器参数设置界面,红框的位置输入:broker-cn.emqx.io ,其他地方都保持默认。填好以后点右上角的√保存。
到这里MQTT服务器参数就设置好了。
3.新增一个仪表盘
进入这个界面以后点击左上角进入菜单。
在菜单里面选择Dashboards。
点右上角的+号新建一个仪表盘。
输入你想要的名字(比如磁保持WIFI插座),然后点右上角的√保存。
4.给仪表盘增加装置
在仪表盘列表,点击刚新增的仪表盘(磁保持WIFI插座)。
在插座这个界面点击右上角的+号增加一个装置。
装置类型选择Toggle(切换开关,在ON/OFF两种状态间切换)。
填写切换开关的参数:
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参数。
全部填好以后,点击界面右上角的√保存。
保存好以后界面是这样的,再点击右上角的+号增加一个装置。
这次装置类型选择Text(文本)。
填写文本装置相应的参数并点右上角的√保存:
Name:当前时间
MQTT enable:打开
connection:broker-cn.emqx.io
Subscribe:
oldfox126/esp12s/hf3f/s4QEJYlo/stat/time
Qos:0
publish:无
QOS是质量、优先级。
取值0-2,0最低,2最高。
到这里仪表盘装置已经开始运行了(时间在走)。
但是很奇怪,时间后面有一个单位℃,要修改一下:
好了时间显示终于正常了。
但是显示的地方太窄了,我想拉宽一点,点这里修改界面。
可以更改装置的上下左右位置以及装置大小。
当前时间这个装置的右下角这里按住不放,往右边拖到边,放手。
把当前时间拉到足够的宽度以后,点右上角的√保存。
最终效果:
其他的仪表盘装置设置请自行完成,必须的参数列在下面(没错,我就是懒):
一共七项,更多请查看文章最后的截图。
将ESP12S焊接到模块上:
在ESP8266开发测试架/烧录器上取电:
开电测试:
以上测试都通过以后,说明插座软硬件功能正常。
可以关电把2根杜邦线焊下来,焊接公母一体的插座。
全部焊接好,可以装壳了。
原理图