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

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

3天内不再提示

CSDK开发FOTA难?没有自己的服务器?——合宙云平台FULL-OTA解烦忧

合宙LuatOS 来源:未知 2023-07-07 12:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

功耗低、性能好、联网快——基于移芯EC618平台的合宙低功耗4G-Cat.1系列模组,支持标准AT/LuatOS/C-SDK多样化开发方式,可满足用户不同开发需求。其中C-SDK仓库提供给客户自己编译,版本自由度较高,FOTA远程升级应用只需做好版本管理——不仅支持使用自己的服务器,还支持使用合宙IoT云平台来升级模组,为不方便搭建服务器的客户提供免费便捷服务。
合宙IoT云平台:https://iot.openluat.com/
本文分享基于合宙IoT服务器的CSDK FULL-OTA全量升级示例,文末【阅读原文】可获取差分升级、模组文档等最新开发资料。

1

FULL-OTA测试准备


FULL-OTA远程升级是对整包进行升级,在下载到的CSDK仓库内找到 “/project/example_full_ota” ,本教程将以此example为例。

注意:CSDK的原始版本必须为V0002及以上。

GITEE仓库链接:
https://gitee.com/openLuat/luatos-soc-2022

1.1 生成1.0.0版本的binpkg文件:

首先需要先将代码中的 "PROJECT_KEY",更改成自己在合宙IoT云平台上的PROJECT_KEY。

#define PROJECT_VERSION "1.0.1" //使用合宙iot升级的话此字段必须存在,并且强制固定格式为x.x.x, x可以为任意的数字

#define PROJECT_KEY"47pzTpR9bxS04TiMJQ72RVg9tbtmQ8vw"//修改为自己iot上面的PRODUCT_KEY,这里是一个错误的,使用合宙iot升级的话此字段必须存在

#define PROJECT_NAME "example_full_ota" //使用合宙iot升级的话此字段必须存在,可以任意修改,但和升级包的必须一致

打开用合宙IoT服务器升级的代码部分,默认没版本号打印,这里在下面一行加了打印,如下所示:

#if 1

constcharremote_domain[ ]= "iot.openluat.com";

constcharota_file_name[200];

charimei[16] = {0};

luat_mobile_get_imei(0, imei, 15);

snprintf_(ota_file_name, 200, "api/site/firmware_upgrade?project_key=%s&imei=%s&device_key=&firmware_name=%s_LuatOS_CSDK_EC618&version=%s", PROJECT_KEY, imei, PROJECT_NAME, PROJECT_VERSION);

#endif

LUAT_DEBUG_PRINT("file name %s", ota_file_name);

然后保存编译,生成1.0.0版本的binpkg文件(可以手动修改文件名作为区分)。

44279cac-1c7b-11ee-962d-dac502259ad0.png

1.2 生成1.0.1版本的binpkg文件:

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

44397292-1c7b-11ee-962d-dac502259ad0.png

2

生成升级包


本节使用合宙LuaTools生成升级包,注意:LuaTools需要2.2.0及以上版本。

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

2.1 制作升级包:

运行LuaTools,进入选项及工具->SOC差分/整包升级包制作工具。

444d81e2-1c7b-11ee-962d-dac502259ad0.png

在工具窗口的新版固件栏选择要升级的binpkg,然后设置输出路径并填入用户标识(即:固件新版本号),点击开始执行,即可生成对应的升级包。

44877a82-1c7b-11ee-962d-dac502259ad0.png

2.2 更改后缀名:

在本地对应路径中找到生成的.sota升级包文件,将其后缀名更为.bin备用。

44cdae44-1c7b-11ee-962d-dac502259ad0.png

3

上传升级包


升级包生成成功后需要上传到服务器中,打开合宙IoT云平台iot.openluat.com并登录:

3.1点击我的项目-固件列表,然后创建固件:

45108700-1c7b-11ee-962d-dac502259ad0.png

3.2 创建固件相关设置:

在创建固件窗口,选择上文中后缀改为.bin的升级包,点击上传;系统会自动生成对应固件版本名称和版本号。

452e5ca8-1c7b-11ee-962d-dac502259ad0.png

3.3 点击确定,固件上传成功:

4557769c-1c7b-11ee-962d-dac502259ad0.png

3.4 添加指定设备imei:

因为升级全部设备一栏选择了【否】,以接下来需要指定设备,将待升级设备的imei添加即可。

457e7896-1c7b-11ee-962d-dac502259ad0.png

3.5 烧录测试升级:

然后只需要使用烧录工具烧录基础版本(1.0.0)的binpkg:

459df806-1c7b-11ee-962d-dac502259ad0.png

等待样例通过URL请求升级包的方式测试FOTA升级,升级成功标志除升级接口正确返回外,还可通过升级前后不同的打印内容来辅助判断是否升级成功。

如下显示说明升级成功:

45cca4f8-1c7b-11ee-962d-dac502259ad0.png

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

后台升级日志的查询结果如下:

469e9ee0-1c7b-11ee-962d-dac502259ad0.png

4

注意事项及技术支持


全量升级操作相对简单,但对文件大小及版本等有一定要求。使用过程中如有疑问,可通过合宙技术服务论坛获得专业解答:

合宙技术服务论坛
chat.openluat.com

46d31b98-1c7b-11ee-962d-dac502259ad0.gif

FULL-OTA注意事项


文件大小:
生成的ap.bin大小不能超过1984KB,生成的升级包不能超过1472KB。

设置要点:
LuaTools需要2.2.0及以上版本;进入选项及工具—SOC差分/整包升级包制作工具,新版固件选择要升级的binpkg,用户标识可以填版本号,也可以不填,看自己的代码对升级版本是否有控制。如果用合宙IOT升级服务,则必须填写版本号!

