0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ChatGPT那么神,可以帮我们FOTA升级模组吗?

合宙LuatOS 来源:合宙LuatOS 2023-02-14 09:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ChatGPT话题愈燃愈旺,新技术应用带来的兴奋,让参与其中的人们充满改变世界的期待,又不免生出被AI替代的焦虑,以及混杂其间的各种冲动。像极了三体科幻小说的现实版,衍生出拯救派、降临派、幸存派……

ChatGPT那么神,可以帮我们FOTA升级模组吗?——显然,当下还得靠工程师自己。

话说合宙基于移芯EC618平台的4G-Cat.1系列模组,支持标准AT/LuatOS/C-SDK多样化开发方式,可满足用户不同开发需求。其中C-SDK仓库提供给客户自己编译,版本自由度较高,FOTA远程升级应用只需做好版本管理——不仅支持使用自己的服务器,还支持使用合宙IoT云平台来升级模组,为不方便搭建服务器的客户提供免费便捷服务。

合宙IoT云平台:

https://iot.openluat.com/

那么如何使用合宙IoT云平台进行C-SDK固件升级呢?接下来将跟大家详细分享。

1

FOTA测试准备


在下载到的CSDK仓库内找到 “/project/example_fota_iot” ,本文将以此为例。

1.1 生成1.0.0版本的binpkg文件

首先,需要先将代码中的 "PROJECT_KEY"更改成自己合宙IoT上的PROJECT_KEY。然后保存编译,生成1.0.0版本的binpkg文件(可以手动修改文件名作为区分)。

相关注意事项:

  • 升级时要校验请求时的代码是否和生成差分包所用的旧版本代码一致。如不一致,日志会出现:image_verify error,校验失败而不能升级。

  • 差分包地址和域名也是代码的一部分,会参与差分包的生成,也需确保在新旧版本中保持一致。

  • 一般情况下差分包也要区分不同版本,就会导致地址有可能会经常发生更改。可以把url写成从其他地方获取:比如kv或者从服务器获取,就可以避免手动修改差分包地址而导致代码不一致,影响升级失败。

#define PROJECT_VERSION"1.0.0"

#define PROJECT_KEY “ABCDEFGHIJKLMNOPORSTUWWXYZ"//修改为自己iot上面的PRODUCT_KEY,这里是一个错误的

#define PROJECT_NAME "TEST_FOTA"

char g_test_server_name[200] = {0};

#define TEST_HOST "http://iot.openluat.com"

#define HTTP_RECV_BUF_SIZE (1501)

#define HTTP_HEAD_BUF_SIZE (800)

1.2 生成2.0.0版本的binpkg文件

对代码进行修改,修改完成后build生成 2.0.0 binpkg,然后保存编译,生成2.0.0版本的binpkg文件(可以手动修改文件名作为区分)。

#define PROJECT_VERSION"2.0.0"

#define PROJECT_KEY “ABCDEFGHIJKLMNOPORSTUWWXYZ"//修改为自己iot上面的PRODUCT_KEY,这里是一个错误的

#define PROJECT_NAME "TEST_FOTA"

char g_test_server_name[200] = {0};

#define TEST_HOST "http://iot.openluat.com"

#define HTTP_RECV_BUF_SIZE (1501)

#define HTTP_HEAD_BUF_SIZE (800)

5a6ebcac-abe2-11ed-bfe3-dac502259ad0.png

2

差分包生成


手动生成差分包的过程,使用移芯芯片平台提供的FotaToolKit差分工具。

差分工具下载链接:
https://cdn.openluat-luatcommunity.openluat.com/attachment/20221031103812773_FotaToolkit_V2.0.9.0.zip

打开FotaToolkit差分工具,选择Generator标签页,五步即可实现差分文件制作。

差分文件制作步骤


5aa6791c-abe2-11ed-bfe3-dac502259ad0.png

Step1. 选择配置文件

选择对应产品项目的配置文件,如:config/ec618.json

Step2. 设置名称及路径

设置差分文件的名称及路径(默认路径为 FotaToolkitGUI 所在目录,文件名为 default_delta.par),然后选择差分文件所需的基线镜像文件和目标镜像文件。

Step3. 设置文件版本号

该步骤可选(一般情况下不需要改变)。

添加基线和目标镜像的版本号,具体格式为 Vmmm.nnn.ppp(m,n 和 p 为数字 0-9,分别表示镜像文件的大、小和补丁版本号),需要注意的是新旧两个版本号不能相同;此外,该版本号仅仅是为了追踪和记录新旧镜像文件的信息,不会对实际镜像文件版本号进行匹配和校验。

Step4. 选择FLASH配置信息

根据步骤02中的新旧镜像文件的属性(相关镜像属性已在JSON文件中配置),选择相匹配的FLASH配置信息。

Step5. 执行制作差分文件

