跳转至

作者:蒋骞 | 最后修改:2026-04-03

一、FOTA 概述

FOTA 即远程升级功能,此功能可以让客户在不方便大量线刷升级(设备不在身边/量产 PCB 没引出 USB/需要大批量进行功能升级)的情况下,快速进行 AT 固件的远程更新。

Air700ECT/Air780EHT/Air780EVT/Air780EGT/Air780EPT AT 固件支持合宙 iot 平台升级和自建第三方服务器(HTTP)升级

二、演示功能概述

本文将详细讲述如何进行 AT 固件的远程升级。

三、准备硬件环境

在介绍本功能示例之前,我们首先需要确保以下硬件环境的准备工作已经完成。

本文章使用 Air780EVT 核心板做演示;

TYPE-C USB 数据线一根 ,TYPE-C USB 数据线直接插到核心板的 TYPE-C USB 座子,另外一端连接电脑 USB 口;

购买连接:Air780EVT 核心板

四、FOTA 软硬件参考

本文主要使用 CPNETAPN 应用相关指令 AT命令手册

五、准备软件环境

在开始实践本示例之前,先筹备一下软件环境:

1. Luatools工具

2. LLCOM 串口通信工具

3. 本教程示范的是从AT固件版本AirM2M_780EVT_V2020_LTE_AT升级到AirM2M_780EVT_V2022_LTE_AT固件下载地址检查确认是否是最新版本。

六、AT 版本远程升级概述

AT 版本的远程升级主要是对 AT 固件文件进行的版本升级,升级方式有多种,可以通过合宙官方 iot 平台升级,同样也可以使用自己的服务器来搭建升级服务。

6.1 合宙 IOT 平台升级及其配置

6.1.1 合宙 IOT 平台配置,点此登录,查询模块是否在自己账号下。 客户向合宙采购 4G 模块时,如果采购人员没有告知合宙这批模块放在 iot.openluat.com 上的哪个产品下,则合宙会以采购人的手机号为账号,默认密码 888888创建一个“Air7XXF标准模块”的项目,此次采购的所有模块都会放在这个项目下。 (注:模组型号与项目对应关系如下:

第三代AT型号:Fota项目名称为“Air7XXF标准模块”,对应的型号有:780EHT/EGT/EPT/EVT,700ECT,700EAQ/ECQ/EMQ,780EQ/ER,780EP,780EEA/EEJ/EEN/EEU,700ET2/780ET2,780EG2等系列AT模组

第二代AT型号:Fota项目名称为“Air7XXE标准模块”,对应的型号有:780E等系列AT模组

第一代AT型号:Fota项目名称为“Air72XUX标准模块”,对应的型号有:724,722,795,820等系列AT模组)

例如,本文以Air780EVT为例,想要使用合宙的 IOT 平台进行远程升级,则创建的项目名必须叫"Air7XXF标准模块",需要升级的文件也要上传到该项目名下

6.1.2 配置流程 下载最新固件,AT 固件版本获取,固件下载到本地,解压后,将 dfota.bin 文件上传 dfota。如下示例所示

新建固件,上传固件,找到对应项目,点击固件列表。

点击创建固件,上传对应 bin 文件。

上传文件后会自动生成固件名称,不需要修改。

如果配置时,是否全项目升级选的“是”,无需配置 imei,按照上述内容配置即可。

如果配置时,是否全项目升级选的“否”,还需添加模块 imei,如下图所示:

6.2 触发升级方式

触发升级有两种方式,自动触发和手动触发。

6.2.1 手动触发升级

手动触发为模块发送指定 AT 指令触发升级。

如下是模块从 V1007升级到 V1010 的流程。

完整交互流程如下

2026-03-11 18:42:49.878 +08:00 [INF] ->^boot.rom'v'!\n
2026-03-11 18:42:49.878 +08:00 [DBG] [HEX]5E 62 6F 6F 74 2E 72 6F 6D 01 27 76 00 00 03 03 27 21 5C 6E
2026-03-11 18:42:50.611 +08:00 [INF] ->
RDY

2026-03-11 18:42:50.611 +08:00 [DBG] [HEX]0D 0A 52 44 59 0D 0A
2026-03-11 18:42:52.727 +08:00 [INF] ->
^MODE: 17,17

+E_UTRAN Service

+CGEV: ME PDN ACT 1

