wifi插座远程开关

交流2024-10-23 01:04:38

简介:使用磁保持继电器的WIFI智能插座。

wifi插座远程开关_http://www.jzs.cc_交流_第1张

  • 节电性能优良,整体功耗只有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口,可能需要自己装驱动。

根据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界面看到这串输出,就表示软件在正常运行了。

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.1ssid:qwerpassword:asdfghjkl

  • 用手机连上这个WIFI以后,在手机浏览器输入 http://192.168.4.1
  • 进入配网的网页
  • 设置上网WIFI的ssid和password,还有MQTT服务器的参数。

MQTT服务器参数示例:

host:broker-cn.emqx.io (有很多免费的MQTT服务器,可以自行百度)port:1883topic: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自带的示例:

虽然很漂亮,但以上界面不太适合我们这个《磁保持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.ioSubscribe to topic:oldfox126/esp12s/hf3f/s4QEJYlo/stat/relayQos(Qos for subscribe/Qos for publish):2Topic 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.ioSubscribe: oldfox126/esp12s/hf3f/s4QEJYlo/stat/timeQos:0 publish:无

QOS是质量、优先级。

取值0-2,0最低,2最高。

  • 这里的当前时间值因为每秒钟都要接收,不太重要所以取值为0;
  • 上面的开关值比较重要所以Oos取值2。

到这里仪表盘装置已经开始运行了(时间在走)。

但是很奇怪,时间后面有一个单位,要修改一下:

  • 当前时间4个字上按住不放,出来的菜单里面选择Edit
  • 在编辑界面依次点击 Design(设计) -> Unit(单位) -> Show unit(显示单位) -> 关闭显示,然后点右上角的保存。

好了时间显示终于正常了。

但是显示的地方太窄了,我想拉宽一点,点这里修改界面。

可以更改装置的上下左右位置以及装置大小。

当前时间这个装置的右下角这里按住不放,往右边拖到边,放手

把当前时间拉到足够的宽度以后,点右上角的保存。

最终效果:

其他的仪表盘装置设置请自行完成,必须的参数列在下面(没错,我就是懒):

一共七项,更多请查看文章最后的截图。

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.装壳

全部焊接好,可以装壳了。

设计图

原理图

PCB

如果你认为有用就点赞、收藏、关注一下八~