首页 > 编程语言 >中移铁通智能插座:基于乐鑫 ESP8266 WiFi 芯片的可 DIY 智能插座(附源码)

中移铁通智能插座:基于乐鑫 ESP8266 WiFi 芯片的可 DIY 智能插座(附源码)

时间:2024-07-14 14:26:40浏览次数:16  
标签:string 自定义 APP 继电器 broker 智能 插座 user 源码

在这里插入图片描述

文末有视频演示

第一部分

1. 简介

中移铁通智能插座 (型号: CMPOWER W1) 基于乐鑫 ESP8266 WiFi 芯片设计。由于早已没有官方 APP 支持,于是重新开发一版固件适配该硬件基本功能。

固件基于乐鑫 ESP8266_RTOS_SDK 开发,通信协议采用 MQTT-TCP 方式控制插座的两个继电器。其中 MQTT Broker 可以根据实际情况自定义,默认使用: broker.emqx.io。配合例如: MyMQTT APP 可以实现远程控制插座的主继电器和子继电器。

你也可以基于此固件对接私有的 MQTT broker

2. 配网 APP

使用 EspTouch,详细介绍可以点击链接:
安卓
IOS

可以通过手机应用市场下载安装。

手机连接 WiFi (最好是非混合的2.4G),打开 APP 后选择 EspTouch V2 方式,输入 WiFi 密码和需要配网的设备数量。

关于自定义数据说明

由于使用 Public broker,因此有可能出现不稳定情况,为了便于更换 broker 通过自定义数据方式传给设备。除此之外,为了避免所有设备都订阅相同的主题,用户可以自定义主题的一部分,从而避免设备被其他人控制(如果大家使用相同 broker,订阅相同主题),自定义字符串也是通过自定义数据方式传给设备,因此,自定义数据格式如下:

"broker url":"user string"

使用 : 分隔,如果自定义数据缺省,则默认使用:

broker.emqx.io:Slaven

当然也可以缺省部分,比如缺省 broker:

:Slaven

或者缺省 user string:

broker.emqx.io:

在这里插入图片描述

图片以自定义 broker: broker.hivemq.com,自定义 user string: Demo 为例说明

3. 控制 APP

MyMQTT 之类都可,只要可以发布订阅主题。

4. 订阅主题

当前 MQTT 订阅的主题有三个,如下:

Topic设备端APP 端
/“user string”/set订阅方发布方
/“user string”/get订阅方发布方
/“user string”/status发布方订阅方

其中 user string 由配网时候 EspTouch 自定义数据传入,如果缺省则使用默认主题:

/Slaven/set

/Slaven/get

/Slaven/status

如果自定义 user string,则主题根据自定义相应修改

在这里插入图片描述

图片以默认主题为例说明

5. 消息负载

  • 对于 /"user string"/set 主题:
Payload功能
{“socket”:“main”,“onoff”:“on”}主继电器开
{“socket”:“main”,“onoff”:“off”}主继电器关
{“socket”:“sub”,“onoff”:“on”}子继电器开
{“socket”:“sub”,“onoff”:“off”}子继电器关
  • 对于 /"user string"/get 主题:
Payload功能
{“socket”:“main”}获取主继电器开关状态
{“socket”:“sub”}获取子继电器开关状态
  • 对于 /"user string"/status 主题:

设备收到 /"user string"/set/"user string"/get 主题消息后,通过 /"user string"/status 主题将设备状态上报给 APP 端。

6. LED说明

LED状态功能
蓝色闪烁设备未配网
蓝色常亮WiFi 已连接,但 Broker 还未连接
蓝色Broker 连接成功
红色常亮WiFi 断连
红色WiFi 回连成功
白色常亮子继电器开
白色子继电器关
按键 LED常亮主继电器开
按键 LED主继电器关

蓝色 LED 只在配网环节指示,后续只有红色 LED 指示网络情况

7. 按键说明

短按按键同时开/关主/子继电器

8. 重置说明

