diff --git a/docs/Advanced_development/zh/QuecPythonSub/PM.md b/docs/Advanced_development/zh/QuecPythonSub/PM.md
index a6f528dd80da0f09f8a519cf94f9de49c2855600..185dd283059c0d0cd4dec80211ff2ec8fa462cb5 100644
--- a/docs/Advanced_development/zh/QuecPythonSub/PM.md
+++ b/docs/Advanced_development/zh/QuecPythonSub/PM.md
@@ -1,7 +1,3 @@
-# **QuecPython低功耗使用说明**
-
-本文主要简介QuecPython低功耗库的使用方法。
-
## 修订历史
| 版本 | 日期 | 作者 | 变更表述 |
@@ -10,7 +6,7 @@
## 低功耗简介
-文档主要基于EC600S介绍如何使用QuecPython\_低功耗模式,在嵌入式应用中,产品的功耗越来越受到用户的重视;电池供电设备对产品功耗方面的要求尤为明显。降低产品功耗,延长电池的使用寿命,即可降低产品的运营成本,提高产品的市场竞争力。移远通信模块产品的功耗最小化需要从软件和硬件设计两方面入手,本文档重点介绍如何通过软件设计实现功耗最小化。
+本文主要简介QuecPython低功耗库的使用方法。文档主要基于EC600S介绍如何使用QuecPython\_低功耗模式,在嵌入式应用中,产品的功耗越来越受到用户的重视;电池供电设备对产品功耗方面的要求尤为明显。降低产品功耗,延长电池的使用寿命,即可降低产品的运营成本,提高产品的市场竞争力。移远通信模块产品的功耗最小化需要从软件和硬件设计两方面入手,本文档重点介绍如何通过软件设计实现功耗最小化。
## 快速开始
@@ -55,11 +51,16 @@
#### 软件
-在模组正常运行的情况下,使用QCOM连接模组的虚拟AT口,发送AT指令(AT+log=80,1),此指令会定时3s从调试串口打印内部休眠相关的Flag 和寄存器值,此时可以通过连接模组的虚拟DEBUG口查看log信息,具体如下:
+在模组正常运行的情况下,使用QCOM连接模组的虚拟AT口,发送AT指令(AT+log=80,1),此指令会定时3s从调试串口打印内部休眠相关的Flag 和寄存器值,此时可以通过连接模组的DEBUG口查看log信息,具体如下:

-主要查看前四个参数:
+**Tips:**
+
+- 对于DEBUG口,可以使用硬件DEBUG口,也可以使用USB虚拟的DEBUG口,都可以看到log信息
+- 在测试耗流过程中,想要获取log信息,只能通过连接硬件DEBUG口,原因是:USB不拔出无法进入休眠
+
+上述log主要查看前四个参数:
- PMEnableSleep:休眠总开关
- PMEnableSleep:允许进入休眠开关
@@ -76,22 +77,22 @@
- 外部引脚中断唤醒,对于EC600S,支持中断唤醒的GPIO列表如下:
- | GPIO编号 | 模组引脚 |
-| -------- | -------- |
- | GPIO1 | 引脚号11 |
- | GPIO2 | 引脚号11 |
- | GPIO3 | 引脚号12 |
- | GPIO4 | 引脚号13 |
- | GPIO5 | 引脚号14 |
- | GPIO6 | 引脚号15 |
- | GPIO7 | 引脚号16 |
- | GPIO8 | 引脚号39 |
- | GPIO9 | 引脚号40 |
- | GPIO10 | 引脚号48 |
- | GPIO11 | 引脚号58 |
- | GPIO12 | 引脚号59 |
- | GPIO13 | 引脚号60 |
- | GPIO14 | 引脚号61 |
+ | GPIO编号 | **模组引脚** |
+| -------- | ------------ |
+ | GPIO1 | 引脚号10 |
+ | GPIO2 | 引脚号11 |
+ | GPIO3 | 引脚号12 |
+ | GPIO4 | 引脚号13 |
+ | GPIO5 | 引脚号14 |
+ | GPIO6 | 引脚号15 |
+ | GPIO7 | 引脚号16 |
+ | GPIO8 | 引脚号39 |
+ | GPIO9 | 引脚号40 |
+ | GPIO10 | 引脚号48 |
+ | GPIO11 | 引脚号58 |
+ | GPIO12 | 引脚号59 |
+ | GPIO13 | 引脚号60 |
+ | GPIO14 | 引脚号61 |
- 电话,短信,网络数据唤醒
@@ -103,6 +104,10 @@