以上步骤完成后,直接执行“START”制作差分文件即可。显示窗口会实时输出制作过程的所有LOG信息,制作完成后会弹窗提示“成功”还是“失败”,具体的制作结果以及目标文件的详细信息也会输出到显示窗口中。

特别说明:

后缀名(.par)为移芯FOTA差分方案的默认文件后缀,设置文件名称时Fota工具会自动追加。

生成.par文件后需要手动将后缀改为.bin。

3

上传差分包


差分包生成成功后需要上传到服务器中,打开合宙iot.openluat.com并登录:

3.1 点击固件升级,选择项目,然后创建固件:

5acc06a0-abe2-11ed-bfe3-dac502259ad0.png

3.2 进入创建固件选项后,选择差分工具生成的差分文件。

原始文件格式为.par,需要手动改为.bin:

5ae91e2a-abe2-11ed-bfe3-dac502259ad0.png

3.3 填写固件名及版本号:

固件名一栏填入PROJECT_VERSION、PROJECT_NAME和CSDK_EC618拼接后的字符串;版本号手动填入2.0.0 。

5b04fb18-abe2-11ed-bfe3-dac502259ad0.png

3.4 然后点击确定,固件就上传成功了。

5b2da41e-abe2-11ed-bfe3-dac502259ad0.png

因为升级全部设备一栏选择了否,所以需要指定设备imei;将待升级设备的imei上传即可指定。

5b4daf48-abe2-11ed-bfe3-dac502259ad0.png

3.5 烧录测试FOTA升级:

然后只需要使用烧录工具烧录基础版本(1.0.0)的binpkg,等待样例通过url请求升级包的方式测试FOTA升级。升级成功标志除升级接口正确返回外,还可通过升级前后不同的打印内容来辅助判断升级成功。

这里做测试的旧版本所打印的version=1.0.0,更新成功到新版本的打印变成了2.0.0。升级成功后再次请求同一升级包,由于不匹配会提示升级包校验错误,不予升级。

本样例由于当前尚未确定CSDK版本,以此作为辅助判断条件,用户也可以加上自己的打印作为辅助条件予以判断升级成功。

查看日志可使用合宙LuaTools或EPAT工具:

LuaTools下载:
https://wiki.luatos.com/pages/tools.html

EPAT工具下载:
https://cdn.openluat-luatcommunity.openluat.com/attachment/20221031113614462_EPAT_V1.3.207.392.zip

5b66bec0-abe2-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩


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

    关注

    13

    文章

    10093

    浏览量

    90865
  • 模组
    +关注

    关注

    6

    文章

    1719

    浏览量

    32015
  • ChatGPT
    +关注

    关注

    30

    文章

    1596

    浏览量

    10067

原文标题:ChatGPT那么神,可以帮我们远程升级模组吗?——合宙IoT云平台FOTA开发应用指南