长按按键直至红色 LED 亮起松手则重置设备

9. 计划开发

  • MQTT-TLS
  • 计量功能
  • 本地 OTA
  • 定制手机端 APP

第二部分

1. 如何编译

参考官方指导

注意: ESP8266_RTOS_SDK 使用 release/v3.4

2. 如何烧录

可自行编译或者使用 release 的固件 xxx_factory.bin

在这里插入图片描述

在这里插入图片描述
扫码关注
扫码关注微信公众号获取固件和工具

如需观看演示视频介绍,可以点击如下链接:
演示介绍

标签:string,自定义,APP,继电器,broker,智能,插座,user,源码
From: https://blog.csdn.net/Slaven230101/article/details/140276819

相关文章

  • 抖音视频图文根据ID获得评论信息网站源码
    抖音视频图文根据ID获得评论信息单页源码,id是视频的id,可以自定义第几条评论开始,不填默认为0,评论数量最大数量50,默认是20。 接口返回参数:"comments":评论信息集合{"uid":评论者用户uid,"reply_to_reply_id":被回复的回复的评论id,"sec_id":评论者用户secid,"create......
  • 轻量级可扩展易航网址引导系统源码V2.45
    由于现在网站行业的不稳定,导致很地址频繁更换,不仅是网站,联系QQ,加群链接等需要更换时,好不容易发展的客户会因为找不到您新的网站地址而流失,有了引导页以后就可以安心地宣传无需担心客户丢失的问题。而易航网址引导系统综合了目前网上大多数UI漂亮的引导页面是易航原创一款极......
  • Mangoa-Auth/芒果自助多应用企业级网站授权系统源码
    Mangoa_Auth多应用授权系统是专门为个人或企业开发者打造的一款自助多应用授权程序,后端基于PHP原生,前端基于EasyWeb框架,拥有域名授权、秘钥授权、IP授权,您可以根据您喜欢的方式进行授权验证,其中您还可以关闭授权验证等您想开启的时候随时开启授权验证即可,并且我们集成了独立的......
  • 微信小程序毕业设计-刷题系统项目开发实战(附源码+论文)
    大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。......
  • 微信小程序源码-基于Java后端的医院体检管理系统毕业设计(附源码+论文)
    大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。......
  • 字符串源码
    String类的声明//final不可被继承publicfinalclassStringimplementsjava.io.Serializable,Comparable<String>,CharSequence{}比较字符串内容publicbooleanequals(ObjectanObject){//检查是否是同一个对象的引用,如果是,直接返回trueif(this......
  • 2024最新修复公众号无限回调系统源码下载
    内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍2024最新修复公众号无限回调系统源码下载微信公众平台回调比较麻烦,还不能多次回调,于是搭建一个多域名回调的源码很有必要。测试环境:Nginx1.24MySQL5.6.50PHP-7.21.创......
  • 去水印小程序源码修复版-前端后端内置接口+第三方接口
    内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍去水印小程序源码,前端+后端,内置接口+第三方接口,修复数据库账号密码错误问题,内置接口支持替换第三方接口,文件挺全的,可以添加流量主代码,搭建需要准备一台服务器,备案域名和http......
  • 响应式UI知识付费系统源码 知识付费软件 教育下载网站模板 知识付费做的最好的平台 视
    内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍这是一款知识付费平台模板,后台可上传本地视频,批量上传视频连接,视频后台可设计权限观看,免费试看时间时长,会员等级观看,付费观看等功能,也带软件app权限下载,帮助知识教育和软件......
  • 【免费】Python数据分析最新87个项目案例,包含说明文档+数据+源码资料合集分享
    Python数据分析最新87个项目案例,包含说明文档+数据+源码。87个完整项目案例获取方式:https://pan.quark.cn/s/589d02b01ce5包含但不限于:“表迪杯“数据分析大赛已题学生校围消费行为分析【项目:深圳市二手房房价分析及预测】【项目:信用卡客户用户画像及贷款违约预测模型......