低功耗4G模组Air780E快速入门:固件的远程升级

电子说

1.3w人已加入

描述

​今天我们学习Air780E快速入门之固件的远程升级,小伙伴们,学起来吧!

一、生成差分包

合宙的远程升级支持使用合宙云平台和自建服务器,此例程使用的是合宙云平台。

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.1 云平台新建项目

2.1.1 进入IoT界面,新建项目

远程升级

远程升级

远程升级

远程升级

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

远程升级远程升级

然后我们先去准备一个差分包。

2.2 云平台添加差分包

进入云平台,选择本项目的固件列表。

远程升级

远程升级

远程升级

远程升级

三、编写脚本

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.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模式。

远程升级

远程升级

五、验证功能

启设备后会自动升级差分包

远程升级

远程升级

查看升级日志

远程升级

远程升级

六、常见问题

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

远程升级

远程升级

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

​审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分