2026-03-11 18:42:52.727 +08:00 [DBG] [HEX]0D 0A 5E 4D 4F 44 45 3A 20 31 37 2C 31 37 0D 0A 0D 0A 2B 45 5F 55 54 52 41 4E 20 53 65 72 76 69 63 65 0D 0A 0D 0A 2B 43 47 45 56 3A 20 4D 45 20 50 44 4E 20 41 43 54 20 31 0D 0A
2026-03-11 18:42:52.875 +08:00 [INF] ->
+NITZ: 26/03/11,10:42:53+32,0

2026-03-11 18:42:52.875 +08:00 [DBG] [HEX]0D 0A 2B 4E 49 54 5A 3A 20 32 36 2F 30 33 2F 31 31 2C 31 30 3A 34 32 3A 35 33 2B 33 32 2C 30 0D 0A
2026-03-11 18:42:54.676 +08:00 [INF] <-AT*I

2026-03-11 18:42:54.676 +08:00 [DBG] [HEX]41 54 2A 49 0D 0A
2026-03-11 18:42:54.821 +08:00 [INF] ->AT*I

Manufacturer: AirM2M
Model: Air780EVT
Revision: AirM2M_780EVT_V2020_LTE_AT
HWver: A10
Buildtime: Dec 19 2025 19:22:36
IMEI: 867920078398063
ICCID: 89860855102480517841
IMSI: 460240452237841

OK

2026-03-11 18:42:54.821 +08:00 [DBG] [HEX]41 54 2A 49 0D 0A 0D 0A 4D 61 6E 75 66 61 63 74 75 72 65 72 3A 20 41 69 72 4D 32 4D 0A 4D 6F 64 65 6C 3A 20 41 69 72 37 38 30 45 56 54 0A 52 65 76 69 73 69 6F 6E 3A 20 41 69 72 4D 32 4D 5F 37 38 30 45 56 54 5F 56 32 30 32 30 5F 4C 54 45 5F 41 54 0A 48 57 76 65 72 3A 20 41 31 30 0A 42 75 69 6C 64 74 69 6D 65 3A 20 44 65 63 20 31 39 20 32 30 32 35 20 31 39 3A 32 32 3A 33 36 0A 49 4D 45 49 3A 20 38 36 37 39 32 30 30 37 38 33 39 38 30 36 33 0A 49 43 43 49 44 3A 20 38 39 38 36 30 38 35 35 31 30 32 34 38 30 35 31 37 38 34 31 0A 49 4D 53 49 3A 20 34 36 30 32 34 30 34 35 32 32 33 37 38 34 31 0D 0A 0D 0A 4F 4B 0D 0A
2026-03-11 18:43:00.829 +08:00 [INF] <-AT+CPIN?

2026-03-11 18:43:00.829 +08:00 [DBG] [HEX]41 54 2B 43 50 49 4E 3F 0D 0A
2026-03-11 18:43:00.946 +08:00 [INF] ->AT+CPIN?

+CPIN: READY

OK

2026-03-11 18:43:00.946 +08:00 [DBG] [HEX]41 54 2B 43 50 49 4E 3F 0D 0A 0D 0A 2B 43 50 49 4E 3A 20 52 45 41 44 59 0D 0A 0D 0A 4F 4B 0D 0A
2026-03-11 18:43:05.814 +08:00 [INF] <-AT+CGATT?

2026-03-11 18:43:05.814 +08:00 [DBG] [HEX]41 54 2B 43 47 41 54 54 3F 0D 0A
2026-03-11 18:43:05.923 +08:00 [INF] ->AT+CGATT?

+CGATT: 1

OK

2026-03-11 18:43:05.923 +08:00 [DBG] [HEX]41 54 2B 43 47 41 54 54 3F 0D 0A 0D 0A 2B 43 47 41 54 54 3A 20 31 0D 0A 0D 0A 4F 4B 0D 0A
2026-03-11 18:43:08.645 +08:00 [INF] <-AT+CSQ

2026-03-11 18:43:08.645 +08:00 [DBG] [HEX]41 54 2B 43 53 51 0D 0A
2026-03-11 18:43:08.753 +08:00 [INF] ->AT+CSQ

+CSQ: 26,0

OK

2026-03-11 18:43:08.753 +08:00 [DBG] [HEX]41 54 2B 43 53 51 0D 0A 0D 0A 2B 43 53 51 3A 20 32 36 2C 30 0D 0A 0D 0A 4F 4B 0D 0A
2026-03-11 18:43:19.074 +08:00 [INF] <-AT+UPGRADE

2026-03-11 18:43:19.074 +08:00 [DBG] [HEX]41 54 2B 55 50 47 52 41 44 45 0D 0A
2026-03-11 18:43:19.206 +08:00 [INF] ->AT+UPGRADE

OK

