在科技迅猛发展的今天,物联网技术正逐渐渗透到我们生活的每一个角落。作为一名对新技术充满好奇的技术爱好者,我有幸接触到了Air780E这款低功耗4G模组,并亲身体验了它的固件远程升级过程。这不仅是一次技术的探索,更是一场思维的飞跃,让我深刻感受到了科技创新的魅力
接下来,让我们来学习如何对低功耗4G模组Air780E进行固件的远程升级。一起学起来吧~
1、生成差分包
远程升级支持使用云平台和自建服务器。
1.1 准备新旧版的core和脚本.
关于需要升级的core(固件),需要注意的点有:
1.1.1 需要 V1103及以上的固件。
1.1.2 需要 LuaTools 2.1.89(LuaTools工具的版本,可以在工具左上角看到) 及以上的升级文件生成。
1.1.3 新版core的版本号必须大于旧版core。

1.1.4 新旧版core的支持功能相同,因为功能不同的core 的文件系统地址可能不同,如果升级的话可能导致程序异常。

1.1.5 程序中需要保证新旧版本的PROJECT相同,新版本的版本号VERSION大于旧版,PRODUCT_KEY和云平台保持一致。

1.2 使用Luatools生成bin差分包
1.2.1 生成量产文件
在Luatools中选择新版的core,和更改了version的脚本文件,然后生成量产文件:


1.2.2 在选择生成量产文件的目录中,找到bin文件。

1.2.3 生成差分包
首先在Luatools中找到差分工具。

然后选择旧版的core,生成的新版量产文件,最后点击开始生成差分文件。

2、云平台配置
2.1 云平台新建项目
2.1.1 进入IoT界面,新建项目


2.1.2 复制项目key到脚本代码中

然后我们先去准备一个差分包。
2.2 云平台添加差分包
进入云平台,选择本项目的固件列表。


3、编写脚本
3.1 等待联网
sys.waitUntil("IP_READY")
3.2 用于fota升级的函数。
--[[ @param1 回调函数
]]
libfota.request(fota_cb)
3.3 fota升级的回调函数, 当回调函数中传入的值为0时,重启模块。
function fota_cb(ret)
if ret == 0 then
rtos.reboot()
end
end
3.4 定时查询是否有远程升级
sys.timerLoopStart(libfota.request, 3600000, fota_cb)
4、烧录代码到硬件
4.1 正确连接电脑和4G模组电路板
使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线;
4.2 识别4G模组的boot引脚
在下载之前,要用模组的boot引脚触发下载, 也就是说,要把4G模组的boot引脚拉到 1.8v,或者直接把boot引脚和VDD_EXT引脚相连。我们要在按下BOOT按键时让模块开机,就可以进入下载模式了。
具体到 Air780E开发板,
4.2.1 当我们模块没开机时,按着BOOT键然后长按PWR开机。
4.2.2 当我们模块开机时,按着BOOT键然后点按重启键即可。

4.3 识别电脑的正确端口
判断是否进入BOOT模式:模块上电,此时在电脑的设备管理器中,查看串口设备, 会出现一个端口表示进入了boot下载模式,如下图所示:

当设备管理器出现了3个连续数字的com端口,并且每个数字都大于4,这时候, 硬件连接上就绪状态,恭喜你,可以进行烧录了!
4.4 新建项目
首先,确保你的 LuaTools 的版本,上大于 2.2.13 版本的。
在 LuaTools 的左上角上有版本显示的,如图所示:

LuaTools 版本没问题的话, 就点击 LuaTOols 右上角的“项目管理测试”按钮,如下图所示:

这时会弹出项目管理和烧录管理的对话框,如下图:
新建一个项目
注意:这里截图使用的hello world项目的烧录教程,烧录的时候要将脚本换成本次demo的。

4.5 开始烧录
选择780E板子对应的底层core和刚改的main.lua脚本文件。下载到板子中。


点击下载后,我们需要进入boot模式才能正常下载,在(3)(4)小节已经介绍了如何进入boot模式。

5、验证功能
启设备后会自动升级差分包

查看升级日志

6、常见问题
1. 要升级的core的版本大于旧版本
2. 脚本中PROJECT保持一致,VERSION版本号大于旧版
3. 升级时的错误可以查看升级日志

好了,以上就是今天的内容,Air780E快速入门之固件的远程升级,你学会了吗?
946

被折叠的 条评论
为什么被折叠?



