合宙Air201资产定位模组LuatOS入门课程:FOTA远程升级,点点鼠标就搞定

**你是否也经常吐槽:开发是个苦差事!**做项目一时爽,遇到升级火葬场。

如果你也有这种困惑,可以多了解了解合宙的开发工具,简单实用又高效,甚至只需点点鼠标!

本期,我们来学习合宙Air201的实用示例**------FOTA远程升级**

FOTA远程升级

合宙Air201资产定位模组------是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA。

内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超低功耗的精品产品。

合宙Air201最新资料下载链接:

www.hezhoudingwei.com

本教程教你通过使用FOTA脚本代码,对Air201模块进行远程升级操作。

1. 搭建环境

新同学建议先看前期的基础知识相关教程,更有助于理解和操作。

本教程是通过使用\LuatOS-Air201\demo\fota下的fota脚本代码对Air201模块进行远程升级操作。

操作分为:
通过合宙IoT平台、通过第三方自建服务器进行远程升级。

升级文件可以仅升级脚本文件(Script),也可以仅升级底层固件(Core),以及脚本文件+底层固件同时升级。

1.1 硬件准备:

  • 合宙Air201 PCBA

  • 带有数据通信功能的数据线

  • Win10以上PC

1.2 软件准备:


2. 通过合宙IoT平台进行FOTA升级

本文操作示例为:

Core底层固件+Script脚本文件同时升级。

2.1 在IoT平台创建项目

1)登录合宙云平台https://iot.openluat.com/

2)如果没有账号,先创建账号;

3)新建项目:

4)复制对应项目的PRODUCT_KEY:

2.2 修改脚本,生成升级文件

1)Core说明

2)Script说明

2.3 按照新版本需求,修改main.lua

PROJECT和PRODUCT_KEY保持不变,PRODUCT_KEY需和服务器保持一致,VERSION修改为1.0.1。

如下图所示:

注意事项:

main.lua内填写版本号要符合x.y.z形式,其中x/y/z均为数值,不限于个位数;

若FOTA使用合宙IoT平台,版本号中的y会被忽略,推荐写0,务必留意。

2.4 使用LuaTools工具生成bin文件差分包

注意:只有LuaTools版本2.1.89以上支持生成bin文件差分包,低版本仅支持生成sota文件。

1)只升级脚本时的差分包制作流程

修改好main.lua后,根据下方图示生成量产文件,其中就包含了bin文件差分包。

点击生成量产文件后,LuaTools工具会根据你选择的目录下自动创建\SOC量产及远程升级文件\Air201,bin文件差分包便在此文件夹里面。

如果你是只打算进行脚本升级,那么下方固件升级便不用再看了,直接跳转到2.5节即可。

2)需要升级底层固件的差分包制作教程

先生成新版本的量产固件:

再根据新旧固件生成bin文件差分包:

箭头所指即为生成的bin文件差分包:

2.5 在IoT平台配置升级包

1)进入IoT平台,打开我的项目->固件列表->创建固件

2)选择新固件升级文件

注意:此时的固件名要与模块现在上电后的固件名保持一致,否则会导致远程升级不通过。

3)如果升级全部设备选项选择的是否,则需要添加指定设备

2.6 模块开机,完成升级


3. 通过第三方自建服务器进行升级

3.1 准备模块中使用的旧版本core升级文件

3.2 使用LuaTools分别生成新旧版本的升级包

点击生成量产文件后,LuaTools工具根据你选择的目录下自动创建\SOC量产及远程升级文件\Air201 ,生成的升级包便在此文件夹里面。

3.3 使用LuaTools工具生成差分文件

使用LuaTools生成升级文件,无论core是否需要升级,升级文件必须包含core,因为差分会用到,使用LuaTools内的soc差分工具生成即可。

生成对应差分包如下图所示,注意差分包大小不能超过480k。

3.4 差分包上传到第三方自建服务器

Lua固件默认支持HTTP获取升级包。

在main.lua中做如下修改,打开使用自建服务器进行升级部分代码,填写对应的url:

3.5 使用其他协议实现自建服务器远程升级

参考脚本库中配置。无论使用哪种协议,远程升级的关键是获取正确的升级固件包。


今天的分享就到这里了

更多实用示例带你开启应用之门

下一期见~

Air201最新资料详见:

www.hezhoudingwei.com

相关推荐
sheepwjl15 分钟前
《嵌入式硬件(十八):基于IMX6ULL的ADC操作》
单片机·嵌入式硬件·imx6ull·adc
BMS苦研者3 小时前
芯片选型避坑指南:如何根据需求快速筛选MCU
单片机·嵌入式硬件
国科安芯4 小时前
基于AS32A601型MCU芯片的屏幕驱动IC方案的技术研究
服务器·人工智能·单片机·嵌入式硬件·fpga开发
努力学习的小趴菜。5 小时前
基于STM32的智能天气时钟
stm32·单片机·嵌入式硬件
逆小舟7 小时前
【STM32】电动车报警系统
stm32·单片机·嵌入式硬件
小范馆8 小时前
STM32 解锁芯片的方法
stm32·单片机·嵌入式硬件
逆小舟8 小时前
【STM32】第一周学习问题汇总
stm32·单片机·嵌入式硬件
紫金桥软件8 小时前
组态软件和实时数据库区别大吗?
数据库·物联网·软件工程·scada·监控组态软件
TDengine (老段)9 小时前
益和热力性能优化实践:从 SQL Server 到 TDengine 时序数据库,写入快 20 秒、查询提速 5 倍
大数据·数据库·物联网·性能优化·时序数据库·tdengine·1024程序员节
omnibots9 小时前
瑞萨SDK编译linux时,make menuconfig报错
linux·服务器·前端·嵌入式硬件