ESP32 OTA APP版本号设置
App 设置 版本号 ESP32 OTA
2023-09-11 14:21:25 时间
本文讲述ESP32设置APP的版本号用于OTA版本对比。
在ESP-idf的native_ota_example
中, 有一段代码演示如何检查应用程序的版本并防止无限的固件更新。只有新版本的应用程序才会进行OTA。版本检查是在收到第一个固件映像包之后执行的,其中包含有关固件版本的数据。申请版本可从以下三个地方选取:
- 如果在项目
PROJECT_VER
文件中设置PROJECT_VER
变量,则使用它的值。 - 否则,如果
$PROJECT_PATH/version.txt
存在,它的内容将用作PROJECT_VER
。 - 否则,如果项目位于Git存储库中,则使用
git describe
的输出.
否则,PROJECT_VER
将为1
.
在native_ota_example
中,$PROJECT_PATH/version.txt
用于定义应用程序的版本. 更改文件中的版本以编译新固件。
这里我们采用第二种方法,即使用$PROJECT_PATH/version.txt
文件来定义版本号。
Note:
native_ota_example
中没有版本号大小检查,它看到不同的版本就会下载。当本地设备是比OTA服务器版本号更高的时候,也会下载OTA服务器的旧版进行更新。这个需要自行添加版本号大小检查。
我们需要首先在make menuconfig
的Application Manager
菜单中,取消Exclude PROJECT_VER from firmware image
和Exclude PROJECT_NAME from firmware image
的选项。
然后在项目文件夹根目录下新建一个version.txt
,内容为1.1.0
。
编译之后用二进制模式打开bin文件,就可以在文件头里面看到项目名称和版本号了。
当然,千万别忘了在make menuconfig
的Partition Table
中,选择Factory app, two OTA definition
相关文章
- 【软件测试】不好,事搞大了,APP测试的血泪教训总结......
- mac app icon 设置
- Google Earth Engine(GEE)APP——一个监测影像各波段的DN值的app
- Google Earth Engine(GEE)APP——Global Forest Change app全球森林监测
- uni-app - 在纯 JS 文件中调用自定义弹框组件 / 封装全局 API 调用弹框组件(解决小程序、APP 无法使用 document.body.appendChild 插入组件节点)适配全端
- uni-app - 文字上下循环滚动翻滚,类似中奖名单与公告栏信息公示等等,自定义组件封装,支持 DIY(适用于新闻动态、公告上下滚动列表、上下循环滚动,无限上下自动滚动列表)兼容小程序/H5/App
- uni-app - 用户点击图像放大预览功能 / 支持左右滑动与手指手势放大缩小图片(支持单图与多图、实现手机查看大图全屏预览功能),类似微信查看图片的效果,支持 App、H5、小程序等全端兼容!
- 《移动App测试的22条军规》——22条军规之外
- iOS10 打开APP设置界面和WIFI界面
- ios蓝牙开发(三)app作为外设被连接的实现
- Django 4.x Models App settings 模型应用设置
- uni-app知识点:禁止页面返回及如何实现自定义返回逻辑、实现再次返回退出应用时不退出应用而是在后台运行、uni-app ios滑动时卡顿不流畅问题解决方案
- uni-app知识点:页面滚动到指定位置(即锚点实现)、设置背景颜色backgroundColor无效的问题、导航栏设置角标及动态控制修改角标数字、导航自定义按钮上的红点动态控制、动态修改tabBar的内容
- Andriod App类型简介
- HMS Core Insights第三期直播预告—— 当我们在谈论App的时候,我们还可以谈论什么?
- Android Activity启动流程, app启动流程,APK打包流程, APK安装过程
- 2014年辛星starphp第一节设置入口文件以及App类
- 使用opencv实现app自动化