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

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

3天内不再提示

你也觉得FOTA升级难吗?这份详细教程让你自信升级!

合宙LuatOS 2024-08-07 12:42 次阅读

前言:

我经常在各个讨论群里看到有合宙Air780EP的用户说:

FOTA远程升级有点难呀~一步错后面就得重新来了,有没有大佬给个教程啊?

用户提需求了,那我们肯定要满足啊,就连夜赶了一篇

在整理这篇文章之前,是没有觉得这个FOTA远程升级有多复杂的,写完回头一看,好家伙,这么多步骤啊!

本篇保姆级教程,手把手教你FOTA远程升级,小白秒变专家!

合宙支持LuatOS功能的模组型号,除本文介绍的Air780EP外, 还有Air780EPA、Air780E、Air780EX、Air201、Air780EPT、Air780EPS等型号, 本文介绍的FOTA应用流程,同样也适用于这些型号。

一. 概述

合宙Air780EP具有高度集成、低功耗、强大的开发支持的特点,提供了丰富的接口,支持多种外设连接,支持标准AT指令和LuatOS开发。

Air780EP开发板适用于多种物联网应用场景,比如智能家居智能城市、工业控制、远程监控等。

在开始之前,我们先学习一下FOTA升级的背景知识:

远程升级是物联网中比较常用的功能,本文介绍如何使用Air780EP开发板进行远程升级

LuatOS-Air开发模式下,固件分为两部分:core和script

(core为底层固件,script为脚本文件)

远程升级时:可以仅升级script;可以仅升级core;也可以同时升级core+script

我详细介绍了两种方式的升级教程:一个是合宙iot平台升级教程,另一个是自建第三方服务器升级教程。

根据你的需求,选择哪一种都可以。

二. 材料准备

我们升级前需要的工具准备有这些:

780EP开发板一套,包括天线SIM卡,USB线

PC电脑,以及登录官方IOT后台 https://iot.openluat.com/

固件和DEMO下载地址 LuatOS软件包

wKgaomad_iCAGM1mACObj6OhrXM912.png

三. 合宙iot平台升级core+script过程

1. iot平台创建产品

登录合宙iot平台

如果没有账户,注册一个账户

打开:我的项目->新建项目

wKgZomay8BeATgGBAAELnru8iLo169.png

复制PRODUCT_KEY

wKgZomay8C6AYhmZAACUhCZpKBQ940.png

2. 模块端脚本修改,生成升级包

core旧版本core新版本core
例子LuatOS-SoC_V1001_EC718P.socLuatOS-SoC_V1001_EC718P.soc
要求1、大于等于旧版本core版本号2、新旧版本core支持的功能相同
script
main.lua
旧版本
(模块端本地烧录的)
新版本
(生成的量产文件,远程升级包)
要求
PROJECT
(项目名称)
fotademofotademo新旧版本保持一致
VERSION
(软件版本号)
1.0.01.0.1大于等于旧版本VERSION
PRODUCT_KEY
(项目密钥)
Vn7jF7r23yswjfwMa7ZuMsdnuuUC9wC3Vn7jF7r23yswjfwMa7ZuMsdnuuUC9wC3和iot平台创建的产品
ProductKey保持一致

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

如下图所示,PROJECT和PRODUCT_KEY保持不变,PRODUCT_KEY需和服务器保持一致,VERSION修改为1.0.1

注意事项:

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

2. 若fota使用合宙iot平台, 版本号中的 y 会被忽略, 推荐写0, 务必留意

wKgaomay8HGAOcvnAAD7Afdji0k433.png

4. 使用Luatools生成bin文件差分包

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

只升级脚本,差分包制作流程如下:

固件和DEMO下载地址 LuatOS软件包,这里下载的是LuatOS-SoC@EC718P V1001下面的core_V1001.zip软件包。下载对应软件包后按如下步骤生成对应的差分包。

wKgZomay8IqANT-CAAJnWYzk4rw299.png

在Luatools目录下的SOC量产及远程升级文件下,找到EC718P文件夹,打开后缀名为.bin的文件fotademo_1001.1.1_LuatOS-SoC_EC718P.bin,这个就是文件差分包。

wKgaomay8JuAdX-EAABhdcbwu44060.png

