基于mixly2.0的update用户库(自制)(ESP32)

Electron3303个月前 (01-20)144

基于mixly2.0的update用户库(自制)(ESP32)

Hello,大家好!我最近在开发一款智能门锁,而它是基于ESP8266和ESP32的,而这两款模组可以连网从而获取网络上的一些信息和数据。据此,我打算使用ESP8266和ESP32的OTA更新功能(因为我所设计的门锁为了节省经费和增加项目的稳定性并没有加入下载电路)。

一开始我只是想用巴法云在mixly2.0中内置的OTA更新模块库,但又转念一想,如果它能获取固件的版本号并可以向小米等智能产品一样实现自动检查更新就好了,于是就有了今天的这篇文章和基于mixly2.0的update用户库(自制)。接下来,让我们一起来看一看吧!

但由于这个用户库不能同时兼容ESP32和ESP8266,所以我做了两个用户库以分别适用于ESP32和ESP8266。

这次我们来说说适用于ESP32的update1.31用户库

1、声明变量

屏幕截图 2025-01-20 094647.png

subscribe_topic:订阅主题的topic(可与OTA的不一致,如果为同一个topic,则subscribe_topicOTA_topic一致)

OTA_topic:OTA对应的主题

OTA_uid:OTA更新对应的UID(即私钥,填写OTA所在账户的UID)

OTA_url:去获取OTA固件详细信息的URL (不需要更改)

Version:当前程序的版本号

new_version:获取到的新版本号,不需要填写

otaurl:获取到的用于OTA的URL,不需要填写

2、WIFI自动重连

屏幕截图 2025-01-20 135127.png

3、调用库文件

屏幕截图 2025-01-20 135341.png

4、WIFI重置

屏幕截图 2025-01-20 135441.png

wifiManager.resetSettings()用于WIFI信息重置

ESP.restart()用于ESP32的重启

5、主程序

屏幕截图 2025-01-20 135746.png

程序逻辑:如果WIFI连接成功,则连接到巴法云的TCP服务(私钥需要登录巴法云来获取,此UID为订阅的主题所对应的账户UID,与OTA_uid区分,但如果OTA所在的账户与订阅的主题所对应的账户一致,则两UID一致),当连接到TCP服务后,程序会订阅我们所规定的topic(详见1、声明变量)。在这之后,程序会监听TCP的信息,当我们在巴法云发送update后,程序会检查版本情况,如有新版本,程序会进行更新;当我们在巴法云发送check后,程序只会获取新版本并通过串口打印出来。

6、初始化

屏幕截图 2025-01-20 145005.png

在程序刚刚开始时,程序会尝试配网并联网

7、函数check_update

屏幕截图 2025-01-20 145300.png

此函数为OTA的主函数,使用此函数前请先拖拽出Get_version函数(详见下一节)

8、函数Get_version

屏幕截图 2025-01-20 145724.png

此函数目的为获取最新版本号,使用函数check_update前请先拖拽出本函数

9、定时自动更新




如有侵权,请联系删除。

未经允许,禁止转载,

如需使用,请注明出处


update1.31适用于ESP32密码:update|大小:2.6MB
已经过安全软件检测无毒,请您放心下载。

    扫描二维码推送至手机访问,

    版权声明:本文由#Electron330发布,如需转载请注明出处。

    本文链接:https://lkby.club/?id=29

    相关文章

    esp8266模块wifi遥控小车编程

    esp8266模块wifi遥控小车编程

    Hello,大家好!今天为大家带来的是esp8266模块wifi遥控小车的编程,话不多说,请看视频↓↓↓...

    OTA 更新中断恢复策略

    OTA 更新中断恢复策略

        处理网络中断问题对于确保固件更新过程的稳定性和可靠性至关重要。当进行 OTA(Over-the-Air)更新时,可能会遇到网络不稳定的情况,这可能导致更新失败。为了处理这种...

    ESP8266的介绍

    ESP8266的介绍

        最近有一些小伙伴找到我,想了解ESP8266,那我就从科学的角度出发,给大家做一个全面而严谨的介绍。ESP8266是由乐鑫科技(Espressif Systems)推出的一...

    ESP8266模块示例

    ESP8266模块示例

        乐鑫科技的ESP8266是一款非常流行的低成本Wi-Fi芯片,它可以轻松地添加到微控制器项目中以实现互联网连接。ESP8266内部集成了Tensilica L106超低功耗...

    基于ESP8266的智能家庭自动化系统

    基于ESP8266的智能家庭自动化系统

    智能家庭自动化系统系统组成1. ESP8266: 作为微控制器,负责数据采集和网络通信。2. DHT11/DHT22: 用于采集温湿度数据。3. 光照传感器: 用于检测环境光照强度。4. 继电器模块:...

    发表评论

    访客

    ◎欢迎参与讨论,请在这里发表您的看法和观点。