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

embedded/2024/9/24 8:26:19/

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

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

本期,我们来学习合宙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 软件准备:

  • LuaTools调试工具:
    https://doc.openluat.com/wiki/52?wiki_page_id=5071

  • 最新固件:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/core

  • 最新脚本:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/fota


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  


http://www.ppmy.cn/embedded/112789.html

相关文章

小琳AI课堂:MASS模型——革新自然语言处理的预训练技术

大家好,这里是小琳AI课堂。今天我们来聊聊一个在自然语言处理(NLP)领域非常热门的话题——MASS模型,全称是Masked Sequence to Sequence Pre-training for Language Generation。这是华为诺亚方舟实验室在2019年提出的一种创新模型…

初中生物--5.单细胞生物

单细胞生物 单细胞生物整个身体只由一个细胞构成,是生物 圈中非常原始,形态微小、结构简单的一类生物。大多数生活在水域或湿润的环境中,也有寄生在 其他生物身体上 例如:大肠杆菌、眼虫、酵母菌、变形虫、衣藻、草履虫 草履虫 …

后续学习规划 ----含我个人的学习路线,经历及感受

目前的基础 开发相关(最重要) 1.Java SE 从入门到起飞 2.Java Web开发 3.苍穹外卖 以上三个是和开发相关的基础。 我是按照书写的顺序学习的,有需要的朋友可以参考。 计算机相关 其他的话,都是比较久远的了。隔得时间一年半…

mtk7628 网口灯问题

板子上电插入网线到网口,只有wan口灯会亮,插入lan口灯不会亮。对比了ok的代码,先对比设备树,未看到网口相关的GPIO。 mt7628an_WMD-7688A-12816.dts mt7628an_hilink_hlk-7628n.dts 继续查看网口相关代码,加打印&…

科技前沿:Web3与物联网的智能连接

随着科技的迅速发展,Web3 和 物联网(IoT) 正在成为推动未来技术创新的两大关键领域。Web3是去中心化互联网的愿景,而物联网通过智能设备的相互连接,构建了一个无缝交互的物理世界。当这两项技术相结合时,它…

高德2.0 多边形覆盖物无法选中编辑

多边形覆盖物无法选中编辑。先检查一下数据的类型得是<number[]>,里面是字符串的虽然显示没问题&#xff0c;但是不能选中编辑。 &#xff08;在项目中排查了加载时机&#xff0c;事件监听…等等种种原因&#xff0c;就是没发现问题。突然想到可能是数据就有问题&#xf…

Vue.nextTick 的工作机制

Vue.nextTick 是异步执行的&#xff0c;它使用了微任务&#xff08;microtasks&#xff09;或宏任务&#xff08;macrotasks&#xff09;&#xff0c;具体使用哪种取决于 JavaScript 环境的支持情况。具体来说&#xff0c;Vue 优先选择使用微任务&#xff0c;如 Promise.then&a…

python绘制3d建筑

import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.mplot3d.art3d import Poly3DCollection# 随机生成建筑块数据 def generate_building_blocks(num_blocks, grid_size100, height_range(5, 50), base_size_range(10, 30)):buildings []for _ in range(…