需要升级底层CORE,差分包制作流程如下:

生成新版本的量产固件,如下所示

根据新旧固件生成对应差分文件,如下所示

a. 点击选项及工具选项,选择升级包制作工具

wKgZomay8M2AGGqwAADyPSE4eo0758.png

b. 选择对应文件,点击开始执行生成对应差分文件

wKgaomay8XSAEqRqAABqYGfPGtM613.png

c. 生成的差分文件

wKgZomay8RaAcwDdAAA0UpUPKKc606.png

5. 在合宙iot平台配置升级包

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

wKgaomay8OeAJLZIAACRADThGNA273.png

选择新固件升级文件

wKgZomay9aOAOYgUAACm1eOybrw916.png

如果升级全部设备勾选的是否,则需要添加需要升级的模块imei

wKgaomay9buAWTboAACoINRsEQ4183.png

6. 模块开机,完成升级

烧录旧版本的模块开机后,连接升级服务器,下载差分升级包,自动重启,重启过程中完成固件升级,整个过程的关键日志如下图所示

wKgaomay9ciABMDtAANMuo1muBo373.png

7. 云平台查看升级日志

登录云平台,选择对应设备升级的产品->固件升级->升级日志->输入对应的imei并选择日期->搜索

可以看到设备在此日期下的空中升级日志。正常升级成功的情况下,短时间内会有两次升级请求,第一次请求升级获取到升级包之后,设备重启升级成功会再次向云平台请求是否有更高版本的固件可以升级。直到升级结果为 “已是最新版本” 服务器没有更高版本的固件为止。

如果你的存在设备升级失败等情况,可以对照以下表格寻求解决方案:

响应码响应信息问题以及解决办法云平台日志结果
3无效的设备检查请求键名(imei小写)正确性
17无权限设备会上报imei、固件名、项目key。 服务器会以此查出设备、固件、项目三 条记录, 如果 这三者不在同一个用户名下,就会认为无权限。 设备不在项目key对应的账户下, 可寻找合宙技术支持查询该设备在哪个账户下, 核实情况后可修改设备归属无权限
2121不允许从1.0.2升到1.0.321
25无效的项目productkey不一致,检查是否存在拼写错误, 检查模块是否在本人账户下,若不在本人账户下,请联系合宙工作人员处理未找到项目
26无效的固件固件名称错误,项目中没有对应的固件。用户自己修改了固件名称,可对照升级日志中设备当前固件名与升级配置中固件名是否相同(固件名称,固件功能要完全一致,只是版本号不同)。找不到固件
27已是最新版本1、设备固件版本高于云平台 2、固件版本设备脚本版本高于云平台版本 3、用户项目升级配置中未添加该设备 4、云平台升级配置中,是否升级配置为否已是最新版本 设备不在配置的升级设备列表中
40循环升级云平台进入设备列表搜索被禁止的imei,解除禁止升级就好了。 云平台防止模块在升级失败后,反复请求升级导致流量耗尽, 在模块一天请求升级六次后会禁止模块升级。可在平台解除。检测到循环升级 (已禁止升级,请到设备列表解除)
43请等待云平台生成差分升级包需要等待, 一到三分钟后云平台生成完成差分包便可以请求成功。正在生成版本,请等待
44基础版本缺失平台未收录设备固件(多为定制固件, 可寻找合宙技术支持人员添加,需提供定制固件邮件)基础CORE版本缺失

四. 自建第三方服务器升级过程

使用自建第三方服务器升级

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

手动生成core差分包+script全量包。例如core版本有1001、1002、1003,现在要统一升级到1004,则需要按照如下步骤操作:

手动生成:从1001到1004的core差分包+script全量包、从1002到1004的core差分包+script全量包、从1003到1004的core差分包+script全量包

模块请求升级时,服务器根据模块中的core版本返回对应的升级包文件

手动生成差分包的过程如下:用合宙提供的luatools中的soc差分工具生成差分包

wKgZomay9fiAZFc-AABRUJCacBM850.png

wKgaomay9g-ARUrlAAA8Rcn6sgY302.png

操作步骤

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

此文件指的是模块中旧版本core中的.soc文件(从合宙官方渠道下载),例如以LuatOS-SoC_V1001_EC718P.soc为例

