From ffbb06d56a005a9cd2a2f68addcad4d6d26fb9f5 Mon Sep 17 00:00:00 2001 From: "forrest.liu" Date: Mon, 4 Sep 2023 20:57:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?docs=20(firmware-ota.md):=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=9B=BA=E4=BB=B6OTA=E5=8D=87=E7=BA=A7=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=8C=87=E5=AF=BC=E6=96=87=E6=A1=A3=E4=B8=AD=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E7=94=A8=E8=B7=B3=E8=BD=AC=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固件版本: N 是否需要文案翻译: 是 --- .../zh/firmware-upgrade/firmware-ota.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md b/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md index 8e308bb1..d39cc3f7 100644 --- a/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md +++ b/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md @@ -81,7 +81,7 @@ OTA云平台的作用是: 3.升级状态管理,如升级成功或者失败。 -借助于OTA云平台可实现网页控制OTA自动升级。使用前需要先初始化云平台相关的功能。API细节参考wiki API [QuecPython云平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/index.html)。 +借助于OTA云平台可实现网页控制OTA自动升级。使用前需要先初始化云平台相关的功能。API细节参考[QuecPython IoT 平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/index.html)。 ###### 2.接收云平台升级消息 @@ -89,7 +89,7 @@ OTA云平台的作用是: ###### 3.下载升级包 -获取到升级包URL后,设备则调用固件升级相关API进行升级包下载、写入及校验。API细节参考wiki API[固件升级相关功能](https://python.quectel.com/doc/API_reference/zh/QuecPython_classlib/fota.html)。 +获取到升级包URL后,设备则调用固件升级相关API进行升级包下载、写入及校验。API细节参考[fota - 固件升级相关功能](https://python.quectel.com/doc/API_reference/zh/syslib/fota.html)。 ###### 4.重启 @@ -103,7 +103,7 @@ OTA云平台的作用是: ##### 阿里云 -如果使用阿里云平台的OTA功能,首先需要接入阿里云,设备如何接入阿里云可以参见[QuecPython接入阿里云操作文档](https://my.qpy.wiki/doc/Getting_started/zh/clouds/aliyun.html)。接入阿里云之后如何使用云平台OTA功能可以参见[阿里云物联网平台OTA升级操作相关文档](https://help.aliyun.com/document_detail/130990.html?spm=a2c4g.130990.0.0.28722110xYe5Td)。 +如果使用阿里云平台的OTA功能,首先需要接入阿里云,设备如何接入阿里云可以参考[aLiYun - 阿里 IoT 平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/aLiYun.html)。接入阿里云之后如何使用云平台OTA功能可以参见[阿里云物联网平台OTA升级操作相关文档](https://help.aliyun.com/document_detail/130990.html?spm=a2c4g.130990.0.0.28722110xYe5Td)。 这里以阿里云为例展示OTA平台使用操作步骤: @@ -125,7 +125,7 @@ OTA云平台的作用是: ##### 腾讯云 -如果使用腾讯云平台的OTA功能,首先需要接入腾讯云,设备如何接入腾讯云可以参见[QuecPython接入腾讯云操作文档](https://my.qpy.wiki/doc/Getting_started/zh/clouds/tencent.html)。接入腾讯云之后如何使用云平台OTA功能可以参见[腾讯云物联网开发平台固件升级协议](https://cloud.tencent.com/document/product/1081/39359)。[腾讯云物联网开发平台固件升级操作](https://cloud.tencent.com/document/product/1081/40296)。 +如果使用腾讯云平台的OTA功能,首先需要接入腾讯云,设备如何接入腾讯云可以参考[TenCentYun- 腾讯 IoT 平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/TenCentYun.html)。接入腾讯云之后如何使用云平台OTA功能可以参见[腾讯云物联网开发平台固件升级协议](https://cloud.tencent.com/document/product/1081/39359)。[腾讯云物联网开发平台固件升级操作](https://cloud.tencent.com/document/product/1081/40296)。 ##### 移远云 @@ -153,7 +153,7 @@ OTA云平台的作用是: ###### 3.下载升级包 -获取到升级包URL后,设备根据URL下载待升级的目标文件到文件系统中。支持单文件下载和多文件批量下载方式。API细节参考wiki API[用户文件升级相关功能](https://python.quectel.com/doc/API_reference/zh/syslib/app_fota.html)。 +获取到升级包URL后,设备根据URL下载待升级的目标文件到文件系统中。支持单文件下载和多文件批量下载方式。API细节参考[app_fota - 用户文件升级相关功能](https://python.quectel.com/doc/API_reference/zh/syslib/app_fota.html)。 ###### 4.设置升级标志 -- Gitee From d43a44dd20cf556b14eee28a66b9634650697f5f Mon Sep 17 00:00:00 2001 From: "forrest.liu" Date: Fri, 8 Sep 2023 19:07:16 +0800 Subject: [PATCH 2/3] =?UTF-8?q?docs=20(firmware-upgrade/system):=20?= =?UTF-8?q?=E6=A0=B9=E6=8D=AEST=E5=BB=BA=E8=AE=AE=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固件版本: N 是否需要文案翻译: 是 --- docs/Application_guide/zh/firmware-upgrade/README.md | 2 +- .../firmware-ota-delta-package-making.md | 2 +- .../zh/firmware-upgrade/firmware-ota-issues.md | 10 +++++----- .../zh/firmware-upgrade/firmware-ota.md | 8 ++++---- docs/Application_guide/zh/system/fs.md | 10 +++++----- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/docs/Application_guide/zh/firmware-upgrade/README.md b/docs/Application_guide/zh/firmware-upgrade/README.md index 511b4918..5766bfc5 100644 --- a/docs/Application_guide/zh/firmware-upgrade/README.md +++ b/docs/Application_guide/zh/firmware-upgrade/README.md @@ -1,4 +1,4 @@ -# 关于固件升级 +# 固件升级 众所周知,做 QuecPython 脚本软件开发离不开 Python 脚本运行环境,而这个运行环境则是编译在支持 QuecPython 的模组的固件中的。因此,开发拿到移远通信的模组时,必须先烧录 QuecPython 团队提供的、支持了Python 脚本运行环境的固件,方能进行脚本软件开发。 diff --git a/docs/Application_guide/zh/firmware-upgrade/firmware-ota-delta-package-making.md b/docs/Application_guide/zh/firmware-upgrade/firmware-ota-delta-package-making.md index 768846c1..c8582627 100644 --- a/docs/Application_guide/zh/firmware-upgrade/firmware-ota-delta-package-making.md +++ b/docs/Application_guide/zh/firmware-upgrade/firmware-ota-delta-package-making.md @@ -1,4 +1,4 @@ -# 固件OTA差分包制作操作指引 +# 固件 OTA 升级包制作指引 本文档旨在介绍QuecPython固件OTA差分包制作方法,指导客户使用工具制作OTA差分包。 diff --git a/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md b/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md index 1d92c01f..55363cab 100644 --- a/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md +++ b/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md @@ -1,4 +1,4 @@ -# 固件及应用OTA升级常见问题 +# 固件 OTA 升级常见问题 ## 固件OTA升级是否一定要制作升级包 @@ -6,11 +6,11 @@ ## 如何制作差分包 -不同型号略有差异,参见[固件OTA差分包制作操作指引](./firmware-ota-delta-package-making.md)。 +不同型号略有差异,参见[固件OTA升级包制作指引](./firmware-ota-delta-package-making.md)。 ## 制作差分包失败原因 -不同分区结构的固件无法相互OTA升级,所以需要确保制作差分包的2各固件分区一致。官方固件中同一型号的固件分区会保持一致,如果因为特殊情况导致无法OTA会特殊说明。 +不同分区结构的固件无法相互OTA升级,所以需要确保制作差分包的2个固件分区一致。官方固件中同一型号的固件分区会保持一致,如果因为特殊情况导致无法OTA会特殊说明。 ## 固件OTA升级异常断电处理 @@ -38,7 +38,7 @@ MiniFota升级方案属于特殊定制的方案,在进行OTA升级功能之前 ## MiniFOTA升级方式如何升级文件系统分区 -MiniFOTA升级支持将文件系统分区一起升级,而用户的脚本文件和其他文件也是存在文件系统分区。这样MiniFOTA升级就可以实现固件和用户文件一起进行升级。具体需要制作升级包的时候带上fs分区,可以参见[固件OTA差分包制作操作指引](./firmware-ota-delta-package-making.md)。 +MiniFOTA升级支持将文件系统分区一起升级,而用户的脚本文件和其他文件也是存在文件系统分区。这样MiniFOTA升级就可以实现固件和用户文件一起进行升级。具体需要制作升级包的时候带上fs分区,可以参见[固件OTA升级包制作指引](./firmware-ota-delta-package-making.md)。 ## 应用OTA升级下载是否有完整性校验 @@ -58,7 +58,7 @@ OTA功能模块本身没有,客户可以自己加入完整性校验。方法 ## 下载协议 -下载协议支持 HTTP和FTP,具体支持情况如下表。 +下载协议支持 HTTP、HTTPS和FTP,具体支持情况如下表。 | 型号 | HTTP | HTTPS | FTP | | ------------------------------------ | ---- | ------ | ------ | diff --git a/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md b/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md index d39cc3f7..c87d0001 100644 --- a/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md +++ b/docs/Application_guide/zh/firmware-upgrade/firmware-ota.md @@ -67,7 +67,7 @@ QuecPython分区表构成细节可以参见[QuecPython存储设备介绍](../sys ##### 差分包准备 -不同型号设备制作方法会有差异,具体参见[固件OTA差分包制作操作指引](./firmware-ota-delta-package-making.md)。 +不同型号设备制作方法会有差异,具体参见[固件OTA升级包制作指引](./firmware-ota-delta-package-making.md)。 ##### 代码准备 @@ -125,7 +125,7 @@ OTA云平台的作用是: ##### 腾讯云 -如果使用腾讯云平台的OTA功能,首先需要接入腾讯云,设备如何接入腾讯云可以参考[TenCentYun- 腾讯 IoT 平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/TenCentYun.html)。接入腾讯云之后如何使用云平台OTA功能可以参见[腾讯云物联网开发平台固件升级协议](https://cloud.tencent.com/document/product/1081/39359)。[腾讯云物联网开发平台固件升级操作](https://cloud.tencent.com/document/product/1081/40296)。 +如果使用腾讯云平台的OTA功能,首先需要接入腾讯云,设备如何接入腾讯云可以参考[TenCentYun- 腾讯 IoT 平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/TenCentYun.html)。接入腾讯云之后如何使用云平台OTA功能可以参见[腾讯云物联网开发平台固件升级协议](https://cloud.tencent.com/document/product/1081/39359)、[腾讯云物联网开发平台固件升级操作](https://cloud.tencent.com/document/product/1081/40296)。 ##### 移远云 @@ -145,7 +145,7 @@ OTA云平台的作用是: ###### 1.初始化云平台功能 -借助于OTA云平台可实现网页控制OTA自动升级。使用前需要先初始化云平台相关的功能。API细节参考wiki API [QuecPython云平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/index.html)。 +借助于OTA云平台可实现网页控制OTA自动升级。使用前需要先初始化云平台相关的功能。API细节参考 [QuecPython IoT 平台](https://python.quectel.com/doc/API_reference/zh/cloudlib/index.html)。 ###### 2.接收云平台升级消息 @@ -312,7 +312,7 @@ cloud.setCallBack(sub_cb) # 订阅Topic qos = 1 cloud.subscribe(ota_topic_device_upgrade, qos) -cloud.subscribe(ota_topic_firmware_get_reply￿, qos) +cloud.subscribe(ota_topic_firmware_get_reply, qos) # 阿里云功能启动 cloud.start() diff --git a/docs/Application_guide/zh/system/fs.md b/docs/Application_guide/zh/system/fs.md index 61a1f836..74a45b16 100644 --- a/docs/Application_guide/zh/system/fs.md +++ b/docs/Application_guide/zh/system/fs.md @@ -80,7 +80,7 @@ write(str) - str: 要写入的数据 -该函数返回成功写入的字符串长度 +该接口返回成功写入的字符串长度 ##### 读取文件 @@ -90,7 +90,7 @@ read(size) - size:要读取的长度,单位字节 -该函数返回成功读到的数据 +该接口返回成功读到的数据 读取文件的一行 @@ -100,7 +100,7 @@ readline(size) - size:要读取的长度,单位字节 -调用此方法会根据结束符自动读取,并返回一个等于size长度的字符串,如果size为-1则返回整行。 +调用此接口会根据结束符自动读取,并返回一个等于size长度的字符串,如果size为-1则返回整行。 读取文件所有行 @@ -108,7 +108,7 @@ readline(size) readlines() ``` -调用此方法会根据结束符自动分行读取,并返回一个包含所有分行的列表。 +调用此接口会根据结束符自动分行读取,并返回一个包含所有分行的列表。 ##### 移动文件指针 @@ -444,7 +444,7 @@ QuecPython设备软件由固件和用户应用脚本2部分组成。其中固件 ### with open 和 open的区别 -open是python的一个内置函数。with open是使用了with语句的open函数。open()完成后必须调用close()方法关闭文件。因为文件对象会占用系统的资源,同一时间能打开的文件数量也是有限的,另外不成对使用可能会导致其他异常。由于文件读写时有可能产生IO异常,一旦出错,后面的close()就不会调用。with open则可以避免这样的情况,即便在文件读写过程中发生IO异常,也会自动调用close()方法关闭文件。 +open是python的一个内置接口。with open是使用了with语句的open接口。open()完成后必须调用close()接口关闭文件。因为文件对象会占用系统的资源,同一时间能打开的文件数量也是有限的,另外不成对使用可能会导致其他异常。由于文件读写时有可能产生IO异常,一旦出错,后面的close()就不会调用。with open则可以避免这样的情况,即便在文件读写过程中发生IO异常,也会自动调用close()接口关闭文件。 ```python with open('/usr/test.txt','w+')as f: -- Gitee From 11c935484210de82d2672f4ad199b945d981264d Mon Sep 17 00:00:00 2001 From: "forrest.liu" Date: Thu, 14 Dec 2023 16:01:46 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=20=20=20=20=20=20=20=20docs=20(fota/spi=20?= =?UTF-8?q?nor=20flash):=20fota=E6=A8=A1=E5=9D=97=E5=A2=9E=E5=8A=A0HTTPS?= =?UTF-8?q?=E5=8F=8C=E5=90=91=E8=AE=A4=E8=AF=81=E4=B8=8B=E8=BD=BD=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E3=80=81FTP=E4=B8=8B=E8=BD=BD=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E4=BB=8B=E7=BB=8D=E3=80=82spi=20nor=20flash=E4=BB=85=E6=94=AF?= =?UTF-8?q?=E6=8C=814=E7=BA=BFflash=E6=8C=82=E8=BD=BD=E3=80=82=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E6=8F=8F=E8=BF=B0=E4=BC=98=E5=8C=96=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固件版本: N/A 是否需要文案翻译: 是 --- docs/API_reference/en/stdlib/uos.md | 2 +- docs/API_reference/zh/stdlib/uos.md | 8 +-- docs/API_reference/zh/syslib/fota.md | 59 +++++++++++++++++-- .../firmware-upgrade/firmware-ota-issues.md | 14 ++--- .../firmware-upgrade/firmware-ota-issues.md | 7 ++- .../zh/system/memory-device.md | 2 +- 6 files changed, 70 insertions(+), 22 deletions(-) diff --git a/docs/API_reference/en/stdlib/uos.md b/docs/API_reference/en/stdlib/uos.md index 2fe46e48..806adaf6 100644 --- a/docs/API_reference/en/stdlib/uos.md +++ b/docs/API_reference/en/stdlib/uos.md @@ -484,7 +484,7 @@ udev.set_callback(call_back) ## Registering the Storage Device littleFS - SPI NOR FLASH -> Only EG915U and EC600N series modules support this feature currently. +> Only EG915U and EC600N series modules support this feature currently. It only supports 4-wire spi nor flash. ### `uos.VfsLfs1` diff --git a/docs/API_reference/zh/stdlib/uos.md b/docs/API_reference/zh/stdlib/uos.md index 1b8b3f9d..d0eba04f 100644 --- a/docs/API_reference/zh/stdlib/uos.md +++ b/docs/API_reference/zh/stdlib/uos.md @@ -324,7 +324,7 @@ b'\xb3\xc9Y\x1b\xe9' ## 注册存储设备 - SPI - SD卡 -> 目前仅ECx00N&EGx00N平台支持。 +> 目前仅ECx00N&EG91xN平台支持。 ### `uos.VfsFat` @@ -491,9 +491,9 @@ def call_back(para): udev.set_callback(call_back) ``` -## 注册littleFS存储设备 - SPI NOR FLASH +## 注册存储设备 - SPI NOR FLASH -> 目前仅ECx00N&EGx00N&ECx00M&EGx00M&ECx00U&EGx00U系列平台支持 +> 目前仅ECx00N&EG91xN&ECx00M&EG810M&ECx00U&EG91xU系列平台支持。且只支持4线spi nor flash。 ### `uos.VfsLfs1` @@ -501,7 +501,7 @@ udev.set_callback(call_back) uos.VfsLfs1(readsize,progsize,lookahead,pname,spi_port,spi_clk) ``` -初始化spi nor flash,和外挂nor flash通信。使用SPI通信方式,将此存储设备挂载为littleFS文件系统。 +初始化spi nor flash,和外挂nor flash通信。使用SPI通信方式将此存储设备挂载为littleFS文件系统。 **参数描述** diff --git a/docs/API_reference/zh/syslib/fota.md b/docs/API_reference/zh/syslib/fota.md index e6b5e516..f462f1b3 100644 --- a/docs/API_reference/zh/syslib/fota.md +++ b/docs/API_reference/zh/syslib/fota.md @@ -25,6 +25,8 @@ def run(): res = fota_obj.httpDownload(url1="http://www.example.com/fota.bin",callback=result) #mini fota方式 #res = fota_obj.httpDownload(url1="http://www.example.com/fota1.bin",url2="http://www.example.com/fota2.bin") + #差分升级FTP方式 + #res = fota_obj.httpDownload(url1="ftp://user:password@ip:port/fota.bin",callback=result) #其中user,password,ip,port需要填写具体使用的FTP服务器信息 if res != 0: fota_log.error("httpDownload error") return @@ -123,22 +125,34 @@ fota_obj = fota() #下载完自动重启 ### `fota_obj.httpDownload` ```python -fota_obj.httpDownload(url1=, url2=, callback=) +fota_obj.httpDownload(url1=, url2=, callback=, ssl_params=) ``` -升级包下载、写入、校验及重启升级。 +升级包下载、写入、校验及重启升级,下载协议为HTTP。 **参数描述:** -- `url1`-可选参数,升级包的url,该url类型可以是HTTP或FTP,类型为str。注:仅EC200A型号支持FTP url。 +- `url1`-可选参数,升级包的url,类型为str。 - `url2`-可选参数,mini fota第二阶段升级包的url,类型为str。注:仅mini fota方式需要传入该参数,差分升级方式该参数禁止传入。mini fota方式为小存储平台特殊的固件升级方式,分为2个阶段。而差分升级方式只有一个阶段,仅EC600N/EC800N/EG912N/EC600M/EC800M/EG810M型号支持mini fota方式。 - `callback`-可选参数,回调函数,显示下载进度和状态,类型为function。注:mini fota方式不支持回调函数。回调函数参数含义如下。 | callback参数 | 参数类型 | 参数说明 | -| ------------ | -------- | ------------------------------------------------------------ | +| ------------ | :------- | ------------------------------------------------------------ | | args[0] | int | 表示下载状态,下载成功返回整型值:0或1或2,下载失败返回整型值:非0、1、2,表示错误码。 | | args[1] | int | 表示下载进度(注:EC600N/EC800N/EG912N平台当下载状态是成功时表示百分比,下载状态是失败时表示错误码)。 | +- `ssl_params`-可选参数,SSL认证时传入证书、密钥、SSL版本和身份验证模式,类型为字典。格式为{"ca_cert": ca_certificate_content, "client_cert": client_certificate_content, "client_key": client_key_content, "ssl_version": 1, "sec_level": 2}。参数含义如下。 + +| key | value类型 | value含义 | +| ------------- | --------- | ------------------------------------------------------------ | +| "ca_cert" | str | 受信任CA证书 | +| "client_cert" | str | 客户端证书 | +| "client_key" | str | 客户端密钥 | +| "ssl_version" | int | SSL版本:0-SSL 3.0,1-TLS 1.0,2-TLS 1.1,3-TLS 1.2,4-全部 | +| "sec_level" | int | 身份验证模式:0-无身份验证模式,1-进行服务器身份验证,2-进行服务器和客户端身份验证 | + +> SSL认证功能支持的型号:EC200A/UC200A。 + **返回值描述:** 执行成功返回整形值0,执行失败返回整形值-1。注:EC600N/EC800N/EG912N/EC600M/EC800M/EG810M/BC25PA型号,返回值只代表接口执行成功或失败,升级状态和结果需通过回调反馈。其他型号返回0表示下载和校验成功,返回-1表示下载或校验失败。 @@ -151,12 +165,45 @@ def result(args): #差分升级HTTP方式 fota_obj.httpDownload(url1="http://www.example.com/fota.bin",callback=result) -#差分升级FTP方式 -fota_obj.httpDownload(url1="ftp://user:password@ip:port/fota.bin",callback=result) #其中user,password,ip,port需要填写具体使用的FTP服务器信息 +#差分升级HTTPS双向认证方式 +fota_obj.httpDownload(url1="https://www.example.com/fota.bin",callback=result,ssl_params={"ca_cert": ca_certificate_content, "client_cert": client_certificate_content, "client_key": client_key_content, "ssl_version": 1, "sec_level": 2}) #mini fota方式 fota_obj.httpDownload(url1="http://www.example.com/fota1.bin",url2="http://www.example.com/fota2.bin") ``` +### `fota_obj.ftpDownload` + +```python +fota_obj.ftpDownload(url=, callback=) +``` + +升级包下载、写入、校验及重启升级,下载协议为FTP。 + +**参数描述:** + +- `url`-必选参数,升级包的url,类型为str。 +- `callback`-可选参数,回调函数,显示下载进度和状态,类型为function。回调函数参数含义如下。 + +| callback参数 | 参数类型 | 参数说明 | +| ------------ | :------- | ------------------------------------------------------------ | +| args[0] | int | 表示下载状态,下载成功返回整型值:0,下载失败返回整型值:非0,表示错误码。 | +| args[1] | int | 表示下载进度。 | + +**返回值描述:** + +执行成功返回整形值0,执行失败返回整形值-1。 + +**示例**: + +```python +def result(args): + print('download status:',args[0],'download process:',args[1]) + +fota_obj.ftpDownload(url="ftp://user:password@ip:port/fota.bin",callback=result) #其中user,password,ip,port需要填写具体使用的FTP服务器信息 +``` + +> FTP下载接口支持型号:EC200A/UC200A/BG95/BG600L/EC600U/EC200U/EG915U。 + ### `fota_obj.apn_set` ```python diff --git a/docs/Application_guide/en/firmware-upgrade/firmware-ota-issues.md b/docs/Application_guide/en/firmware-upgrade/firmware-ota-issues.md index 5361c2dd..bddf466e 100644 --- a/docs/Application_guide/en/firmware-upgrade/firmware-ota-issues.md +++ b/docs/Application_guide/en/firmware-upgrade/firmware-ota-issues.md @@ -63,7 +63,7 @@ The download protocols supported include HTTP, HTTPS, and FTP. The specific supp | Model | HTTP | HTTPS | FTP | | ------------------------------------ | ---- | ------ | ------ | | EG91xN series | Support | Support | Not support | -| EC200U series | Support | Support | Support | +| EC200U&EG915U series | Support | Support | Support | | EC200A series | Support | Support | Support | | BG95&BG600L series | Support | Support | Support | @@ -104,12 +104,12 @@ if ql_fs.path_exists("usr/.updater"): 2. The difference between the old and target firmware versions is too large, resulting in an upgrade package that is too big to be stored in the storage space. Check the size of the upgrade package. The maximum size limit for an upgrade package for each model is as follows. - | Model | Maximum Size of an Upgrade Package | - | ------------------ | ---------------------------------- | - | EG91xN series | 3 MB | - | EC200U series | 700 KB | - | EC200A series | 3.5 MB | - | BG95&BG600L series | 7 MB | +| Model | Maximum Size of an Upgrade Package | +| -------------------- | ---------------------------------- | +| EG91xN series | 3 MB | +| EC200U&EG915U series | 700 KB | +| EC200A series | 3.5 MB | +| BG95&BG600L series | 7 MB | #### 0 is returned after the upgrade API is called, but the version number remains unchanged after the device reboots. diff --git a/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md b/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md index 6cf31df1..b88013a5 100644 --- a/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md +++ b/docs/Application_guide/zh/firmware-upgrade/firmware-ota-issues.md @@ -64,8 +64,9 @@ OTA功能模块本身没有,客户可以自己加入完整性校验。方法 | ------------------------------------ | ---- | ------ | ------ | | EC600NCNLC&EC600NCNLF&EG91xN系列 | 支持 | 支持 | 不支持 | | EC600NCNLA&EC600NCNLE&EC800NCNLA系列 | 支持 | 不支持 | 不支持 | -| ECx00M&EGx00M系列 | 支持 | 不支持 | 不支持 | -| ECx00U&EGx00U&ECx00G系列 | 支持 | 支持 | 支持 | +| ECx00M&EG810M系列 | 支持 | 不支持 | 不支持 | +| ECx00U&EG91xU系列 | 支持 | 支持 | 支持 | +| ECx00G系列 | 支持 | 支持 | 不支持 | | ECx00E系列 | 支持 | 不支持 | 不支持 | | EC200A系列 | 支持 | 支持 | 支持 | | BG95&BG600L系列 | 支持 | 支持 | 支持 | @@ -97,7 +98,7 @@ if ql_fs.path_exists("usr/.updater"): 1.检查网络是否正常,是否插了SIM卡、是否接了天线,是否拨号成功。 -2.是否使用HTTPS下载协议,仅部分型号支持HTTPS协议,不支持HTTPS协议的设备使用HTTPS协议的URL会下载失败,需要换成HTTP协议的URL。支持HTTPS协议的情况有ECx00N&EG91xN系列、EC200A系列、ECx00U&EGx00U&ECx00G系列、BG95&BG600L系列且使用差分升级方案时。 +2.是否使用HTTPS下载协议,仅部分型号支持HTTPS协议,不支持HTTPS协议的设备使用HTTPS协议的URL会下载失败,需要换成HTTP协议的URL。支持HTTPS协议的情况有ECx00N&EG91xN系列、EC200A系列、ECx00U&EG91xU&ECx00G系列、BG95&BG600L系列且使用差分升级方案时。 3.检查URL正确,可以使用浏览器输入该URL查看是否能下载成功。 diff --git a/docs/Application_guide/zh/system/memory-device.md b/docs/Application_guide/zh/system/memory-device.md index e5212e59..ac29b5ba 100644 --- a/docs/Application_guide/zh/system/memory-device.md +++ b/docs/Application_guide/zh/system/memory-device.md @@ -342,7 +342,7 @@ d)烧录完成,重启设备运行已烧录的固件。 ##### 软件接口 -其中文件系统分区使用的场景,文件系统需要执行挂载操作后才能使用,外置flash文件系统初始化接口用法参考[注册littleFS存储设备 - SPI NOR FLASH](https://python.quectel.com/doc/API_reference/zh/stdlib/uos.html#%E6%B3%A8%E5%86%8ClittleFS%E5%AD%98%E5%82%A8%E8%AE%BE%E5%A4%87---SPI-NOR-FLASH)。 +其中文件系统分区使用的场景,文件系统需要执行挂载操作后才能使用,外置4线spi nor flash文件系统初始化接口用法参考[注册littleFS存储设备 - SPI NOR FLASH](https://python.quectel.com/doc/API_reference/zh/stdlib/uos.html#%E6%B3%A8%E5%86%8ClittleFS%E5%AD%98%E5%82%A8%E8%AE%BE%E5%A4%87---SPI-NOR-FLASH)。外置6线spi nor flash仅特定型号特定固件支持,且不支持用户进行挂载操作,仅作内部使用。 ##### 读写速率 -- Gitee