选好输出路径,点生成,在输出目录下生成相应的xxx.sota文件为升级包,更新后缀为.bin上传至服务器即可升级。

流量消耗:
升级一次流量1MB~1.5MB之间,注意流量消耗。

版本要求:
CSDK的原始版本必须是V0002及以上,V0001升级到V0002也不行,因为涉及到了bootloader修改。

最新资料
通过air780e.cn或文末【阅读原文】链接,获取模组最新开发资料。

感谢新老朋友们的关注与支持
合宙与你共同成长

更多超值新品筹备中

敬请期待

46d31b98-1c7b-11ee-962d-dac502259ad0.gif 

-合宙技术交流QQ群-46fb1bca-1c7b-11ee-962d-dac502259ad0.png
QQ扫码入群:645170956

- 合宙技术交流微信群-

471cf4a2-1c7b-11ee-962d-dac502259ad0.png

加合宙客服报企业名称入群

46d31b98-1c7b-11ee-962d-dac502259ad0.gif


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

    关注

    0

    文章

    148

    浏览量

    2383

原文标题:CSDK开发FOTA难?没有自己的服务器?——合宙云平台FULL-OTA解烦忧

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用RTT的维护进行远程固件升级(OTA),怎么没有网络升级的方式?

    使用RTT的维护进行远程固件升级(OTA),怎么没有网络升级的方式的?只有蓝牙,近距离的固件升级。详细如图所示,只有蓝牙,没有连接互联网,通过固件上传
    发表于 10-13 06:36

    国外最便宜的服务器一年多少钱?

    国外最便宜的服务器一年多少钱受配置、地域、计费模式等多重因素影响。2025年,基础配置的服务器年费最低可控制一般在30-60美元(约
    的头像 发表于 03-10 11:18 939次阅读

    怎么选择合适的境外服务器

    选择合适的境外服务器需围绕业务需求、性能匹配、安全规、成本效益四大核心维度展开,通过精准定位目标用户群体、评估资源需求、平衡安全与成本,实现最优配置。以下UU小编将详细介绍怎么选
    的头像 发表于 02-28 09:54 1100次阅读

    独立服务器服务器哪个快一些?

    独立服务器服务器哪个快一些?在数字服务部署中,独立服务器
    的头像 发表于 02-05 10:08 807次阅读

    服务器防火墙关闭会怎么样?

    服务器防火墙关闭会怎么样?关闭服务器防火墙将增加安全风险,使服务器易受攻击,服务稳定性下降,
    的头像 发表于 01-23 11:30 856次阅读

    多大的服务器算是高防的?

    多大的服务器算是高防的?“多大”的服务器算是高防并没有一个固定的标准,因为这取决于多种因素,如服务器
    的头像 发表于 01-14 09:36 761次阅读

    Flexus 服务器 X 实例实践:安装 Ward 服务器监控工具

    引言 在当今数字化快速发展的时代,企业和开发者对于计算资源的需求日益增长。华为凭借其卓越的技术实力脱颖而出,Flexus 服务器 X
    的头像 发表于 01-13 15:51 824次阅读
    Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例实践:安装 Ward <b class='flag-5'>服务器</b>监控工具

    基于华为 Flexus 服务器 X 实例快速搭建 Halo 博客平台

    如何基于华为 Flexus 服务器 X 实例快速搭建 Halo 博客平台,帮助大家掌握从选购服务器到部署应用的完整流程。 一、Flexu
    的头像 发表于 01-08 11:46 856次阅读
    基于华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例快速搭建 Halo 博客<b class='flag-5'>平台</b>

    华为 Flexus 服务器 X 实例之 openEuler 系统下部署 dufs 文件服务器

    中小企业和开发者的柔性算力服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、
    的头像 发表于 01-08 11:45 916次阅读
    华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例之 openEuler 系统下部署 dufs 文件<b class='flag-5'>服务器</b>

    华为 Flexus 服务器 X 实例的使用教程

    引言 选择一款性价比高、性能强劲的服务器是 IT 技术人员常面临的问题。华为的 Flexus 服务器 X 实例是一个出色的选择,专为中
    的头像 发表于 12-30 09:16 1114次阅读
    华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例的使用教程

    Flexus 服务器 X 实例:在 Docker 环境下搭建 java 开发环境

    开发者精心打造。它以卓越的柔性算力,为我们在 Docker 环境下搭建 java 开发环境提供有力支撑。 一、Flexus 服务器 X 实例介绍 1.1 Flexus
    的头像 发表于 12-30 09:07 887次阅读
    Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例:在 Docker 环境下搭建 java <b class='flag-5'>开发</b>环境

    GPU加速服务器怎么用的

    GPU加速服务器是将GPU硬件与计算服务相结合,通过服务提供商的
    的头像 发表于 12-26 11:58 864次阅读

    基于华为 Flexus 服务器 X 实例部搭建 Halo 博客平台

    前言 在数字化转型的大潮中,华为 Flexus 服务器 X 实例凭借其强劲的性能和高性价比,成为中小企业和开发者理想的选择。本文将详细介绍如何在华为
    的头像 发表于 12-26 09:40 847次阅读
    基于华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例部搭建 Halo 博客<b class='flag-5'>平台</b>

    华为 Flexus 服务器 X 实例的购买及使用体验

    价比服务。其中,华为 Flexus 服务器 X 实例是一款性能强劲的
    的头像 发表于 12-24 17:26 1005次阅读
    华为<b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务器</b> X 实例的购买及使用体验

    GPU服务器租用费用贵吗

    计算领域,GPU服务器因其强大的计算能力和图形处理能力,被广泛应用于多个领域。然而,对于许多企业和个人开发者来说,GPU
    的头像 发表于 12-19 17:55 1126次阅读