2026-03-11 18:43:19.206 +08:00 [DBG] [HEX]41 54 2B 55 50 47 52 41 44 45 0D 0A 0D 0A 4F 4B 0D 0A
2026-03-11 18:43:28.252 +08:00 [INF] ->+UPGRADEIND: 10

2026-03-11 18:43:28.252 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 31 30 0D 0A
2026-03-11 18:43:28.625 +08:00 [INF] ->+UPGRADEIND: 20

2026-03-11 18:43:28.625 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 32 30 0D 0A
2026-03-11 18:43:29.040 +08:00 [INF] ->+UPGRADEIND: 30

2026-03-11 18:43:29.040 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 33 30 0D 0A
2026-03-11 18:43:29.714 +08:00 [INF] ->+UPGRADEIND: 40

2026-03-11 18:43:29.714 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 34 30 0D 0A
2026-03-11 18:43:30.351 +08:00 [INF] ->+UPGRADEIND: 50

2026-03-11 18:43:30.351 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 35 30 0D 0A
2026-03-11 18:43:31.111 +08:00 [INF] ->+UPGRADEIND: 60

2026-03-11 18:43:31.111 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 36 30 0D 0A
2026-03-11 18:43:31.737 +08:00 [INF] ->+UPGRADEIND: 70

2026-03-11 18:43:31.737 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 37 30 0D 0A
2026-03-11 18:43:32.271 +08:00 [INF] ->+UPGRADEIND: 80

2026-03-11 18:43:32.271 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 38 30 0D 0A
2026-03-11 18:43:32.690 +08:00 [INF] ->+UPGRADEIND: 90

2026-03-11 18:43:32.690 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 39 30 0D 0A
2026-03-11 18:43:33.015 +08:00 [INF] ->+UPGRADEIND: 100

2026-03-11 18:43:33.015 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 49 4E 44 3A 20 31 30 30 0D 0A
2026-03-11 18:43:34.542 +08:00 [INF] ->^boot.rom'v'!\n
2026-03-11 18:43:34.542 +08:00 [DBG] [HEX]5E 62 6F 6F 74 2E 72 6F 6D 01 27 76 00 00 03 03 27 21 5C 6E
2026-03-11 18:43:34.792 +08:00 [INF] ->+QIND: "FOTA","START"
+QIND: "FOTA","UPDATING",0

2026-03-11 18:43:34.792 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 53 54 41 52 54 22 0D 0A 2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 30 0D 0A
2026-03-11 18:43:37.744 +08:00 [INF] ->+QIND: "FOTA","UPDATING",4

2026-03-11 18:43:37.744 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 34 0D 0A
2026-03-11 18:43:38.948 +08:00 [INF] ->+QIND: "FOTA","UPDATING",8

2026-03-11 18:43:38.948 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 38 0D 0A
2026-03-11 18:43:40.890 +08:00 [INF] ->+QIND: "FOTA","UPDATING",12

2026-03-11 18:43:40.890 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 31 32 0D 0A
2026-03-11 18:43:42.956 +08:00 [INF] ->+QIND: "FOTA","UPDATING",17

2026-03-11 18:43:42.956 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 31 37 0D 0A
2026-03-11 18:43:45.005 +08:00 [INF] ->+QIND: "FOTA","UPDATING",21

2026-03-11 18:43:45.005 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 32 31 0D 0A
2026-03-11 18:43:47.111 +08:00 [INF] ->+QIND: "FOTA","UPDATING",25

2026-03-11 18:43:47.111 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 32 35 0D 0A
2026-03-11 18:43:49.208 +08:00 [INF] ->+QIND: "FOTA","UPDATING",29

2026-03-11 18:43:49.208 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 32 39 0D 0A
2026-03-11 18:43:51.301 +08:00 [INF] ->+QIND: "FOTA","UPDATING",34

2026-03-11 18:43:51.301 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 33 34 0D 0A
2026-03-11 18:43:53.318 +08:00 [INF] ->+QIND: "FOTA","UPDATING",38

2026-03-11 18:43:53.318 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 33 38 0D 0A
2026-03-11 18:43:55.413 +08:00 [INF] ->+QIND: "FOTA","UPDATING",42

2026-03-11 18:43:55.413 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 34 32 0D 0A
2026-03-11 18:43:57.525 +08:00 [INF] ->+QIND: "FOTA","UPDATING",46

2026-03-11 18:43:57.525 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 34 36 0D 0A
2026-03-11 18:43:59.597 +08:00 [INF] ->+QIND: "FOTA","UPDATING",51