wKgaomay9huAPUz_AABLPoeb4dU977.png

2. 使用Luatools分别生成新旧版本的升级包

如下图所示

wKgZomay9jSAM-kKAADucIFeFBs589.png

在Luatools目录下SOC量产及远程升级文件下的EC718P下,生成了一个后缀名为.soc的文件fotademo_1.0.1_LuatOS-SoC_V1002_EC718P.soc,这个就是新版本的升级包

wKgZomay9j6AFu7BAABKTRtLMHY631.png

3. 生成差分包

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

wKgaomay8XSAEqRqAABqYGfPGtM613.png

生成对应差分包如下图所示:

注意:差分包不能超过480k

wKgZomay9lSARrsQAAApwzi5yKY650.png

4. 差分包上传到自建服务器

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

启动远程升级功能,demo\fota2\main.lua文件做如下修改,打开使用自建服务器进行升级部分代码,填写对应的url

wKgZomay9mOABRJ1AAEWdbVJZQs317.png

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

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

总结:

当你看到这里,是不是已经感到安心和踏实一些了,是的,你已经掌握了FOTA远程升级的方法了。每一个步骤都被细细拆解,确保即便是技术小白也能轻松上手。

你在FOTA远程升级的时候,有没有遇到过什么问题?评论区一起来讨论吧~


合宙支持LuatOS功能的模组型号,除本文介绍的Air780EP外, 还有Air780EPA、Air780E、Air780EX、Air201、Air780EPT、Air780EPS等型号, 本文介绍的FOTA应用流程,同样也适用于这些型号。

如有需要,请点击 www.openluat.com 获取联系方式

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

    关注

    5051

    文章

    18879

    浏览量

    300319
  • 物联网
    +关注

    关注

    2898

    文章

    43713

    浏览量

    368636
  • 硬件
    +关注

    关注

    11

    文章

    3150

    浏览量

    65983