文章出处:【微信号:HelloLuatOS,微信公众号:合宙LuatOS】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    可以使用CW32的ChirpIOT来实现芯片固件升级

    可以使用CW32的ChirpIOT来实现芯片固件升级吗?这种升级每包有限制吗?一般是多少,可以实现组网内的所有设备同时这种升级吗?
    发表于 12-05 06:51

    请问RT-FOTA固件校验通过但是解压缩失败是什么原因?

    芯片:STM32F407ZGT6 FOTA流程: 从SD卡中读取固件(压缩过的RBL)校验通过后开始解压缩搬运到Flash的0x8020000地址 已经确认读取的固件大小是正确的但是到解压缩这一步就失败了。 代码中位置 跟进去 这是仿真时候的值,如何确定原因呢?
    发表于 09-26 07:41

    D2C强势加持!移远通信多款LTE模组完成升级,提供“全域全时”连接保障

    9月16日,移远通信正式宣布,已完成多款主力LTE模组的重大技术升级——通过集成卫星直连蜂窝(Direct-to-Cell, D2C)技术,为各类物联网终端赋予“地面+卫星”连接能力,打破传统物联网
    的头像 发表于 09-18 17:37 646次阅读
    D2C强势加持!移远通信多款LTE<b class='flag-5'>模组</b>完成<b class='flag-5'>升级</b>,提供“全域全时”连接保障

    浮思特 | 红外激光模组工作原理:科技的神奇之处

    在现代科技快速发展的今天,红外激光模组作为一种重要的光电设备,逐渐走进了我们的生活和工作中。无论是在医疗、安防还是工业领域,红外激光模组都扮演着不可或缺的角色。那么,红外激光
    的头像 发表于 08-05 09:58 450次阅读
    浮思特 | 红外激光<b class='flag-5'>模组</b>工作原理:科技的神奇之处

    门锁扫码升级新选择:LV5200扫码模组嵌入式方案来了

    随着智能家居的普及,智能门锁作为家庭安全的重要防线,其功能也在不断升级。如今,门锁扫码功能已成为许多用户关注的焦点,而LV5200扫码模组嵌入式方案则为门锁扫码升级提供了绝佳选择。LV5200扫码
    的头像 发表于 07-08 15:34 391次阅读
    门锁扫码<b class='flag-5'>升级</b>新选择:LV5200扫码<b class='flag-5'>模组</b>嵌入式方案来了

    眸引领AI智能视觉新范式,让科技更有温度

    在2025年眸春季新品发布会上,眸AI智能摄像机再次以技术创新与人文关怀的深度融合,重新定义了智能视觉的未来。此次发布会上不仅揭晓了全新推出的五大新品,同时眸全新AI助手“小智”与全新
    的头像 发表于 05-23 13:24 891次阅读
    <b class='flag-5'>神</b>眸引领AI智能视觉新范式,让科技更有温度

    炸裂升级!ZX7981PM 5G CPE主板全面兼容PCIe热门模组

    启明智显ZX7981PM5GCPE迎来重大升级:继支持M.2USB接口后,其主板现全面兼容PCIe热门模组。这一升级让用户能够自主选择适配的最优模组,从而解锁更高速率、更低延迟的5G网
    的头像 发表于 05-22 18:10 903次阅读
    炸裂<b class='flag-5'>升级</b>!ZX7981PM 5G CPE主板全面兼容PCIe热门<b class='flag-5'>模组</b>

    眸开启AI智能摄像机无线时代:全定制芯片方法学+六守护价值体系,坚守初心普惠千万家庭

    分享的是关于眸的使命,眸要成为什么样的眼眸?眸对我们这个世界会有怎样的改变呢?从2020年底到今天,还有很多人不理解,我们为什么要进入
    的头像 发表于 05-07 15:19 1269次阅读
    <b class='flag-5'>神</b>眸开启AI智能摄像机无线时代:全定制芯片方法学+六<b class='flag-5'>神</b>守护价值体系,坚守初心普惠千万家庭

    FOTA远程升级的10个关键点!技术小白必须收藏

    本文将针对FOTA升级过程中的十大常见问题提供专业解答,帮助您规避风险,实现安全高效的固件更新。 一、FOTA远程升级常见问题   01. 远程升级
    的头像 发表于 04-10 14:53 528次阅读
    <b class='flag-5'>FOTA</b>远程<b class='flag-5'>升级</b>的10个关键点!技术小白必须收藏

    直线模组选型指南:单轴直线模组VS多轴直线模组

    在工业自动化的领域里,单轴直线模组和多轴直线模组是两大核心运动控制设备,各自拥有独特的运动自由度和适用场景,成为了现代生产线中不可或缺的“运动专家”。那么,它们究竟有什么区别?又该如何选择呢?
    的头像 发表于 04-09 09:46 649次阅读
    直线<b class='flag-5'>模组</b>选型指南:单轴直线<b class='flag-5'>模组</b>VS多轴直线<b class='flag-5'>模组</b>

    和安信可Ai-M61模组对话?手搓一个ChatGPT 语音助手 #人工智能 #

    ChatGPT
    jf_31745078
    发布于 :2025年03月12日 15:56:59

    能和Ai-M61模组对话了?手搓一个ChatGPT 语音助手

    也争先恐后, 安信可的英文名是Ai-Thinker, 我们也一直在思考 人工智能+安信可模组=? 经过数周的努力, Ai-M61-32S是我们尝试的第一个模组, 实现了通过语音接入
    的头像 发表于 03-12 11:57 9980次阅读
    能和Ai-M61<b class='flag-5'>模组</b>对话了?手搓一个<b class='flag-5'>ChatGPT</b> 语音助手

    STM32F103上位机升级,RS485升级、CAN升级

    外置Flash。该开发板提供上位机升级软件,购买者可使用该上位机配合我们升级例程学习给MCU在线更新升级 上位机软件使用VS2022开发平台,C#语言开发,该开发板提供上位机工程源码
    发表于 01-03 08:57

    ChatGPT新增实时搜索与高级语音功能

    在OpenAI的第八天技术分享直播中,ChatGPT的搜索功能迎来了重大更新。此次更新不仅丰富了ChatGPT的功能体系,更提升了其实用性和竞争力。 新增的实时搜索功能,是此次更新的亮点之一
    的头像 发表于 12-17 14:08 918次阅读

    中信建投建议关注端侧AI模组机会

    析,OpenAI在其“连续12天直播发布”的第5天宣布,支持Apple Intelligence的苹果设备现已能够开启ChatGPT功能。这一消息不仅显示了AI技术在消费级市场的广泛应用潜力,也预示着端侧AI产业的快速发展。 中信建投认为,大模型厂商作为软件服务商,可以
    的头像 发表于 12-17 14:05 915次阅读