2026-03-11 18:43:59.597 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 35 31 0D 0A
2026-03-11 18:44:01.655 +08:00 [INF] ->+QIND: "FOTA","UPDATING",55

2026-03-11 18:44:01.655 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 35 35 0D 0A
2026-03-11 18:44:03.636 +08:00 [INF] ->+QIND: "FOTA","UPDATING",59

2026-03-11 18:44:03.636 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 35 39 0D 0A
2026-03-11 18:44:05.617 +08:00 [INF] ->+QIND: "FOTA","UPDATING",63

2026-03-11 18:44:05.617 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 36 33 0D 0A
2026-03-11 18:44:07.586 +08:00 [INF] ->+QIND: "FOTA","UPDATING",68

2026-03-11 18:44:07.586 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 36 38 0D 0A
2026-03-11 18:44:09.538 +08:00 [INF] ->+QIND: "FOTA","UPDATING",72

2026-03-11 18:44:09.538 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 37 32 0D 0A
2026-03-11 18:44:11.557 +08:00 [INF] ->+QIND: "FOTA","UPDATING",76

2026-03-11 18:44:11.557 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 37 36 0D 0A
2026-03-11 18:44:13.542 +08:00 [INF] ->+QIND: "FOTA","UPDATING",80

2026-03-11 18:44:13.542 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 38 30 0D 0A
2026-03-11 18:44:16.021 +08:00 [INF] ->+QIND: "FOTA","UPDATING",85

2026-03-11 18:44:16.021 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 38 35 0D 0A
2026-03-11 18:44:17.158 +08:00 [INF] ->+QIND: "FOTA","UPDATING",87

2026-03-11 18:44:17.158 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 38 37 0D 0A
2026-03-11 18:44:19.350 +08:00 [INF] ->+QIND: "FOTA","UPDATING",91

2026-03-11 18:44:19.350 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 39 31 0D 0A
2026-03-11 18:44:20.835 +08:00 [INF] ->+QIND: "FOTA","UPDATING",95

2026-03-11 18:44:20.836 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 39 35 0D 0A
2026-03-11 18:44:24.895 +08:00 [INF] ->+QIND: "FOTA","UPDATING",100

2026-03-11 18:44:24.895 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 55 50 44 41 54 49 4E 47 22 2C 31 30 30 0D 0A
2026-03-11 18:44:26.410 +08:00 [INF] ->+QIND: "FOTA","END",0

2026-03-11 18:44:26.410 +08:00 [DBG] [HEX]2B 51 49 4E 44 3A 20 22 46 4F 54 41 22 2C 22 45 4E 44 22 2C 30 0D 0A
2026-03-11 18:44:27.900 +08:00 [INF] ->
RDY

2026-03-11 18:44:27.900 +08:00 [DBG] [HEX]0D 0A 52 44 59 0D 0A
2026-03-11 18:44:28.277 +08:00 [INF] ->+UPGRADEVER: "AirM2M_780EVT_V2022_LTE_AT"
+UPGRADEVER: 1

2026-03-11 18:44:28.277 +08:00 [DBG] [HEX]2B 55 50 47 52 41 44 45 56 45 52 3A 20 22 41 69 72 4D 32 4D 5F 37 38 30 45 56 54 5F 56 32 30 32 32 5F 4C 54 45 5F 41 54 22 0D 0A 2B 55 50 47 52 41 44 45 56 45 52 3A 20 31 0D 0A
2026-03-11 18:44:33.022 +08:00 [INF] ->
^MODE: 17,17

+E_UTRAN Service

+CGEV: ME PDN ACT 1

+NITZ: 26/03/11,10:44:33+32,0

2026-03-11 18:44:33.022 +08:00 [DBG] [HEX]0D 0A 5E 4D 4F 44 45 3A 20 31 37 2C 31 37 0D 0A 0D 0A 2B 45 5F 55 54 52 41 4E 20 53 65 72 76 69 63 65 0D 0A 0D 0A 2B 43 47 45 56 3A 20 4D 45 20 50 44 4E 20 41 43 54 20 31 0D 0A 0D 0A 2B 4E 49 54 5A 3A 20 32 36 2F 30 33 2F 31 31 2C 31 30 3A 34 34 3A 33 33 2B 33 32 2C 30 0D 0A
2026-03-11 18:44:36.648 +08:00 [INF] <-AT*I

2026-03-11 18:44:36.648 +08:00 [DBG] [HEX]41 54 2A 49 0D 0A
2026-03-11 18:44:36.788 +08:00 [INF] ->AT*I