收藏 人收藏

    评论

    相关推荐

    Air780EP低功耗4G模组—AT开发FOTA远程升级

    特别推出 基于Air780EP模组AT开发的FOTA远程升级指南 ——AT版本的远程升级主要是对AT固件版本进行升级,实际方式为通过合宙官方IoT平台
    的头像 发表于 10-07 20:36 126次阅读
    Air780EP低功耗4G模组—AT开发<b class='flag-5'>FOTA</b>远程<b class='flag-5'>升级</b>

    物联网中的Fota是什么,如何使用HTTP来给设备升级

    一 概述 FOTA(Firmware Over-The-Air)移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备提供固件升级服务。在物联网通讯模块领域,
    的头像 发表于 09-25 14:35 114次阅读
    物联网中的<b class='flag-5'>Fota</b>是什么,如何使用HTTP来给设备<b class='flag-5'>升级</b>

    智能升级,楼宇自控系统办公更高效

    智能升级,楼宇自控系统办公更高效 在快节奏的现代都市生活中,办公效率成为了企业竞争力的关键因素之一。随着科技的飞速发展,楼宇自控系统作为智能建筑的核心技术,正逐步渗透到我们的办公环境中,以其独特
    的头像 发表于 09-19 14:12 161次阅读

    合宙Air201资产定位模组LuatOS基础课程:FOTA远程升级,一键搞定!

    ​ ** 是不是经常有这样的苦恼:** 做项目一时爽,遇到升级实在头大! 如果也有这种困惑,可以多了解了解合宙的开发工具,简单实用又高效,甚至只需点点鼠标! 本期,我们来学习合宙Air201
    的头像 发表于 09-18 18:07 274次阅读
    合宙Air201资产定位模组LuatOS基础课程:<b class='flag-5'>FOTA</b>远程<b class='flag-5'>升级</b>,一键搞定!

    Air780EP模块AT开发FOTA远程升级指南

    Air780EP模块AT开发FOTA远程升级指南简介AT版本的远程升级主要是对AT固件进行升级,实际方式为通过合宙官方IOT平台升级或者使用
    的头像 发表于 07-19 15:16 557次阅读
    Air780EP模块AT开发<b class='flag-5'>FOTA</b>远程<b class='flag-5'>升级</b>指南

    适用于618/7xx芯片平台 AT开发 远程FOTA升级指南教程

    简介AT版本的远程升级主要是对AT固件版本进行升级,实际方式为通过合宙官方IOT平台升级或者使用自己搭建的服务器进行升级服务。该文档教程流程适用于618/716S/718P芯片平台的C
    的头像 发表于 07-18 11:33 361次阅读
    适用于618/7xx芯片平台 AT开发 远程<b class='flag-5'>FOTA</b><b class='flag-5'>升级</b>指南教程

    ESP8266_RTOS在线升级FOTA CRC遇到的疑问求解

    背景:用ESP8266模组,云端自己搭建(参考Upgrade.c文件)。 问题: 1. 做FOTA时,从Server端下载文件成功,但调用upgrade_crc_check函数时,计算出来
    发表于 07-15 06:25

    ESP8266 OTA升级不成功的原因?

    我正在使用最新的 RTOS SDK 版本 1.5 ESP8266。我使用自定义服务器进行OTA升级。 有时 OTA 升级成功,有时即使闪烁了正确的图像,OTA 升级不成功。 我看到图
    发表于 07-10 06:14

    PLC的升级方式有哪些

    随着工业自动化技术的飞速发展,可编程逻辑控制器(PLC)作为工业控制系统的核心部件,其性能与功能需求在不断提升。为了满足生产线的更新需求、提高系统可靠性和安全性,PLC的升级变得尤为重要。本文将详细介绍PLC的
    的头像 发表于 06-12 11:18 536次阅读

    求助,关于cubemx升级和Pack升级问题求解

    。 我不明白的是,为啥V1.8.0好好的创建了F446的工程,CubeMX一升级,原来装的pack没动,就不能用了呢?关键是这个V1.9.0的pack有291MB大小啊!大家都是怎么解决这个问题的啊?
    发表于 05-11 08:02

    深入解读OTA,了解两大子系统FOTA与SOTA的升级优势

    。本篇文章英利检测将对OTA的两种子类型技术FOTA、SOTA进行相关概念解读解读FOTAFOTA(FirmwareOver-The-Air),也就是固件在线升级。以
    的头像 发表于 12-14 16:08 834次阅读
    深入解读OTA,了解两大子系统<b class='flag-5'>FOTA</b>与SOTA的<b class='flag-5'>升级</b>优势

    PEAK版本升级,看看有没有关注的新功能?

    近期PEAK进行了重要的版本升级,这次升级带来了许多令人兴奋的功能优化,助力您的工作流程更加便捷高效。为了帮助用户更好地了解PEAK新版本,我们提供了详细的说明和指导,快来看看有没有
    的头像 发表于 12-14 08:04 531次阅读
    PEAK版本<b class='flag-5'>升级</b>,看看有没有<b class='flag-5'>你</b>关注的新功能?

    虹科分享 | PEAK版本升级,看看有没有关注的新功能?

    号外号外!近期PEAK进行了重要的版本升级,这次升级带来了许多令人兴奋的功能优化,助力您的工作流程更加便捷高效。为了帮助您更好地了解PEAK新版本,我们提供了详细的说明和指导,快来看看有没有
    的头像 发表于 11-20 10:58 979次阅读
    虹科分享 | PEAK版本<b class='flag-5'>升级</b>,看看有没有<b class='flag-5'>你</b>关注的新功能?

    仪器/软件升级全攻略——KeysightCare升级加速

    多长时间? 升级注意事项是什么? 现在将一一揭晓。 首先,绘制的这个框架图,更加清晰了解您需要的升级属于哪个范畴? 升级类型有很多,对于
    的头像 发表于 11-15 07:40 980次阅读
    仪器/软件<b class='flag-5'>升级</b>全攻略——KeysightCare<b class='flag-5'>让</b><b class='flag-5'>升级</b>加速

    想在STM32 MCU上部署机器学习模型?这份入门教程,一学就会~

    想在STM32 MCU上部署机器学习模型?这份入门教程,一学就会~
    的头像 发表于 10-18 17:45 4135次阅读
    想在STM32 MCU上部署机器学习模型?<b class='flag-5'>这份</b>入门教程,<b class='flag-5'>让</b><b class='flag-5'>你</b>一学就会~