+**Tips:**
+
+上图是Quectel LTEEVB-KIT【开发底板】,可淘宝进入”移远旗舰店“购买;或者可以自己飞线给模组单独供电(VBAT_BB、VBAT_RF都需要3.8V供电)
+
代码编写:
编写如下代码,保存成.py文件,然后下载到模组运行。
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image001.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image001.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f6dcc56861dd163c8cfb99c78a80b341307d43a0
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image001.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image002.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image002.gif
new file mode 100644
index 0000000000000000000000000000000000000000..24d4e21acef257d3eb9d1a0b7ee82c4e99ad4062
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image002.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image003.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image003.gif
new file mode 100644
index 0000000000000000000000000000000000000000..77933f6b518c0b45b2320efe867b6299dadb8cfa
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image003.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image004.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image004.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90f7f94c565e45bc2a100b632f474560d40fa73f
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image004.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image005.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image005.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ef61f0f9ce7ddf00fbe997c727d56fff54c67053
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image005.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image006.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image006.gif
new file mode 100644
index 0000000000000000000000000000000000000000..beeacb839f6190bb4f356766e3569f20c5bca7b6
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image006.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image007.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image007.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bc4a1ff86cf86739cc7c7f073b92b09005a65542
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image007.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image008.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image008.gif
new file mode 100644
index 0000000000000000000000000000000000000000..41e89c4c33e83f29d744f2bb72c24e7e5ecb4240
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image008.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image009.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image009.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d59265e85ebb1a544856e10ef69df7488d4a5bd4
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image009.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image010.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image010.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1dea77c5b45d67abda80c4e292e8bfe9dbb0b6d
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image010.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image011.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image011.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fccdd22197a25fc2072d46cdfa6ae8e9730f6a83
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image011.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/clip_image012.gif b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image012.gif
new file mode 100644
index 0000000000000000000000000000000000000000..22aea78589e6487ee2338198d3997a8438736be4
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/clip_image012.gif differ
diff --git a/docs/Advanced_development/zh/QuecPythonSub/media/image-20210406102358570.png b/docs/Advanced_development/zh/QuecPythonSub/media/image-20210406102358570.png
new file mode 100644
index 0000000000000000000000000000000000000000..76930a4ff60636877f134d7ae2a2d16250312a23
Binary files /dev/null and b/docs/Advanced_development/zh/QuecPythonSub/media/image-20210406102358570.png differ
diff --git a/docs/FAQ/zh/Format_String/Format_String.md b/docs/FAQ/zh/Format_String/Format_String.md
new file mode 100644
index 0000000000000000000000000000000000000000..cab62ec1c2d02028a4034736f56c5363522cb0b0
--- /dev/null
+++ b/docs/FAQ/zh/Format_String/Format_String.md
@@ -0,0 +1,75 @@
+# Format String
+
+对于字符串与十六进制之间的转换需求,特编写这篇文档,详细介绍相关知识
+
+## 位运算
+
+位运算,计算机内所有的数都以二进制存储,位运算就是对二进制位的操作。在python中主要包括:按位与运算符、按位或运算符、 按位异或运算符、按位取反运算符、左移动运算符、右移动运算符
+
+### 按位与运算符
+
+ 按位与运算符&:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。举例说明如下:
+
+```python
+>>> a= 60
+>>> b= 13
+>>> a & b
+12
+```
+
+### 按位或运算符
+
+按位或运算符|:只要对应的二个二进位有一个为1时,结果位就为1。
+
+```python
+>>> a=60
+>>> b= 13
+>>> a | b
+61
+```
+
+### 按位异或运算符
+
+按位异或运算符:当两对应的二进位相异时,结果为1
+
+```python
+>>> a=60
+>>> b= 13
+>>> a ^ b
+49
+```
+
+### 按位取反运算符
+
+ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。**~x** 类似于 **-x-1**
+
+```python
+>>> a=60
+>>> ~a
+-61
+```
+
+### 左移动运算符
+
+左移动运算符:运算数的各二进位全部左移若干位,由 **<<** 右边的数字指定了移动的位数,高位丢弃,低位补0。
+
+```python
+>>> a=60
+>>> a << 2
+240
+```
+
+### 右移动运算符
+
+右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,**>>** 右边的数字指定了移动的位数
+
+```python
+>>> a=60
+>>> a >> 2
+15
+```
+
+还有位运算,struct的用法,所以写个demo还是有必要的哦。
+
+## 字符串与十六进制
+
diff --git a/docs/FAQ/zh/sidebar.yaml b/docs/FAQ/zh/sidebar.yaml
index 8d08303be10cc6026aa243188539fda47fc88c7d..cc815e777c9ed3e4347968bc573e51575261ef89 100644
--- a/docs/FAQ/zh/sidebar.yaml
+++ b/docs/FAQ/zh/sidebar.yaml
@@ -5,4 +5,6 @@ items:
- label: 参与贡献
file: join_us/README.md
- label: QuecPython_FAQ
- file: QuecPython_FAQ/QuecPython_FAQ.md
\ No newline at end of file
+ file: QuecPython_FAQ/QuecPython_FAQ.md
+ - label: Format_String
+ file: Format_String/Format_String.md
\ No newline at end of file
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5e6a7072596c0a603b861ad6a056c8bb.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5e6a7072596c0a603b861ad6a056c8bb.png
deleted file mode 100755
index 76ddf130b8e34ca45cee70dd6deefd1017c5f2bf..0000000000000000000000000000000000000000
Binary files a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5e6a7072596c0a603b861ad6a056c8bb.png and /dev/null differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/6e5654be296f4a5fc4f620bb2b0f238a.emf b/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/6e5654be296f4a5fc4f620bb2b0f238a.emf
deleted file mode 100755
index 69762d967528da3a81b51728b2ef71cf850d2cf3..0000000000000000000000000000000000000000
Binary files a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/6e5654be296f4a5fc4f620bb2b0f238a.emf and /dev/null differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/94c6ef78824b005fedd3362dec5e479a.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/94c6ef78824b005fedd3362dec5e479a.png
deleted file mode 100755
index bf5d08b8238fbcfd42abf6332ac8db706744fba5..0000000000000000000000000000000000000000
Binary files a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/94c6ef78824b005fedd3362dec5e479a.png and /dev/null differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/98b20372f9da3d0aa8b80dda206143b0.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/98b20372f9da3d0aa8b80dda206143b0.png
deleted file mode 100755
index 254ff533f097c4fa857235185cce967dce9c13ab..0000000000000000000000000000000000000000
Binary files a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/98b20372f9da3d0aa8b80dda206143b0.png and /dev/null differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/9fc2e34407f04f3747b3c1b507499526.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/9fc2e34407f04f3747b3c1b507499526.png
deleted file mode 100755
index 78a3adcf9562b09fce3f6713a534d2162781e8bb..0000000000000000000000000000000000000000
Binary files a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/9fc2e34407f04f3747b3c1b507499526.png and /dev/null differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d36c1ed416c5d9f95816324ad790f385.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d36c1ed416c5d9f95816324ad790f385.png
deleted file mode 100755
index 13a4f7e88057d541117cea383b84394acab5de8b..0000000000000000000000000000000000000000
Binary files a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d36c1ed416c5d9f95816324ad790f385.png and /dev/null differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/dae403adf4679040f94623b7eb2e0c99.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/dae403adf4679040f94623b7eb2e0c99.png
deleted file mode 100755
index 0b085db65969f7b164db105433207c8110b6aab1..0000000000000000000000000000000000000000
Binary files a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/dae403adf4679040f94623b7eb2e0c99.png and /dev/null differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/Hardware_Support_EC600S.md b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.md
similarity index 47%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/Hardware_Support_EC600S.md
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.md
index a5ede198bafd554d6f401712f42dfc48f0ab0653..535d993ffdcebac42004f0f338c6955017566396 100644
--- a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/Hardware_Support_EC600S.md
+++ b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/Hardware_Support_EC600X.md
@@ -1,35 +1,27 @@
-## EC600S开发板及其使用场景介绍
-
-本片文章简述 **600SCNLA** **CNLB**。
-
-**Quectel_QuecPython\_ EC600X开发板使用说明**
-
-版本:Quectel_QuecPython_EC600X开发板使用说明\_V1.2.1
-
## 文档历史
**修订记录**
-| **版本** | **日期** | **作者** | **变更表述** |
-| -------- | ---------- | -------- | --------------------------------- |
-| 1.0 | 2020-12-14 | 袁帅 | 初始版本 |
-| 1.1 | 2020-12-20 | Josh | 硬件1.1版本增加音频功放电路 |
-| 1.1.1 | 2020-12-28 | Chic | 文档增加【项目推介】 |
-| 1.1.2 | 2021-01-06 | Chic | 修改关于LED的描述 |
-| 1.2 | 2021-01-20 | Jorma | 修改部分内容 |
-| 1.2.1 | 2021-03-31 | David | 增加V1.2开发板的内容 增加图表标题 |
-| 1.2.2 | 2021-04-02 | chengzhu | wrod转换成md,后续更新基于md更新 |
+| **版本** | **日期** | **作者** | **变更表述** |
+| -------- | ---------- | -------- | ---------------------------------- |
+| 1.0 | 2020-12-14 | 袁帅 | 初始版本 |
+| 1.1 | 2020-12-20 | Josh | 硬件1.1版本增加音频功放电路 |
+| 1.1.1 | 2020-12-28 | Chic | 文档增加【项目推介】 |
+| 1.1.2 | 2021-01-06 | Chic | 修改关于LED的描述 |
+| 1.2 | 2021-01-20 | Jorma | 修改部分内容 |
+| 1.2.1 | 2021-03-31 | David | 增加V1.2开发板的内容;增加图表标题 |
+| 1.2.2 | 2021-04-02 | chengzhu | word转换成md,后续更新基于md更新 |
+| 1.2.3 | 2021-04-06 | David | md文档下,图片和目录的格式修改 |
-## 1 基本概述
+## 基本概述
-### 1.1 描述
+### 描述
-EC600X_QuecPython_EVB_V1.x
-开发板是一款搭载多款传感器的Cat.1通信模块开发板,本文将介绍这款开发板的使用方法和注意事项。
+EC600X_QuecPython_EVB_V1.x开发板是一款搭载多款传感器的Cat.1通信模块开发板,本文将介绍这款开发板的使用方法和注意事项。
EC600X\_QuecPython_EVB_V1.x的命名规则如下:
-图1:EC600X_QuecPython_EVB_V1.x 开发板命名规则
+
EC600S_QuecPython_EVB_V1.x(x=0,1)开发板(本文简称“V1.1开发板”)是专门针对EC600S制造,是一款小巧便携的“口袋型”开发板。体型虽小,但是功能丰富,拥有温湿度传感器、SIM卡座、板载天线、LCD接口、光敏电阻、MIC、等元件。
@@ -37,85 +29,56 @@ EC600S_QuecPython_EVB_V1.x(x=0,1)开发板(本文简称“V1.1开发板”
开发者仅需一条USB Type-C 数据线即可轻松玩转开发板。
-### 1.2 V1.1开发板资源
-
-- Quectel移远 EC600S_CNAA Cat.1 通信模组
-
-- PCB天线
-
-- NANO SIM自弹卡座
-
-- 保留SMA天线座焊盘
-
-- USB Type-C数据接口
-
-- 一个PWRKEY按键,一个RST按键
-
-- 两个自定义功能按键
-
-- 音频功放,支持最高4Ω2W喇叭
-
-- 温湿度传感器
-
-- G-Sensor 三轴加速度传感器
-
-- (不支持)LED彩灯
-
-- (需焊接)驻极体MIC
-
-- (需焊接)Speaker 音频输出
-
-- (需焊接)光敏电阻
-
-- (需焊接)GPIO排针
-
-- (需焊接)LCD排针
-
-### 1.3 V1.2开发板资源
-
-- Quectel移远 EC600X Cat.1 通信模组
-
-- NANO SIM自弹卡座
-
-- GPS、LTE、WIFI/BT天线接口
-
-- USB Type-C数据接口
-
-- PWRKEY按键,RST按键,强制下载按键
-
-- 两个自定义功能按键
-
-- 音频功放,支持最高4Ω2W喇叭
-
-- 温湿度传感器
-
-- G-Sensor 三轴加速度传感器
-
-- 单色灯
-
-- 驻极体MIC
-
-- Speaker 音频输出
-
-- 光敏电阻
-
-- GPIO排针
-
-- LCD排针
-
-### 1.4 开发板能做的事情
-
-#### 1.4.1小实验
+### V1.1开发板资源
+
+- Quectel移远 EC600S_CNAA Cat.1 通信模组
+- PCB天线
+- NANO SIM自弹卡座
+- 保留SMA天线座焊盘
+- USB Type-C数据接口
+- 一个PWRKEY按键,一个RST按键
+- 两个自定义功能按键
+- 音频功放,支持最高4Ω2W喇叭
+- 温湿度传感器
+- G-Sensor 三轴加速度传感器
+- (不支持)LED彩灯
+- (需焊接)驻极体MIC
+- (需焊接)Speaker 音频输出
+- (需焊接)光敏电阻
+- (需焊接)GPIO排针
+- (需焊接)LCD排针
+
+### V1.2开发板资源
+
+- Quectel移远 EC600X Cat.1 通信模组
+- NANO SIM自弹卡座
+- GPS、LTE、WIFI/BT天线接口
+- USB Type-C数据接口
+- PWRKEY按键,RST按键,强制下载按键
+- 两个自定义功能按键
+- 音频功放,支持最高4Ω2W喇叭
+- 温湿度传感器
+- G-Sensor 三轴加速度传感器
+- 单色灯
+- 驻极体MIC
+- Speaker 音频输出
+- 光敏电阻
+- GPIO排针
+- LCD排针
+
+### 开发板能做的事情
+
+#### 小实验
开发板包含诸多接口、外设,方便开发者开发调试。在QuecPython官网的文档中心提供了众多小实验。
具体地址见:[QuecPython小实验](https://python.quectel.com/doc/doc/little_demo/zh/index.html)
-#### 1.4.2 实现产品原型
+#### 实现产品原型
基于开发板自带的众多传感器、按键、液晶屏等外设,开发者甚至可以直接以开发板为基础,快速做出产品原型。接下来试举几例以开发板板载的传感器为基础,可以做的某些产品原型:
-1. **防盗损装置**
+- **防盗损装置**
**背景**:无人值守的设备如快递柜、充电站、充电桩等,存在被盗或破坏的风险。需要实现远程控制、防盗、异常状态上报等
@@ -123,7 +86,7 @@ EC600S_QuecPython_EVB_V1.x(x=0,1)开发板(本文简称“V1.1开发板”
**方法**:Quectel通信模组连接云端,保存云端下发的参数。读取传感器上报的参数,判断当前姿态、震动状态是否超过阈值,LED闪烁、报警,并通过网络上报到云端
-1. **微型天气服务站**
+- **微型天气服务站**
**背景**:在野外假设无人值守的微型天气服务站,通过网络定时上报温湿度、风力等数据,以供记录、分析、预报
@@ -132,7 +95,7 @@ EC600S_QuecPython_EVB_V1.x(x=0,1)开发板(本文简称“V1.1开发板”
**方法**:Quectel通信模组连接云端,保存云端下发的参数。通过NTP同步内部时钟;读取温湿度传感器、ADC器上报的参数,并按照云端的要求,将数据序列化通过网络上报到云端。网络不佳情况下,离线存储数据,待网络通畅再上报数据到云端
-1. **微型自动售货机**
+- **微型自动售货机**
**背景**:很多酒店的miniBar不能满足客户的需求,而客房内的微型自动售货机则可以很好地弥补这个缺陷。售卖如零食、口香糖、充电线等小件商品,同时提供手机充电等服务
@@ -141,7 +104,7 @@ LCD+GSensor+喇叭
**方法**:Quectel通信模组连接到云端,注册并鉴权,收到云端下发的数据,LCD屏幕显示对应的二维码;用户使用微信或者支付宝扫描LCD显示的二维码,进入小程序选购。选购完成并支付后,云端下发控制指令,通信模组接到指令,解析指令内容,控制GPIO实现步进电机旋转出货,并通过光照传感器确认出货完毕;或控制继电器/MOS管,实现手机充电功能;出货完毕后,可使用TTS语音朗读相应的信息如“*出货完毕,欢迎再次选购*”。当G-Sensor检测到倾倒或者暴力破坏时,可自动上报信息到云端,以便运维处理
-1. **扫码把枪**
+- **扫码把枪**
**背景**:日常场景,可以使用把枪实现批量录入条形码、二维码。但是传统把枪无法脱离电脑使用,而使用手机扫码颇为繁琐,且稳定性差、耗电量高。使用无线扫码把枪,可以实现远程扫码、无线扫码、连续扫码等
@@ -151,7 +114,7 @@ LCD+GSensor+喇叭
Camera
扫描条形码或二维码(可选单次扫描、连扫等操作),模块识别条形码或二维码的信息,并上报到云端
-1. **智能控制**
+- **智能控制**
**背景**:云端下发运行参数,模块实现自动化监测设备、控制,节省人工成本。
@@ -159,7 +122,7 @@ Camera
**方法**:Quectel通信模组开机后连接云端,获取运行参数并保存。在LCD显示相应的控制内容和运行状态;当检测到传感器的数值超过阈值,则根据保存的参数执行对应动作,并上报云端(如湿度超过80%则打开继电器,控制除湿机开启),实现自动化控制。
-1. **设备定位**
+- **设备定位**
**背景:**共享单车快速发展,部分单车由于停车位置的偏僻性,消费者在寻找时无法有效准确的找到单车的位置,影响客户的消费体验,同时耗费大量的资源,而且实时性无法保证。
@@ -167,34 +130,30 @@ Camera
**方法:**使用L76K获取定位信息,输出NEMA语句,然后通过模组的串口读取NEMA,输出定位信息,最后在连接网络的情况下,将数据发送到云端(例如:阿里云)实现实时共享。
-## 2 开发板介绍
+## 开发板介绍
开发板是为方便开发者使用QuecPython,而设计的一款基于EC600X
Cat.1通信模块的开发板,其上集成了等开发常用的配置,可以满足开发者的开发需求。
-### 2.1 V1.1开发板
+### V1.1开发板
-#### 2.1.1 V1.1开发板正面接口
+#### V1.1开发板正面接口
-
+
-图2:EC600S_QuecPython_EVB_V1.x(x=0,1)开发板正面图
-#### 2.1.2 V1.1开发板背面接口
-
+#### V1.1开发板背面接口
-图3:EC600S_QuecPython_EVB_V1.x(x=0,1)开发板背面图
+
-| 小提示 |
-| --------------------------------------------------------------------------------------------------- |
-| 开发板的丝印请参考 本手册的 附录内容 开发板的更多资料,请访问 |
+**TIPS:**
-#### 2.1.3 V1.1开发板配置
+开发板的丝印请参考本手册的附录内容开发板的更多资料,请访问
-开发板配备了多种传感器,以及其他外设。明细如下:
+#### V1.1开发板配置
-表**1**:V1.1开发板配置
+开发板配备了多种传感器,以及其他外设。明细如下:
| 序号 | 名称 | 型号 | 是否支持 | 接口类型 |
| ---- | ---------------------------- | ------------- | -------- | -------- |
@@ -207,32 +166,24 @@ Cat.1通信模块的开发板,其上集成了等开发常用的配置,可以
| 7 | LED彩灯 | WS2812B-MINI | 否 | PWM |
| 8 | LCD 显示屏(需选择含屏套餐) | ST7789 | 是 | SPI |
-### 2.1 V1.2开发板
-
-#### 2.2.1 V1.2开发板正面接口
-
-
-
-
+### V1.2开发板
-
+#### V1.2开发板正面接口
-图4:EC600X\_QuecPython_EVB_V1.2开发板正面图
+
-#### 2.2.2 V1.2开发板背面接口
+#### V1.2开发板背面接口
-图5:EC600X_QuecPython_EVB_V1.2开发板背面图
+
| 小提示 |
| ------------------------------------------------------------------------------------------------- |
| 开发板的丝印请参考本手册的附录内容 开发板的更多资料,请访问 |
-#### 2.2.3 V1.2开发板配置
+#### V1.2开发板配置
开发板配备了多种传感器,以及其他外设。明细如下:
-表**2**:V1.2开发板配置
-
| 序号 | 名称 | 型号 | 是否支持 | 接口类型 |
| ---- | ---------------------------- | ------------- | -------- | -------- |
| 1 | 三轴加速度传感器 | LIS2DH12TR | 是 | SPI |
@@ -245,9 +196,9 @@ Cat.1通信模块的开发板,其上集成了等开发常用的配置,可以
| 8 | LCD 显示屏(需选择含屏套餐) | ST7789 | 是 | SPI |
| 9 | GNSS模组 | L76K | 是 | UART |
-## 3 功能详解
+## 功能详解
-### 3.1 LCD接口
+### LCD接口
开发板集成了LCD接口,开发者可以通过该接口点亮LCD屏幕,显示图片文字等内容。搭配LVGL还能显示更多有趣内容哦(点此了解“LCD”的小实验)。
@@ -263,137 +214,115 @@ Cat.1通信模块的开发板,其上集成了等开发常用的配置,可以
- 更多屏幕,正在适配中…
-
-
-图6:EC600X_QuecPython_EVB LCD相关原理图
+
-| 请注意 |
-| -------------------------------------------------------------------------------------------------- |
-| 对于LCD Slot,V1.0和V1.1的开发板没有CS,请选择没有CS的屏,或者将屏的CS接地,具体可参考V1.1的原理图 |
+| 请注意 |
+| ------------------------------------------------------------ |
+| 对于LCD Slot, V1.0和V1.1的开发板没有CS, 请选择没有CS的屏, 或者将屏的CS接地, 具体可参考V1.1的原理图 |
-### 3.2加速度传感器
+### 加速度传感器
V1.2开发板集成了LIS2DH12TR三轴加速度传感器。该三轴加速度传感器是具有体积小巧、耗电低、灵敏度高的特点。开发者通过该加速度传感器,可以采集开发板的运动状态,姿态等数据。
点此了解:[“加速度传感器”小实验](https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/i2c_lis2dh.html)
-
-
-图7:EC600X_QuecPython_EVB 加速度传感器相关原理图
+
-### 3.3光敏电阻
+### 光敏电阻
开发板集成了GL5528高灵敏度光敏电阻。光敏电阻对光线十分敏感,其在无光照时,呈高阻状态,暗电阻一般可达1.5MΩ;而在光照时,阻值可小至1KΩ以下。使用该光敏电阻,开发者可以采集环境光照度信息。
点此了解:[光敏传感器实验](https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/Photoresistor.html)
-
+
-图8:EC600X_QuecPython_EVB 光敏电阻相关原理图
-
-### 3.4温湿度传感器
+### 温湿度传感器
开发板集成了AHT10温湿度传感器。该传感器具有低功耗、体积小、计量准确的特点。开发者可以使用该传感器采集环境温度、湿度等信息。点此了解:[温湿度传感器实验](https://python.quectel.com/wiki/study/zh-cn/study/QuecPythonTest/i2c_aht/)
-
+
-图9:EC600X_QuecPython_EVB 温湿度传感器相关原理图
+### 音响功率放大器(功放芯片)
-### 3.5音响功率放大器(功放芯片)
+开发板集成了音响功率放大器。V1.1集成的是AW8733ATQR,该功放芯片是K类音响功率放大器,具有超强 TDD 抑制、超大音量、防破音、超低 EMI、输出功率2.0W的特点。V1.2集成的是NS4160,一款带AB类/D类工作模式切换功能、超低EMI、无需滤波器、5W单声道音频功放的一种科技产品。点此了解:[Audio模块开发](https://python.quectel.com/doc/doc/Advanced_development/zh/QuecPythonSub/Audio.html)
-开发板集成了音响功率放大器。V1.1集成的是AW8733ATQR,该功放芯片是K
-类音响功率放大器,具有超强 TDD 抑制、超大音量、防破音、超低 EMI、输出功率
-2.0W的特点。V1.2集成的是NS4160,一款带AB类/D类工作模式切换功能、超低EMI、无需滤波器、5W单声道音频功放的一种科技产品。点此了解:[Audio模块开发](https://python.quectel.com/doc/doc/Advanced_development/zh/QuecPythonSub/Audio.html)
+
-
-图10:EC600X_QuecPython_EVB 音频功放芯片相关原理图
-| 请注意 |
-| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| V1.0版开发板没有功放芯片,放音可能失败 V1.1版开发板有功放芯片,需要拉高PIN58使能 audio_EN = Pin(Pin.GPIO11, Pin.OUT, Pin.PULL_PD, 1) V1.1版开发板录音存在问题,需要拿掉R28 |
+| 请注意 |
+| ------------------------------------------------------------ |
+| V1.0版开发板没有功放芯片,放音可能失败
V1.1版开发板有功放芯片,需要拉高PIN58使能:
audio_EN = Pin(Pin.GPIO11, Pin.OUT, Pin.PULL_PD, 1)
V1.1版开发板录音存在问题,需要拿掉R28 |
-### 3.6自定义按键
+### 自定义按键
开发板集成了2个自定义微动按键,开发者可以自行定义其功能。
点此了解:[按键输入实验](https://python.quectel.com/doc/doc/little_demo/zh/QuecPythonTest/button.html)
-
-
-图11:EC600X_QuecPython_EVB 自定义按键相关原理图
+
| 请注意 |
| ---------------------------------------------------- |
| V1.1开发板丝印错误,微动开关实际连接的是GPIO1、GPIO2 |
-### 3.7 GNSS模组:L76K
+### GNSS模组:L76K
V1.2开发板集成了一个GNSS模组L76K,客户无需联网即可获取定位信息。
-
-
-图12:EC600X_QuecPython_EVB L76K相关原理图
+
| 请注意 |
| ------------------------------------------ |
| 对于V1.1之前开发板是没有配置此GNSS模组的。 |
-## 4准备工作
+## 准备工作
-### 4.1安装USB驱动
+### 安装USB驱动
使用开发板前,需要在电脑上安装USB驱动。正确安装后,电脑可以识别开发板。
驱动程序下载地址:
-1. 请选择对应的驱动
+- 请选择对应的驱动
-
+
图13:驱动安装\_驱动位置
-1. 开发者下载驱动程序的压缩包后,完整解压该压缩包到任意目录,双击运行setup.exe:
+- 开发者下载驱动程序的压缩包后,完整解压该压缩包到任意目录,双击运行setup.exe:
-
+
-图14:驱动安装\_驱动图标
+- 按照提示,点击Install即可:
-1. 按照提示,点击Install即可:
+
-
+- 安装成功后,点击“Finish”结束:
-图15:驱动安装\_开始
+
-1. 安装成功后,点击“Finish”结束:
+- 至此,USB 驱动安装结束。
-
+| 小提示 |
+| ------------------------------------------------------------ |
+| (1)安装前,请备份您的重要文件,并保存您的工作进度,以免发生意外情况,导致文件丢失
(2)安装成功后,无需重启电脑
(3)如需修复或者卸载驱动程序,再次运行该 驱动安装程序,选择“修复”或“卸载” 即可
(4)如若安装失败,请联系我们的在线支持:QQ群 445121768 |
-图16: 驱动安装\_结束
+### 验证驱动安装
-1. 至此,USB 驱动安装结束。
+驱动安装成功后,使用USB TypeA-TypeC数据线,将开发板连接到电脑上,并长按POWKY开机。
-| 小提示 |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 安装前,请备份您的重要文件,并保存您的工作进度,以免发生意外情况,导致文件丢失 安装成功后,无需重启电脑 如需修复或者卸载驱动程序,再次运行该 驱动安装程序,选择“修复”或“卸载” 即可 如若安装失败,请联系我们的在线支持:QQ群 445121768 |
+| 请注意 |
+| ------------------------------------------------------------ |
+| (1)V1.0开发板,上电自动开机,无需长按 POWKY
(2)V1.1开发板,需要长按POWKY开机
(3)V1.2开发板,是否需要长按POWKY开机,由跳帽决定。
(4)开发板的USB Type-U为母口,仅可当作从设备,接口类型为USB2.0 |
-### 4.2 验证驱动安装
+在电脑上打开“设备管理器”,进入电脑的设备管理器,展开**“端口(COM 和LPT)”**,应出现三个串口设备:
-驱动安装成功后,使用USB
-TypeA-TypeC数据线,将开发板连接到电脑上,并长按POWKY开机。
+- **Quectel USB AT Port (COMx)**
-| 请注意 |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| V1.0版开发板,上电自动开机,无需长按 POWKY V1.1版开发板,需要长按POWKY开机 V1.2开发板,是否需要长按POWKY开机,由跳帽决定。 开发板的USB Type-U为母口,仅可当作从设备,接口类型为USB2.0 |
+- **Quectel USB DIAG Port (COMx)**
-在电脑上打开“设备管理器”,进入电脑的设备管理器,展开**“端口(COM 和
-LPT)”**,应出现三个串口设备:
-
-1. **Quectel USB AT Port (COMx)**
-
-2. **Quectel USB DIAG Port (COMx)**
-
-3. **USB 串行设备 (COMx)**
+- **USB 串行设备 (COMx)**
| 小提示 |
| ---------------------------------------------------------------------------- |
@@ -401,37 +330,29 @@ LPT)”**,应出现三个串口设备:
如果您的电脑没有识别到任何串口设备,请检查:
-1. 开发板是否正确连接到电脑(数据线损坏,或者插口损坏、供电不足等)
+- 开发板是否正确连接到电脑(数据线损坏,或者插口损坏、供电不足等)
-2. 开发板是否正确开机
+- 开发板是否正确开机
-3. USB驱动是否正确安装
+- USB驱动是否正确安装
-4. 电脑是否正确安装主板驱动。
+- 电脑是否正确安装主板驱动。
如果无法排除,请联系我们的在线支持:QQ群 445121768
如果您的电脑只识别了两个串口设备(没有“USB串行设备”),那么可能是因为没有刷入QuecPython固件的缘故。别着急,请阅读下一章节,刷入QuecPython固件就可以啦。
-
-
-图17:非QuecPython固件设备管理器说明图
+
如果您的电脑正确识别了三个串口设备,那么恭喜您,一切准备就绪,可以开始QuecPython之旅啦\~!
-
-
-图18:QuecPython固件设备管理器说明图
+
-### 4.3验证固件版本
+### 验证固件版本
-使用串口工具,打开“Quectel USB AT Port”对应的串口(波特率选择 115200,停止位 1
-位,无奇偶校验,8 位数据位,无硬件控制流)。勾选“发送新行”(Send With
-Enter),发送指令“AT+GMR”,查看模块返回的信息,即当前固件版本:
+使用串口工具,打开“Quectel USB AT Port”对应的串口(波特率选择 115200,停止位 1位,无奇偶校验,8 位数据位,无硬件控制流)。勾选“发送新行”(Send With Enter),发送指令“AT+GMR”,查看模块返回的信息,即当前固件版本:
-
-
-图19:固件AT查询命令
+
如果是QuecPython的固件,通常以PY或者Python结尾。
@@ -441,40 +362,33 @@ QPYcom下载地址:
具体位置如下截图:
-
-
-图20:QPYcom 工具位置
+
使用QPYcom工具查看固件版本的步骤如下:
-1. 下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
-
-2. 将开发板连接到电脑并开机;
+1. 下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
-3. 选择“USB串行设备”串口,默认波特率,打开串口
+2. 将开发板连接到电脑并开机;
-4. 点击“**交互**”标签,进入交互页
+3. 选择“USB串行设备”串口,默认波特率,打开串口
-5. 键入如下命令,然后查看模块返回的内容:
+4. 点击“**交互**”标签,进入交互页
- *import uos*
+5. 键入如下命令,然后查看模块返回的内容:
- *uos.uname()*
+ *import uos*
-
+ *uos.uname()*
-图21:固件QuecPython查询命令
+
如图所示,如果可以正常返回内容,则证明当前运行的是QuecPython固件。
-如果没有“USB串行设备”
-串口,或者无法输入,输入无返回等情况,则模组内运行的都不是QuecPython固件,需要下载QuecPython固件。
+如果没有“USB串行设备”串口,或者无法输入,输入无返回等情况,则模组内运行的都不是QuecPython固件,需要下载QuecPython固件。
-### 4.4下载固件
+### 下载固件
-| 小提示 |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 什么是QuecPython 固件(下简称“固件”)?为什么要下载它呢? 固件是包含驱动、BL、FS、VM等资源的一个二进制程序,没有固件的模块,就像没有辣椒的火鸡面,寡淡无味。下载固件后,模块就可以“跑起来”啦。 通俗来讲,“固件相对于Quectel通信模组”,类似于“操作系统相对于电脑”;”用户脚本相对于QuecPython固件”,类似于”应用程序相对于操作系统”。 只有把操作系统安装到电脑上(下载固件),再把应用程序安装好(下载用户脚本),才能让电脑发挥相应的功能,执行相应的操作和指令。 |
+什么是QuecPython 固件(下简称“固件”)?为什么要下载它呢? 固件是包含驱动、BL、FS、VM等资源的一个二进制程序,没有固件的模块,就像没有辣椒的火鸡面,寡淡无味。下载固件后,模块就可以“跑起来”啦。 通俗来讲,“固件相对于Quectel通信模组”,类似于“操作系统相对于电脑”;”用户脚本相对于QuecPython固件”,类似于”应用程序相对于操作系统”。 只有把操作系统安装到电脑上(下载固件),再把应用程序安装好(下载用户脚本),才能让电脑发挥相应的功能,执行相应的操作和指令。
| 请注意 |
| ----------------------------------------------------------------------------------------------------- |
@@ -482,15 +396,15 @@ QPYcom下载地址:
使用QPYcom工具下载固件的步骤如下:
-1. 下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
+1. 下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
-2. 将开发板连接到电脑并开机;
+2. 将开发板连接到电脑并开机;
-3. 点击“**下载**”标签,进入下载页
+3. 点击“**下载**”标签,进入下载页
-4. 在下载页面左侧导航栏创建项目,然后点击“**选择固件**”选择固件包
+4. 在下载页面左侧导航栏创建项目,然后点击“**选择固件**”选择固件包
-5. 左键点击页面右下角倒三角形,在弹出的菜单中选择“**下载固件**”菜单,点击“**下载固件**”按钮,工具自动开始固件下载
+5. 左键点击页面右下角倒三角形,在弹出的菜单中选择“**下载固件**”菜单,点击“**下载固件**”按钮,工具自动开始固件下载
| 小提示 |
| --------------------------------------------------------------------------------------------------------------------- |
@@ -500,160 +414,135 @@ QPYcom下载地址:
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 下载固件过程中,请勿退出工具,或者拔掉串口,可能致使模块变砖。 如果模块确已变砖,则只有关机,拉高BOOT开机,强制进入下载模式(出现donwload下载口),并使用QPYcom重新下载固件成功,才能救砖。 |
-
+
-图22:固件烧录\_创建项目、选择固件文件
-> 
-图23:固件烧录\_ 选择” 下载固件”菜单
+
-
-图24:固件烧录\_开始
-
+
-图25:固件烧录\_结束
-下载完成后,可以使用上一章的方法,发送AT指令,或者使用“交互”页测试,固件是否正确下载。
-| 小提示 |
-| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 哪里可以获取到QuecPython 固件? 请到QuecPython官方网站下载: 下载失败如何处理?模块变砖怎么办? 请加入我们的QQ 群 445121768,工程师在线为您答疑解惑 |
+
-### 4.5 下载helloworld.py程序到开发板
-使用QPYcom工具,我们可以将自己的 Python 脚本文件下载到模块中。
-hello world.py 文件内容:
-
-*import utime*
+下载完成后,可以使用上一章的方法,发送AT指令,或者使用“交互”页测试,固件是否正确下载。
-*while True:*
+| 小提示 |
+| ------------------------------------------------------------ |
+| 哪里可以获取到QuecPython 固件? 请到QuecPython官方网站下载:
下载失败如何处理?模块变砖怎么办? 请加入我们的QQ 群 445121768,工程师在线为您答疑解惑 |
-*print(“hello world”)*
+### 下载helloworld.py程序到开发板
-*utime.sleep(1)*
+使用QPYcom工具,我们可以将自己的 Python 脚本文件下载到模块中。
-
+hello world.py 文件内容:
-图26:helloworld 程序代码
+```python
+import utime
+while True:
+print(“hello world”)
+utime.sleep(1)
+```
具体的操作步骤如下:
-1. 下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
-
-2. 将开发板连接到电脑并开机
+1. 下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
+2. 将开发板连接到电脑并开机
+3. 选择“USB串行设备”串口,默认波特率,打开串口
+4. 点击“**文件**”标签,进入文件页(左侧为电脑本地的文件;右侧为模块端的文件)
+5. 左侧浏览电脑的文件,并选择对应的.py文件,拖动该文件到右侧的“Root”根节点,松开鼠标左键,即可自动下载文件到模块(也可以点击右侧栏的“**+**”按钮,浏览并选择文件,将文件下载到模块内)
+6. 文件下载过程中,页面底部状态栏有下载进度,进度到100%表示文件下载成功。
-3. 选择“USB串行设备”串口,默认波特率,打开串口
+
-4. 点击“**文件**”标签,进入文件页(左侧为电脑本地的文件;右侧为模块端的文件)
+如图所示,此时 hello world.py文件已经下载到模块主目录下,可以通过QPYcom工具的“交互”查看,操作如下:
-5. 左侧浏览电脑的文件,并选择对应的.py文件,拖动该文件到右侧的“Root”根节点,松开鼠标左键,即可自动下载文件到模块(也可以点击右侧栏的“**+**”按钮,浏览并选择文件,将文件下载到模块内)
+
-6. 文件下载过程中,页面底部状态栏有下载进度,进度到100%表示文件下载成功。
+| 小提示 |
+| ------------------------------------------------------------ |
+| 新版固件使用双文件系统,根目录 / 可读不可写;
备份分区 /bak 不可读不可写;
用户分区 /usr 可读可写。
用户的所有file io 操作,都应在 /usr 进行。 |
-
-
-图27:helloworld 程序下载
-
-> 如图所示,此时 hello world.py
-> 文件已经下载到模块主目录下,可以通过QPYcom工具的“交互”查看,操作如下:
-
-****
-
-图28:helloworld 程序是否存在检查
-
-| 小提示 |
-| -------------------------------------------------------------------------------------------------------------------------------------------- |
-| 新版固件使用双文件系统,根目录 / 可读不可写;备份分区 /bak 不可读不可写;用户分区 /usr 可读可写。 用户的所有file io 操作,都应在 /usr 进行。 |
-
-### 4.6 运行hello world.py程序
+### 运行hello world.py程序
运行模块内的python脚本,有两个方式:
-1. 手动运行
+- 手动运行
- 1.下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
- 2.将开发板连接到电脑并开机
+1. 下载QPYcom工具后,完整解压到任意目录,双击QPYcom.exe运行
- 3.选择“USB串行设备”串口,默认波特率,打开串口
+2. 将开发板连接到电脑并开机
- 4.点击“文件”标签,进入文件页(左侧为电脑本地的文件;右侧为模块端的文件)
+3. 选择“USB串行设备”串口,默认波特率,打开串口
- 5.右侧浏览模块内的文件,选中需要运行的py文件,点击“三角”按钮,QPYcom将自动跳转到“**交互**”页,并运行该脚本文件
+4. 点击“文件”标签,进入文件页(左侧为电脑本地的文件;右侧为模块端的文件)
- 6.也可以导入 example 模块,并使用exec方法运行 python 脚本程序:
+5. 右侧浏览模块内的文件,选中需要运行的py文件,点击“三角”按钮,QPYcom将自动跳转到“**交互**”页,并运行该脚本文件
- *import example*
+6. 也可以导入 example 模块,并使用exec方法运行 python 脚本程序:
- *example.exec(‘hello world.py’)*
+```python
+import example
+example.exec(‘hello world.py’)
+```
-| 小提示 |
-| ------------------------------------------------------------------------------------------ |
-| 如果是双文件系统,则应执行如下命令: *import example* *example.exec(‘usr/hello world.py’)* |
+| 小提示 |
+| ------------------------------------------------------------ |
+| 如果是双文件系统,则应执行如下命令: import example example.exec(‘usr/hello world.py’) |
-> 运行结果如下图所示:
+运行结果如下图所示:
-
+
-图29:helloworld 程序代码手动运行结果
-1. 开机后自动运行
- QuecPython支持上电自动执行用户代码。
+- 开机后自动运行
- Quectel 通信模组上电运行后,QuecPython会查找用户分区下名成为 main.py
- 的程序文件并自动执行该文件。所以如果用户希望能上电后自动运行自己的代码,需要将自己的程序命名为
- main.py,连同它的依赖等文件,一起下载到模块内。
+
+QuecPython支持上电自动执行用户代码。Quectel 通信模组上电运行后,QuecPython会查找用户分区下名成为 main.py的程序文件并自动执行该文件。所以如果用户希望能上电后自动运行自己的代码,需要将自己的程序命名为main.py,连同它的依赖等文件,一起下载到模块内。
| 小提示 |
| -------------------------------------------------------------------------------------------------------------------------------------- |
| 文件名必须是main.py(大小写完全一致),必须放在用户区内,才能实现开机后自动运行。 如果main.py调用其他py、mpy文件,需要一同下载到用户。 |
-> 以helloworld.py 为例说明:将helloworld.py 文件提供方法 2s 周期性打印“hello
-> world!”字符串; main.py 文件中调用 hello world.py 中的方法。
-
-helloworld.py:
-
-*import utime*
-
-*def prtHelloworld():*
-
-*while True:*
+以helloworld.py 为例说明:将helloworld.py 文件提供方法 2s 周期性打印“hello world!”字符串; main.py 文件中调用 hello world.py 中的方法。
-*print("hello world")*
+```python
+#helloworld.py代码
+import utime
+def prtHelloworld():
+while True:
+print("hello world")
+utime.sleep(1)
+```
-*utime.sleep(1)*
+```python
+# main.py:
+# 调用helloworld.py文件
+import helloworld
+# 调用helloworld.py 文件的 prtHelloworld() 函数
+helloworld.prtHelloworld()
+```
-main.py:
+| 小提示 |
+| ------------------------------------------------------------ |
+| (1)需要import的文件名,不建议包含空格等特殊字符,建议以纯英文命名。
(2)如果是双文件系统,用户的py文件,则需要使用如下方法import:
方法1:from usr import helloworld #helloworld表示py文件名
helloworld.prtHelloworld()
方法2:import usr.helloworld #意为usr目录下的helloworld.py 文件
usr.helloworld. .prtHelloworld() #注意,此方式一定要带上usr的前缀
(3)上边两种方法结合,可以引申为:
from usr.helloworld import *
prtHelloworld() #因为已经import *,所以此处直接调用函数名即可 |
-*\# 调用helloworld.py文件*
+将上面两个文件都下载到模块中。
-*import helloworld*
+
-*\# 调用helloworld.py 文件的 prtHelloworld() 函数*
+按一下开发板上的 RESET 按键,系统启动后,重新连接主串口,电脑键盘按下 Enter键,进入交互界面即可看到自动运行结果:
-*helloworld.prtHelloworld()*
+
-| 小提示 |
-| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| 需要import的文件名,不建议包含空格等特殊字符,建议以纯英文命名。 如果是双文件系统,用户的py文件,则需要使用如下方法import: *from usr import helloworld \#helloworld表示py文件名* *helloworld.prtHelloworld()* *import usr.helloworld \#意为usr目录下的helloworld.py 文件* *usr.helloworld. .prtHelloworld() \#注意,此方式一定要带上usr的前缀* 上边两种方法结合,可以引申为: *from usr.helloworld import \** *prtHelloworld() \#因为已经import \*,所以此处直接调用函数名即可* |
-> 将上面两个文件都下载到模块中。
-
-> 
-
-图30:helloworld 程序代码查询
-
-> 按一下开发板上的 RESET 按键,系统启动后,重新连接主串口,电脑键盘按下 Enter
-> 键,进入交互界面即可看到自动运行结果:
-
-> 
-
-图31:helloworld 程序代码自动运行结果
| 小提示 |
| ---------------------------------------------------------- |
@@ -663,7 +552,7 @@ main.py:
| ---------------------------------------------------------------------------------------------------------------------------- |
| 自动运行的脚本,或者循环输出的脚本,将无法使用Ctrl+C停止运行; 锁死交互的模块,也无法终止脚本运行; 唯一的方法是:重刷固件。 |
-### 4.7 常见问题解决
+### 常见问题解决
**Q:模块的固件在哪?**
@@ -677,12 +566,17 @@ P.S. 如果您遇到任何问题,请联系我们的在线支持:QQ群 445121
## 附录1 V1.1开发板丝印图
-
+
+
+
+
+
+
-
## 附录2 V1.2开发板丝印图
-
+
+
+
-
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/9da4a0317f1de07c6c249016fa65bafd.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/Create_project.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/9da4a0317f1de07c6c249016fa65bafd.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/Create_project.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/6056bd2376931da284e04f0940c7892b.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/DM_Quecpython.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/6056bd2376931da284e04f0940c7892b.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/DM_Quecpython.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/2d85c835125e0bab4d1ad4e01a61024b.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/DM_not_Quecpython.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/2d85c835125e0bab4d1ad4e01a61024b.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/DM_not_Quecpython.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/de6fa3f9fe8c997499c2ffd5db02aad3.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/Divers.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/de6fa3f9fe8c997499c2ffd5db02aad3.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/Divers.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.1_otherside.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.1_otherside.png
new file mode 100644
index 0000000000000000000000000000000000000000..b39c9112296fa245473b4c0fa7cadb8655075fc2
Binary files /dev/null and b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.1_otherside.png differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.1_positive.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.1_positive.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc6f696da8d6e99f2ee7c1e201bb6c07c6bb33d1
Binary files /dev/null and b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.1_positive.png differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.2_otherside.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.2_otherside.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab77bcd2d0e5ffd8e5c3d2c571c45516724e292a
Binary files /dev/null and b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.2_otherside.png differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.2_positive.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.2_positive.png
new file mode 100644
index 0000000000000000000000000000000000000000..935d7bad97fa21f016282c52c5330922d6111c2d
Binary files /dev/null and b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600XV1.2_positive.png differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5e037836c1559c13881ebe2639cf8771.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_AHT10.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5e037836c1559c13881ebe2639cf8771.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_AHT10.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/58de0f5e0c57461b126e5c8665a99e28.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_GL5528.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/58de0f5e0c57461b126e5c8665a99e28.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_GL5528.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/7f09d42b45d5f1169505590a63a9e115.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_KEY.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/7f09d42b45d5f1169505590a63a9e115.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_KEY.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/6507a12ac61656f6736377ac4241bc4c.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_L76K.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/6507a12ac61656f6736377ac4241bc4c.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_L76K.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d0bf3711e729c131dd83c8ad98bec972.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_LCD.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d0bf3711e729c131dd83c8ad98bec972.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_LCD.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/ff7500e1461f058f2ef101d2134c0886.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_LIS2DH12TR.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/ff7500e1461f058f2ef101d2134c0886.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_LIS2DH12TR.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/e6b049c2f882bb39a0278122df21cb27.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_PA.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/e6b049c2f882bb39a0278122df21cb27.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_PA.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_name_rules.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_name_rules.png
new file mode 100644
index 0000000000000000000000000000000000000000..76930a4ff60636877f134d7ae2a2d16250312a23
Binary files /dev/null and b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/EC600X_name_rules.png differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d1eeca970e44d660248f9f6f25a1e812.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/QPYcom_position.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d1eeca970e44d660248f9f6f25a1e812.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/QPYcom_position.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/4da4515f7097e7f4337154a0e52226e7.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/Running_results.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/4da4515f7097e7f4337154a0e52226e7.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/Running_results.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/29cbc2c9656b29355a1c6f59015d006e.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.1_silk_print01.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/29cbc2c9656b29355a1c6f59015d006e.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.1_silk_print01.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/f13cc3afb6932cfd1c5f78d953723873.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.1_silk_print02.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/f13cc3afb6932cfd1c5f78d953723873.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.1_silk_print02.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.2_silk_print01.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.2_silk_print01.png
new file mode 100644
index 0000000000000000000000000000000000000000..34b518961f2ada38a6e8891975d524f9016b3ae4
Binary files /dev/null and b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.2_silk_print01.png differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.2_silk_print02.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.2_silk_print02.png
new file mode 100644
index 0000000000000000000000000000000000000000..0feae7fd3437641324286c39ac8a4d7106167263
Binary files /dev/null and b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/V1.2_silk_print02.png differ
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/115afb04f6ee332c2399f1e76abc509f.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/choose_download.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/115afb04f6ee332c2399f1e76abc509f.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/choose_download.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d86237842936e1049c098269a49602ab.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/download_finish.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/d86237842936e1049c098269a49602ab.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/download_finish.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/95fee6c0b9fe96cc7480037c259175d2.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/downloading.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/95fee6c0b9fe96cc7480037c259175d2.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/downloading.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/1696795cef049793803ccd2c1e7a255d.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_check.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/1696795cef049793803ccd2c1e7a255d.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_check.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5ca93d1adc7c182b9020bd23e0c6b270.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_position.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5ca93d1adc7c182b9020bd23e0c6b270.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_position.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/bd7e9480d134ff8790c4e9cb13e5a721.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_running.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/bd7e9480d134ff8790c4e9cb13e5a721.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_running.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/111ab2ca4e13b3455e142be855c1a9f8.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_upload.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/111ab2ca4e13b3455e142be855c1a9f8.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/file_upload.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/346d5221e194f6f5df9ac4b4ed2cdc4d.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/finish.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/346d5221e194f6f5df9ac4b4ed2cdc4d.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/finish.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/ce452b73df89cad975b5ceedb8fd2b13.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/firmware_check01.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/ce452b73df89cad975b5ceedb8fd2b13.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/firmware_check01.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/2355e094f7fd88fb21ff48df186e5fcc.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/firmware_check02.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/2355e094f7fd88fb21ff48df186e5fcc.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/firmware_check02.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/3b29237824a8cbc88b23fb7560646b7c.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/install.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/3b29237824a8cbc88b23fb7560646b7c.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/install.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/1b8e9ded164723439e9d8e4625f95443.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/setup.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/1b8e9ded164723439e9d8e4625f95443.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/setup.png
diff --git a/docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5e080b6cfa2d93ba24e52ee203e6f427.png b/docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/start.png
old mode 100755
new mode 100644
similarity index 100%
rename from docs/Quecpython_intro/zh/Qp_Hw_EC600S/media/5e080b6cfa2d93ba24e52ee203e6f427.png
rename to docs/Quecpython_intro/zh/Qp_Hw_EC600X/media/start.png
diff --git a/docs/Quecpython_intro/zh/sidebar.yaml b/docs/Quecpython_intro/zh/sidebar.yaml
index 459071adef09fc410dd61854fcef9401a382e9d6..27da0f1bd980dc015a964d69fc57b363c4fae4b5 100644
--- a/docs/Quecpython_intro/zh/sidebar.yaml
+++ b/docs/Quecpython_intro/zh/sidebar.yaml
@@ -8,10 +8,8 @@ items:
items:
- label: 硬件支持
file: Qp_Product_intro/Hardware_Support.md
- - label: EC600S开发板
- file: Qp_Hw_EC600S/Hardware_Support_EC600S.md
- - label: EC600U开发板
- file: Qp_Hw_EC600U/Hardware_Support_EC600U.md
+ - label: EC600X开发板
+ file: Qp_Hw_EC600X/Hardware_Support_EC600X.md
- label: 资料获取
file: Qp_Product_intro/Data_Acquisition.md
- label: 适用场景