Manufacturer: AirM2M
Model: Air780EVT
Revision: AirM2M_780EVT_V2022_LTE_AT
HWver: A10
Buildtime: Jan 19 2026 18:38:03
IMEI: 867920078398063
ICCID: 89860855102480517841
IMSI: 460240452237841

OK

2026-03-11 18:44:36.788 +08:00 [DBG] [HEX]41 54 2A 49 0D 0A 0D 0A 4D 61 6E 75 66 61 63 74 75 72 65 72 3A 20 41 69 72 4D 32 4D 0A 4D 6F 64 65 6C 3A 20 41 69 72 37 38 30 45 56 54 0A 52 65 76 69 73 69 6F 6E 3A 20 41 69 72 4D 32 4D 5F 37 38 30 45 56 54 5F 56 32 30 32 32 5F 4C 54 45 5F 41 54 0A 48 57 76 65 72 3A 20 41 31 30 0A 42 75 69 6C 64 74 69 6D 65 3A 20 4A 61 6E 20 31 39 20 32 30 32 36 20 31 38 3A 33 38 3A 30 33 0A 49 4D 45 49 3A 20 38 36 37 39 32 30 30 37 38 33 39 38 30 36 33 0A 49 43 43 49 44 3A 20 38 39 38 36 30 38 35 35 31 30 32 34 38 30 35 31 37 38 34 31 0A 49 4D 53 49 3A 20 34 36 30 32 34 30 34 35 32 32 33 37 38 34 31 0D 0A 0D 0A 4F 4B 0D 0A

6.2.2 自动升级(默认 24 小时以内自动触发)

自动升级是模块定期向后台发送升级请求,来获取新固件进行更新的,大致流程如下:

可以通过 AT+UPGRADE="PERIOD",60 设置自动升级时间,这里设置为 60S 来作为演示:

因为升级过程和上文手动触发一样,所以不在这里单独列出来了

注意: A.客户可以通过 IOT 平台查看升级成功数量,失败日志等信息 B.升级过程中若模块断电、重启导致升级失败,可重新升级 C.模块手动触发升级时,若频繁从同一个版本请求(目前默认一小时内 6 次,24 小时内 10 次),IOT 平台设备状态会自动更改为禁止升级,需要在平台设备列表手动解除 D.升级时间根据差分包的大小不同,升级时间会不同。跨越的版本越大,差分包越大,升级所需的时间越长。

七、自定义服务器升级指南

使用自己的服务器来升级模块和使用 iot 平台升级最重要的区别是下载固件的来源不同。

7.1 差分包的生成

  • 其实 FOTA 的过程是新老版本生成差分包再进行升级的过程,那么这个差分的过程在哪里呢?使用合宙 iot 平台升级,差分的过程在 iot 服务器后台,那使用自己的服务器该怎么办呢?答案当然是自己来完成差分的过程,放在服务器等待模块来下载。
  • 手动生成差分包的过程使用 doc 平台工具中的差分工具 差分工具

由于本文示例中使用的是 1007 版本的 AT 固件,所以我们在这里找的旧版本固件 bin 文件即是 1007 版本的 bin 文件,用户需要看清楚手上模块当前的版本,然后点击这里找到对应固件的压缩包文件,解压后找到对应 bin 文件

  • 本次我们从 780EVT_V2020升级到 780EVT_V2022需要准备各自的 bin 远程升级文件,上传完成后等待差分完成,
  • 方法一:右击差分页面的蓝色文字“成功!点击下载文件”,复制链接
  • 方法二:点击差分页面的蓝色文字“成功!点击下载文件”,下载得到的差分文件,放到自己的服务器上,只要是能直连下载的 URL 均可

7.2 差分包的放置

  • 然后通过 AT+UPGRADE="URL",""指令设置对应的 URL 链接。

此处我采用方法一,直接复制链接,然后通过 AT+UPGRADE="URL",""指令设置对应的 URL 链接进行FOTA。

7.3 升级全过程 升级流程如下,可以上报模块的升级过程:

恭喜你成功从 780EVT_V2020 版本通过 FOTA 服务的方式升级到了更新的 780EVT_V2022 版本!

八、常见问题

8.1 at 版本自动远程升级,默认 24 小时检测一轮,在一轮检测时,如果链接服务器失败,在应用层有重试机制吗?如果有的话,多久再重连一次?

有重连机制,间隔一分钟,最多尝试 5 次。

8.2 错误码有哪些,都是什么意思?

如果升级失败,可以通过 AT+UPGRADE?查看错误原因

也可以通过 IOT 平台查询升级日志来确认错误原因

也可以点击这里查看具体失败的原因和解决方法