diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ubinascii.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ubinascii.md" index 7966accf9ee3ff351826dc2db717db20a6387d16..1a6460067b182c7dc0848c98382c99ba38d6fd39 100644 --- "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ubinascii.md" +++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ubinascii.md" @@ -1,12 +1,9 @@ +# ubinascii - 二进制与ASCII转换 -``` -本文阐述了QuecPython的ubinascii模块的用法,描述了ubinascii模块最新版本的特性。 -``` - 该模块实现了二进制数据与各种ASCII编码之间的转换(双向)。该模块实现相应CPython模块的子集,更多信息请参阅阅CPython文档:[binascii](https://docs.python.org/3.5/library/binascii.html#module-binascii) -## 构造函数 +## 解码base64编码的数据 ### `ubinascii.a2b_base64` @@ -16,6 +13,8 @@ ubinascii.a2b_base64(data) 解码base64编码的数据,会自动忽略输入中的无效字符,返回 bytes 对象。 +## 以base64格式编码二进制数据 + ### `ubinascii.b2a_base64` ```python @@ -24,6 +23,8 @@ ubinascii.b2a_base64(data) 以base64格式编码二进制数据,返回编码数据。后面跟换行符,作为 bytes 对象。 +## 将二进制数据转换为十六进制字符串表示 + ### `ubinascii.hexlify` ```python @@ -48,6 +49,8 @@ b'11 22 31 32 33' b'11,22,31,32,33' ``` +## 将十六进制形式的字符串转换成二进制形式的字符串表示 + ### `ubinascii.unhexlify` ```python diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ucollections.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ucollections.md" index 082ffba69d23fb150addd6a79401e6d6dcea7019..5d990fd53828554bfbd7a92b314b5dd8ce53ce3e 100644 --- "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ucollections.md" +++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ucollections.md" @@ -1,7 +1,7 @@ # ucollections - 集合和容器类型 -模块功能:ucollections 模块可以创建一个新的容器类型,用于保存各种对象。该模块实现了CPython模块相应模块的子集。更多信息请参阅CPython文档:[collections](https://docs.python.org/3/library/collections.html) +`ucollections`模块可以创建一个新的容器类型,用于保存各种对象。该模块实现了CPython模块相应模块的子集。更多信息请参阅CPython文档:[collections](https://docs.python.org/3/library/collections.html) ## `ucollections`方法 ### `ucollections.namedtuple` @@ -40,9 +40,9 @@ ucollections.deque(iterable, maxlen, flag) - `iterable` - tuple类型,必须是一个空元组 - `maxlen` - int类型,表示指定maxlen并将双端队列限制为此最大长度 -- `flag` - int类型,可选参数;0(默认):不检查队列是否溢出,达到最大长度时继续append会丢弃之前的值 ,1:当队列达到最大设定长度会抛出IndexError: full +- `flag` - int类型,可选参数;`0`(默认):不检查队列是否溢出,达到最大长度时继续append会丢弃之前的值 ,`1`:当队列达到最大设定长度会抛出IndexError: full -**返回值:** +**返回值描述:** - deque对象 @@ -72,11 +72,11 @@ deque.popleft() 从`deque`的左侧移除并返回移除的数据。如果`deque`为空,会引起索引错误 -**返回值:** +**返回值描述:** - 返回pop出的值 -**使用示例** +**示例** ```python from ucollections import deque diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uhashlib.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uhashlib.md" index 444876f0652b81946ea892976474eb4ce6dd411f..fdc6c5d5d1af0c6e61949cffe343b5a748246624 100644 --- "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uhashlib.md" +++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uhashlib.md" @@ -1,12 +1,8 @@ - - -``` -本文阐述了QuecPython的uhashlib模块的用法,描述了uhashlib模块最新版本的特性。 -``` +# class uhashlib - 哈希算法 该模块实现二进制数据散列算法。 -> 注意:目前仅支持sha256,sha1,MD5。 +> 目前仅支持sha256,sha1,MD5。 **示例:** @@ -65,7 +61,7 @@ class uhashlib.md5(bytes) ## 方法 -### hash_obj.update() +### `hash_obj.update()` ```python hash_obj.update(bytes) @@ -77,10 +73,10 @@ hash_obj.update(bytes) - `bytes` - 需要被加密的bytes类型数据。 -### hash_obj.digest() +### `hash_obj.digest()` ```python -hash_obj.digest(bytes) +hash_obj.digest() ``` 返回通过哈希传递的所有数据的散列,数据为字节类型。调用此方法后,无法再将更多的数据送入散列。 diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uio.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uio.md" new file mode 100644 index 0000000000000000000000000000000000000000..e987fb9a27e88ac1fc8362f168208994c56d60ad --- /dev/null +++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uio.md" @@ -0,0 +1,47 @@ +# uio - 输入输出流 + +`uio`模块包含其他类型的stream(类文件)对象和辅助函数。该模块实现相应CPython模块的子集。更多信息请参阅阅CPython文档:[io](https://docs.python.org/3.5/library/io.html#module-io) + +**示例**: + +```python +fd = uio.open('/usr/test.py', mode='r', encoding='UTF-8') +fd.close() +``` + +## 打开文件 + +### `uio.open` + +```python +uio.open(name, mode='r', **kwarg) +``` + +打开文件,内置`open()`函数是该函数的别名。 + +**参数描述** + +* `name` :字符串,表示文件名 + +* `mode` :字符串,打开模式 + +|打开模式|含义| +| ---- | ---- | +| 'r' |只读模式打开文件| +| 'w' |写入模式打开文件,每次写入会覆盖上次写入数据| +| 'a' |只写追加模式打开文件,可连续写入文件数据而不是覆盖数据| + +* `**kwarg`:可变长参数列表 + +**返回值描述** +成功则返回uio的对象,失败则根据不同的失败类型抛出error + +## 关闭打开的文件 + +### `uio.close` + +```python +uio.close() +``` + +关闭打开的文件。 \ No newline at end of file diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/usocket.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/usocket.md" index 838ebd34f6f938a022453a62429b6eab012a3322..4bd9820a29a947b33f97c5762a639ed168f3ab93 100644 --- "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/usocket.md" +++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/usocket.md" @@ -1,9 +1,6 @@ +# class usocket - socket模块 -``` -本文阐述了QuecPython的usocket模块的用法,描述了usocket模块最新版本的特性。 -``` - 该模块提供对BSD套接字接口的访问。该模块实现相应CPython模块的子集。更多信息请参阅阅CPython文档:[socket](https://docs.python.org/3.5/library/socket.html#module-socket) **示例:** @@ -33,22 +30,22 @@ if __name__ == '__main__': if stagecode == 3 and subcode == 1: socket_log.info('Network connection successful!') - # 创建一个socket实例 - sock = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) - # 解析域名 - sockaddr=usocket.getaddrinfo('www.tongxinmao.com', 80)[0][-1] - # 建立连接 - sock.connect(sockaddr) - # 向服务端发送消息 - ret=sock.send('GET /News HTTP/1.1\r\nHost: www.tongxinmao.com\r\nAccept-Encoding: deflate\r\nConnection: keep-alive\r\n\r\n') - socket_log.info('send %d bytes' % ret) - #接收服务端消息 - data=sock.recv(256) - socket_log.info('recv %s bytes:' % len(data)) - socket_log.info(data.decode()) - - # 关闭连接 - sock.close() + # 创建一个socket实例 + sock = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) + # 解析域名 + sockaddr=usocket.getaddrinfo('www.tongxinmao.com', 80)[0][-1] + # 建立连接 + sock.connect(sockaddr) + # 向服务端发送消息 + ret=sock.send('GET /News HTTP/1.1\r\nHost: www.tongxinmao.com\r\nAccept-Encoding: deflate\r\nConnection: keep-alive\r\n\r\n') + socket_log.info('send %d bytes' % ret) + #接收服务端消息 + data=sock.recv(256) + socket_log.info('recv %s bytes:' % len(data)) + socket_log.info(data.decode()) + + # 关闭连接 + sock.close() else: socket_log.info('Network connection failed! stagecode = {}, subcode = {}'.format(stagecode, subcode)) ``` @@ -118,7 +115,8 @@ socket.bind(address) 该方法用于套接字绑定指定address,必须尚未绑定。 -> **注意**:1.作为服务器时,需要进行绑定,以固定服务器的address。2.作为客户端时,绑定address用来指定套接字进行数据处理(配合usocket.TCP_CUSTOMIZE_PORT使用)。 +> 1.作为服务器时,需要进行绑定,以固定服务器的address。 +> 2.作为客户端时,绑定address用来指定套接字进行数据处理(配合usocket.TCP_CUSTOMIZE_PORT使用)。 **参数描述** @@ -227,7 +225,7 @@ socket.sendall(bytes) ``` 该方法用于套接字将所有数据都发送到套接字。与`send()`方法不同的是,此方法将尝试通过依次逐块发送数据来发送所有数据。 -注意:该方法再非阻塞套接字上的行为是不确定的,建议再MicroPython中,使用 `write()` 方法,该方法具有相同的“禁止短写”策略来阻塞套接字,并且将返回在非阻塞套接字上发送的字节数。 +> 该方法再非阻塞套接字上的行为是不确定的,建议再MicroPython中,使用 `write()` 方法,该方法具有相同的“禁止短写”策略来阻塞套接字,并且将返回在非阻塞套接字上发送的字节数。。 **参数描述:** @@ -353,7 +351,8 @@ socket.getsocketsta() 该方法用于获取TCP套接字的状态。 -> **注意**:1.BG95平台不支持该API。2.如果调用了 `socket.close()` 方法之后,再调用 `socket.getsocketsta()` 会返回-1,因为此时创建的对象资源等都已经被释放。 +> 1.BG95平台不支持该API。 +> 2.如果调用了 `socket.close()` 方法之后,再调用 `socket.getsocketsta()` 会返回-1,因为此时创建的对象资源等都已经被释放。 **返回值:** @@ -374,50 +373,50 @@ socket.getsocketsta() ## 常量 -### usocket.AF_INET +### `usocket.AF_INET` 地址族,IPV4类型。 -### usocket.AF_INET6 +### `usocket.AF_INET6` 地址族,IPV6类型。 -### usocket.SOCK_STREAM +### `usocket.SOCK_STREAM` socket类型,TCP的流式套接字。 -### usocket.SOCK_DGRAM +### `usocket.SOCK_DGRAM` socket类型,UDP的数据包套接字。 -### usocket.SOCK_RAW +### `usocket.SOCK_RAW` socket类型,原始套接字。 -### usocket.IPPROTO_TCP +### `usocket.IPPROTO_TCP` 协议号,TCP协议。 -### usocket.IPPROTO_UDP +### `usocket.IPPROTO_UDP` 协议号,UDP协议。 -### usocket.IPPROTO_TCP_SER +### `usocket.IPPROTO_TCP_SER` 协议号,TCP服务器。 -### usocket.TCP_CUSTOMIZE_PORT +### `usocket.TCP_CUSTOMIZE_PORT` 协议号,TCP客户端自定义address使用。 -### usocket.SOL_SOCKET +### `usocket.SOL_SOCKET` 套接字选项级别。 -### usocket.SO_REUSEADDR +### `usocket.SO_REUSEADDR` socket功能选项,允许设置端口复用。 -### usocket.TCP_KEEPALIVE +### `usocket.TCP_KEEPALIVE` socket功能选项,设置TCP保活包间隔时间。 diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ustruct.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ustruct.md" index 002dafab9ee959cfa98a2fe2548bf38bc82c8c14..75c1a4dd68d05c0a24828952eaa32c1e9a925220 100644 --- "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ustruct.md" +++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ustruct.md" @@ -1,7 +1,7 @@ # ustruct - 打包和解压原始数据类型 -模块功能:`ustruct`模块实现相应CPython模块的子集。更多信息请参阅CPython文档:[struct](https://docs.python.org/3.5/library/struct.html#module-struct) +`ustruct`模块实现相应CPython模块的子集。更多信息请参阅CPython文档:[struct](https://docs.python.org/3.5/library/struct.html#module-struct) ## 格式字符串 diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uzlib.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uzlib.md" index 08c8641b125fc7d6d6723c66024118b4cc53318e..d6d7cc0e467a7a7cb474fd988d2be28cef613a5b 100644 --- "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uzlib.md" +++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/uzlib.md" @@ -1,13 +1,11 @@ +# class uhashlib - zlib解压缩 -``` -本文阐述了QuecPython的uzlib模块的用法,描述了uzlib模块最新版本的特性。 -``` +该模块解压缩用[DEFLATE算法](https://en.wikipedia.org/wiki/DEFLATE)压缩二进制数据 (通常在zlib库和gzip存档器中使用)。该模块实现相应CPython模块的子集,更多信息请参阅阅CPython文档:[zlib](https://docs.python.org/3.5/library/zlib.html#module-zlib) -该模块解压缩用[DEFLATE算法](https://en.wikipedia.org/wiki/DEFLATE)压缩的二进制数据 (通常在zlib库和gzip存档器中使用)。该模块实现相应CPython模块的子集,更多信息请参阅阅CPython文档:[zlib](https://docs.python.org/3.5/library/zlib.html#module-zlib) - -> 注意:1.压缩尚未实现。2.解压缩前,应检查模块内可使用的空间,确保有足够空间解压文件。 +> 1.压缩尚未实现。 +> 2.解压缩前,应检查模块内可使用的空间,确保有足够空间解压文件。 ## 构造函数 @@ -18,7 +16,12 @@ uzlib.decompress(data, wbits=0, bufsize=0) ``` -返回解压后的 bytes 对象。`wbits`是解压时使用的DEFLATE字典窗口大小(8-15,字典大小是`wbits`值的2的幂)。如果该值为正,则假定`data`为zlib流(带有zlib标头),如果为负,则假定为原始的DEFLATE流。`bufsize`参数是为了与CPython兼容,将被忽略。 +返回解压后的 bytes 对象。 + +**参数描述:** +- `data` - 需要解压的数据。 +- `wbits` - 解压时使用的DEFLATE字典窗口大小(8-15,字典大小是`wbits`值的2的幂)。如果该值为正,则假定`data`为zlib流(带有zlib标头),如果为负,则假定为原始的DEFLATE流。 +- `bufsize` - 为了与CPython兼容,将被忽略。 ### `uzlib.DecompIO` diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/Queue.md" similarity index 98% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/Queue.md" index 51b481477e285182b3dff8dbb1fa120e346d4017..8e8708fd641c5dc9797095b41f3f9c879fa42e12 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/Queue.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/Queue.md" @@ -1,4 +1,4 @@ -# Queue - 普通队列 +# Queue - 消息队列 模块功能: 用于线程间通信 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md" index b3ee230eb8b7c2894dc239b1a609339ce5c498c8..ecf0aa119a3aed97b892f47d9e9f96af960dd4e7 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md" @@ -15,6 +15,11 @@ - [net - 网络相关功能](./net.md) - [cellLocator - 基站定位](./cellLocator.md) - [wifilocator - WiFi定位](./wifilocator.md) +- [ussl - SSL加密通信](./ussl.md) +- [request - HTTP客户端](./request.md) +- [umqtt - MQTT客户端](./umqtt.md) +- [uwebsocket - websocket客户端](./uwebsocket.md) +- [ntptime - 网络时间同步](./ntptime.md) - [fota - 固件升级相关功能](./fota.md) - [app_fota - 用户文件升级相关功能](./app_fota.md) - [checkNet - 网络就绪检测](./checkNet.md) @@ -34,5 +39,9 @@ - [securedata - 安全数据区相关功能](./securedata.md) - [ble- 低功耗蓝牙相关功能](./ble.md) - [bt- 经典蓝牙相关功能](./bt.md) +- [log -日志输出](./log.md) +- [system - 环境配置](./system.md) +- [ql_fs - 高级文件操作](./ql_fs.md) +- [Queue - 消息队列](./Queue.md) diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.ESP8266.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.ESP8266.md" index 74c673cd11a8a20a1f7254e6c717e4f5ac9a8282..7fe72ef3dc688603be92a95bc8e45850a515c539 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.ESP8266.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.ESP8266.md" @@ -149,6 +149,8 @@ ESP8266.ap(username,password) 使无线网卡以`ap`工作模式启动,作为无线热点。 +> ap模式理论最多支持`10`个终端设备接入。 + **参数描述:** - `username` - 配置 `WiFi热点` 的名称(1~32 个字符) @@ -168,7 +170,7 @@ ESP8266.web_config(username,password) 使无线网卡以`web 配网`工作模式启动,用户可通过web页面进行网络配置。 -> 提示:启用配网功能后,需使用手机/电脑等终端设备通过无线网络连接至无线网卡(用户自定义名称和密码),然后通过浏览器输入192.168.4.1进入配网页面。 +> 启用配网功能后,需使用手机/电脑等终端设备通过无线网络连接至无线网卡(用户自定义名称和密码),然后通过浏览器输入192.168.4.1进入配网页面。 **参数描述:** @@ -189,7 +191,7 @@ ESP8266.ota(url) 开启`ota`后,网卡将更新新版本固件 -> 注意:当前仅支持sta模式下进行ota升级;且升级过程中只可查询当前状态,不可进行其他操作 +> 当前仅支持sta模式下进行ota升级;且升级过程中只可查询当前状态,不可进行其他操作。 **参数描述:** diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.md" index e65e60f472e2357777c15694c390db6079a0179d..20cf514f392ac13f87e155b3e4186e098bf0d991 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/WLAN.md" @@ -3,7 +3,7 @@ `WLAN`模块包含无线局域网控制及网络配置功能。主要是针对不同类型无线网卡提供统一的管理方式。 -> 当前功能支持模组:EC600N系列
当前功能支持网卡:ESP8266无线网卡 +> 当前支持此功能模组:EC600N系列
当前支持此功能网卡:ESP8266无线网卡 **示例:** @@ -112,4 +112,4 @@ ## Classes -- [class ESP8266 – ESP8266驱动](./WLAN.ESP8266.md) \ No newline at end of file +- [class ESP8266 – ESP8266无线网络控制](./WLAN.ESP8266.md) \ No newline at end of file diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/log.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/log.md" similarity index 75% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/log.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/log.md" index 14a338a44d641e11c4c9655f10fef6099bb74ae6..b036fe0c692759efbedabc185606a3d8dd25b7c6 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/log.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/log.md" @@ -1,6 +1,6 @@ -# log -日志 +# log -日志输出 -在程序开发中,日志(log)是一种用于记录应用程序在运行时状态的工具。它可以记录应用程序的运行情况,以及帮助开发人员诊断和解决问题。通过记录日志,开发人员可以更快地找到问题的根本原因,也可以更好地了解应用程序的行为和性能。`log` 模块可以记录不同级别的日志,包括调试信息、警告信息、错误信息等。 +在程序开发中,日志(log)是一种用于记录应用程序在运行时状态的工具。它可以记录应用程序的运行情况,以及帮助开发人员诊断和解决问题。通过记录日志,开发人员可以更快地找到问题的根本原因,也可以更好地了解应用程序的行为和性能。`log` 模块可以输出不同级别的日志,包括调试信息、警告信息、错误信息等。 @@ -8,29 +8,29 @@ ### `log.DEBUG` -常量,用来标识LOG等级, 最详细的日志信息,通常只在开发和调试时使用。 +常量,用来标识LOG等级,最详细的日志信息,通常只在开发和调试时使用。 ### `log.INFO` -常量,用来标识LOG等级,确认一切按预期运行。 +常量,用来标识LOG等级,确认一切按预期运行。 ### `log.WARNING` -常量,用来标识LOG等级,表明发生了一些意外,或者指示可能出现问题的情况,但仍然可以继续执行。 +常量,用来标识LOG等级,表明发生了一些意外,或者指示可能出现问题的情况,但仍然可以继续执行。 ### `log.ERROR` -常量,用来标识LOG等级,由于更严重的问题,应用程序已不能执行某些功能。 +常量,用来标识LOG等级,由于更严重的问题,应用程序已不能执行某些功能。 ### `log.CRITICAL` -常量,用来标识LOG等级,指出应用程序中的严重错误,可能导致应用程序停止运行。 +常量,用来标识LOG等级,指出应用程序中的严重错误,可能导致应用程序停止运行。 ## 日志设置 ### `log.basicConfig` -设置日志输出级别, 默认为log.INFO,系统只会输出 level 数值大于或等于该 level 的的日志结果。 +设置日志输出级别,默认为log.INFO,系统只会输出 level 数值大于或等于该 level 的的日志结果。 ```python log.basicConfig(level) @@ -49,7 +49,7 @@ log.basicConfig(level=log.INFO) ### `log.set_output` -设置日志输出的位置, 目前只支持uart和usys.stdout +设置日志输出的位置,目前只支持uart和usys.stdout ```python log.set_output(out) @@ -85,7 +85,7 @@ Testlog.info("this is a Test log") # 会输出到交互口 ### `log.getLogger` -获取log对象,对象支持输出不同等级的log信息。 +获取log对象,对象支持输出不同等级的log信息。 ```python Testlog = log.getLogger(name) diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.ADC.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.ADC.md" index 5ddc014888991dfb893cda4f8c96f4a7bdfa7936..51d97a1647d71f2746559858029b02e941d60de8 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.ADC.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.ADC.md" @@ -1,4 +1,4 @@ -# class ADC - 电压采集功能 +# class ADC - 模数转换 用于采集电压信号。 @@ -58,7 +58,18 @@ ADC.read(ADCn) **ADC通道与物理引脚的映射关系:** -EC100Y系列对应引脚如下
ADC0 – 引脚号39
ADC1 – 引脚号81
EC600S/EC600N系列对应引脚如下
ADC0 – 引脚号19
EC600M系列对应引脚如下
ADC0 – 引脚号19
ADC1 – 引脚号20
EC800N系列对应引脚如下
ADC0 – 引脚号9
EC600U系列对应引脚如下
ADC0 – 引脚号19
ADC1 – 引脚号20
ADC2 – 引脚号113
ADC3 – 引脚号114
EC200U系列对应引脚如下
ADC0 – 引脚号45
ADC1 – 引脚号44
ADC2 – 引脚号43
EC200A系列对应引脚如下
ADC0 – 引脚号45
ADC1 – 引脚号44
BG95系列对应引脚如下
ADC0 – 引脚号24
EG915U系列对应引脚如下
ADC0 – 引脚号24
ADC1 – 引脚号2
EC800M系列对应引脚如下
ADC0 – 引脚号9
ADC1 – 引脚号96
EG912N系列对应引脚如下
ADC0 – 引脚号24
ADC1 – 引脚号2 +| 系列 | 引脚对应 | +| ------ | ------------------------------------------------------------ | +| EC600N | ADC0 – 引脚号19 | +| EC600M | ADC0 – 引脚号19
ADC1 – 引脚号20 | +| EC800N | ADC0 – 引脚号9 | +| EC600U | ADC0 – 引脚号19
ADC1 – 引脚号20
ADC2 – 引脚号113
ADC3 – 引脚号114 | +| EC200U | ADC0 – 引脚号45
ADC1 – 引脚号44
ADC2 – 引脚号43 | +| EC200A | ADC0 – 引脚号45
ADC1 – 引脚号44 | +| BG95 | ADC0 – 引脚号24 | +| EG915U | ADC0 – 引脚号24
ADC1 – 引脚号2 | +| EC800M | ADC0 – 引脚号9
ADC1 – 引脚号96 | +| EG912N | ADC0 – 引脚号24
ADC1 – 引脚号2 | ### ADC.close diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PWM.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PWM.md" index be6d95fbccee68094e5159952a9b9cb20d9dad06..73e52703c3d3ed29d50ce0a9bbb68bdd92bd1b25 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PWM.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PWM.md" @@ -2,7 +2,7 @@ 提供脉宽调制输出功能。 -> 注意:BC25系列不支持此模块。 +> BC25系列不支持此模块。 ## 构造函数 @@ -37,7 +37,16 @@ class misc.PWM(PWM.PWMn,PWM.ABOVE_xx, highTime, cycleTime) **PWM通道与物理引脚的映射关系:** -EC100Y系列,支持PWM0-PWM3,对应引脚如下:
PWM0 – 引脚号19
PWM1 – 引脚号18
PWM2 – 引脚号23
PWM3 – 引脚号22
EC600SCN/EC600N系列,支持PWM0-PWM3,对应引脚如下:
PWM0 – 引脚号52
PWM1 – 引脚号53
PWM2 – 引脚号70
PWM3 – 引脚号69
EC800N系列,支持PWM0-PWM3,对应引脚如下:
PWM0 – 引脚号79
PWM1 – 引脚号78
PWM2 – 引脚号16
PWM3 – 引脚号49
EC200U系列,支持PWM0,对应引脚如下:
PWM0 – 引脚号135
EC600U系列,支持PWM0,对应引脚如下:
PWM0 – 引脚号70
EC600M系列,支持PWM0-PWM3,对应引脚如下:
PWM0 – 引脚号57
PWM1 – 引脚号56
PWM2 – 引脚号70
PWM3 – 引脚号69
EG915U系列,支持PWM0,对应引脚如下:
PWM0 – 引脚号20
EC800M系列,支持PWM0-PWM3,对应引脚如下:
PWM0 – 引脚号83
PWM1 – 引脚号78
PWM2 – 引脚号16
PWM3 – 引脚号49
EG912N系列,支持PWM0-PWM3,对应引脚如下:
PWM0 – 引脚号21
PWM1 – 引脚号116
PWM2 – 引脚号107
PWM3 – 引脚号92 +| 系列 | 对应引脚 | +| ------ | ------------------------------------------------------------ | +| EC600N | PWM0 – 引脚号52
PWM1 – 引脚号53
PWM2 – 引脚号70
PWM3 – 引脚号69 | +| EC800N | PWM0 – 引脚号79
PWM1 – 引脚号78
PWM2 – 引脚号16
PWM3 – 引脚号49 | +| EC200U | PWM0 – 引脚号135 | +| EC600U | PWM0 – 引脚号70 | +| EC600M | PWM0 – 引脚号57
PWM1 – 引脚号56
PWM2 – 引脚号70
PWM3 – 引脚号69 | +| EG915U | PWM0 – 引脚号20 | +| EC800M | PWM0 – 引脚号83
PWM1 – 引脚号78
PWM2 – 引脚号16
PWM3 – 引脚号49 | +| EG912N | PWM0 – 引脚号21
PWM1 – 引脚号116
PWM2 – 引脚号107
PWM3 – 引脚号92 | ## 方法 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.Power.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.Power.md" index 59ed7565760e7adb4e453903c66ae67f341b332d..ceb3326c6b599b2574c32d2fa0372e93b21b1ffa 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.Power.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.Power.md" @@ -1,6 +1,6 @@ # power - 关机以及软件重启 -模块功能: 提供关机、软件重启、获取开机原因、获取上次关机原因、获取电池电压功能。 +提供关机、软件重启、获取开机原因、获取上次关机原因、获取电池电压功能。 ## 关机功能 @@ -77,7 +77,7 @@ Power.powerDownReason() | 5 | 看门狗触发的关机 | | 6 | VRTC 电压过低触发关机 | -> 注意:BC25PA平台和EC200U/EC600U平台不支持此方法。 +> BC25PA系列和EC200U/EC600U系列不支持此方法。 ## 获取电池电压 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PowerKey.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PowerKey.md" index 7f445ac81140c5d8209bb8b7b899efc3f3df3e1c..ef5c18073c56b1aa4e8337bdbbd63fe2936dc16f 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PowerKey.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.PowerKey.md" @@ -39,7 +39,7 @@ PowerKey.powerKeyEventRegister(usrFun) `0`表示注册成功,`-1`表示注册失败。 -> 注意:EC600S/EC600N系列,对于powerkey,按下和松开时,都会触发用户注册的回调函数; +> EC600S/EC600N系列,对于powerkey,按下和松开时,都会触发用户注册的回调函数; > > EC200U/EC600U系列,对于powerkey,只在按键松开时才会触发回调函数,并且按键按下的时间需要维持500ms以上。 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USB.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USB.md" index 19e0ecae6b515d7ba7bc6691c5855151ce5deebd..968953f3aa355e68688e7482c5766615c8ef7de4 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USB.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USB.md" @@ -2,7 +2,7 @@ 提供USB插拔检测功能。 -> 注意:EC600S/EC600N/EC800N/EG912N/EC200U/EC600U/EG915U/EC600M/EC800M/EC200A系列支持该功能。 +> EC600S/EC600N/EC800N/EG912N/EC200U/EC600U/EG915U/EC600M/EC800M/EC200A系列支持该功能。 ## 构造函数 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USBNET.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USBNET.md" index ee22eed4420ed1017b6bab470524577cbe10f32a..9b18bf31990409e480731d09bb1ab15f2e726f21 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USBNET.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.USBNET.md" @@ -1,8 +1,8 @@ # USBNET - USB网卡功能 -模块功能: 提供USB网卡功能。 + 提供USB网卡功能。 -> 注意:EC600S/EC600N/EC800N/EC200U/EC600U/EC600M系列支持该功能。 +> EC600S/EC600N/EC800N/EC200U/EC600U/EC600M系列支持该功能。 ## 设置USB网卡工作类型 @@ -102,7 +102,7 @@ USBNET.getNat(simid, pid) 获取某一路网卡的NAT使能情况(是否支持ipv6拨号)。 -> 注意:(仅在EC200U/EC600U系列支持) +> 仅在EC200U/EC600U系列支持 **参数描述:** @@ -133,7 +133,7 @@ USBNET.setNat(simid, pid, nat) NAT设置,设置成功后重启生效(USBNET.set_worktype()接口调用的时候会使对应的nat值变为1,使得该pid无法IPV6拨号,所以在close USBnet后,可以使用该接口关闭NAT,使IPV6功能正常)。 -> 注意:仅在EC200U/EC600U系列支持 +> 仅在EC200U/EC600U系列支持 **参数描述:** diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.md" index 3915ad3f97330048f16b132a18c07aef3bad66bd..add3c86bf2e454e4639e6d782a2c76ca47b19a69 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/misc.md" @@ -1,6 +1,6 @@ # misc- 其他 -模块功能: 提供关机、软件重启、PWM以及ADC相关功能。 + 提供关机、软件重启、PWM以及ADC相关功能。 ## 分集天线配置接口功能 diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ntptime.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ntptime.md" similarity index 88% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ntptime.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ntptime.md" index 7638cee8b5c03f3615bc17dd2166788798ee771a..3b5641fe3f8557b00cf5e1a0ffd769e52c8a5aa3 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ntptime.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ntptime.md" @@ -1,8 +1,8 @@ -# ntptime - NTP对时 +# ntptime - 网络时间同步 -模块功能:该模块用于时间同步。 +该模块用于网络时间同步。 -注意:BC25PA平台电信卡开卡时需要说明SIM卡须支持此类业务,移动联通一般不限制(开卡时需要和运营商确认)。 +> BC25PA平台电信卡开卡时需要说明SIM卡须支持此类业务,移动联通一般不限制(开卡时需要和运营商确认)。 ### `ntptime.host` diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ql_fs.md" similarity index 100% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ql_fs.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ql_fs.md" diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/qrcode.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/qrcode.md" index fb40a27e85ecb0e0a57f436d171cf31468db6a19..fbeaa9ebbbabca32f7598daa30d273a29ae8bbf2 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/qrcode.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/qrcode.md" @@ -1,6 +1,6 @@ # qrcode- 二维码显示 -模块功能:根据输入的内容,生成对应的二维码。 +根据输入的内容,生成对应的二维码。 ## 二维码显示功能 @@ -14,13 +14,13 @@ qrcode.show(qrcode_str,magnification,start_x,start_y,Background_color,Foreground **参数描述:** -- `qrcode_str`-string类型,二维码内容; -- `magnification`-int类型,放大倍数[1,6]; -- `start_x`-int类型,二维码显示起始x坐标; -- `start_y`-int类型,二维码显示起始y坐标; +- `qrcode_str`-string类型,二维码内容; +- `magnification`-int类型,放大倍数[1,6]; +- `start_x`-int类型,二维码显示起始x坐标; +- `start_y`-int类型,二维码显示起始y坐标; - `Background_color`-int类型,前景色(不设置即默认为0xffff); -- `Foreground_color`,int类型,背景色(不设置即默认为0x0000)。 +- `Foreground_color`-int类型,背景色(不设置即默认为0x0000)。 **返回值描述:** -`0`表示成功,`-1`表示生成二维码失败,`-2`表示放大失败,`-3`表示显示失败。 +`0`表示成功,`-1`表示生成二维码失败,`-2`表示放大失败,`-3`表示显示失败。 diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/request.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/request.md" similarity index 95% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/request.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/request.md" index cb826d53b591b3786f0a82d407488e5f86eabe24..da8c6e419b2cfe58ce86d3021c3768e79bbcb9b7 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/request.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/request.md" @@ -1,6 +1,6 @@ -# request- HTTP 客户端库 +# request - HTTP客户端 -`request`是一个 HTTP 客户端库,用于向服务器发起 HTTP 请求,它可以被用于从一个服务器获取数据,或者将数据提交到服务器上,支持多种请求方法(如 GET、POST、PUT等)。 +`request`模块用于向服务器发起 HTTP 请求,它可以被用于从一个服务器获取数据,或者将数据提交到服务器上,支持多种请求方法(如 GET、POST、PUT等)。 ## HTTP请求 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" index a6d60d2df574dfb88521488fb2fcfceef3b4d9f5..7ecfb7b7d0d6aae8774d451f3001f946ed2f0e0c 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/sim.md" @@ -433,7 +433,7 @@ SIM卡热插拔开关:用于设置SIM卡热插拔相关配置。 -> BC25系列不支持此方法。 +> BC25/EC600M/EC800M/EG810M系列不支持此方法。 @@ -469,7 +469,7 @@ sim.getSimDet() ->BC25系列不支持此方法。 +>BC25/EC600M/EC800M/EG810M系列不支持此方法。 @@ -501,7 +501,7 @@ sim.getCurSimid() ->支持该方法的模组:EC600M/EC800M系列。 +>支持该方法的模组:EC600M/EC800M/EC600E/EC800E系列。 @@ -533,7 +533,7 @@ sim.switchCard(simId) ->支持该方法的模组:EC600M/EC800M系列。 +>支持该方法的模组:EC600M/EC800M/EC600E/EC800E系列。 @@ -580,7 +580,7 @@ def usrFun(args): -> BC25系列不支持此方法。 +> BC25/EC600M/EC800M/EG810M系列不支持此方法。 @@ -625,7 +625,7 @@ def usrFun(args): -> 支持该方法的模组:EC600M/EC800M系列。 +> 支持该方法的模组:EC600M/EC800M/EC600E/EC800E系列。 > > 注意以下几点:
1、目标卡不存在或者目标卡状态异常;
2、目标卡是当前卡;
以上情况切卡方法`sim.switchCard`直接返回-1,不触发此接口设置的回调函数。 diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/system.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/system.md" similarity index 100% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/system.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/system.md" diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/umqtt.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/umqtt.md" similarity index 98% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/umqtt.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/umqtt.md" index eab861f18a5db787faaf4b16ed511a463220504b..ebcff35e8ea3845aa4fdb27df201140cb3aec664 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/umqtt.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/umqtt.md" @@ -1,4 +1,4 @@ -# umqtt - MQTT +# umqtt - MQTT客户端 模块功能:提供创建MQTT客户端发布订阅功能。 @@ -10,12 +10,12 @@ QoS1 – 至少一次,是中间级别;发送者保证消息至少送达到 QoS2 – 有且仅有一次,是最高级别;保证消息送达且仅送达一次。 ``` -## 初始化MQTT +## 构造函数 -### `MQTTClient` +### `umqtt.MQTTClient` ```python -MQTTClient(client_id, server, port=0, user=None, password=None, keepalive=0, ssl=False, ssl_params={},reconn=True,version=4) +class umqtt.MQTTClient(client_id, server, port=0, user=None, password=None, keepalive=0, ssl=False, ssl_params={},reconn=True,version=4) ``` 构建mqtt连接对象。 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/uping.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/uping.md" index 1fe8aad5727fd6f780a9a274824d7105bf5a48aa..8b198ef8f8719586b948011ac0ae07657763863d 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/uping.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/uping.md" @@ -1,8 +1,9 @@ -# class uping - 发送ping包 +# uping - 发送ping包 该模块实现了 IPv4 ping 请求功能。 -> 注意:1.可能会存在host地址无法建立socket连接异常。2.通过初始化参数中的`COUNT`和`INTERVAL`来确认发Ping包周期。 +>1.可能会存在host地址无法建立socket连接异常。 +>2.通过初始化参数中的`COUNT`和`INTERVAL`来确认发Ping包周期。 **示例:** @@ -29,7 +30,7 @@ result = uping.ping('baidu.com', quiet=True) # result(tx=4, rx=4, losses=0, min=76.93899999999999, avg=131.348, max=226.697) ``` -## 构造函数 +## 发送 ping 请求 ### `uping.ping` @@ -41,13 +42,11 @@ uping.ping(HOST, SOURCE=None, COUNT=4, INTERVAL=1000, SIZE=64, TIMEOUT=5000, qui **参数描述:** -| 参数 | 类型 | 说明 | -| -------- | ---- | ------------------------------------------------------------ | -| HOST | str | 所要ping的域名地址, 例如"baidu.com" | -| SOURCE | str | 源地址, 用于绑定, 一般情况下不需要传 | -| COUNT | int | 默认是4次, 发送4次ping包 | -| INTERVAL | int | 间隔时间, 单位:ms, 默认1000ms | -| SIZE | int | 每次读取的包大小默认64, 无需修改 | -| TIMEOUT | int | 超时时间, 单位:ms, 默认5000ms | -| quiet | bool | 默认:false,打印直接输出。若设为True, 调用start默认打印的值会被转换成对象返回。 | +- `HOST` - 主机名,字符串类型,所要ping的域名地址, 例如"baidu.com"。 +- `SOURCE` - 源地址,字符串类型,用于绑定, 一般情况下不需要传。 +- `COUNT` - 默认请求次数,整型,默认是4次,发送4次ping包。 +- `INTERVAL` - 间隔时间,整型,用于绑定, 一般情况下不需要传。 +- `SIZE` - 每次读取的包大小,整型,默认64, 无需修改。 +- `TIMEOUT` - 超时时间,整型,单位:ms, 默认5000ms。 +- `quiet` - 打印是否直接输出,布尔类型,默认:false,打印直接输出。若设为True, 调用start默认打印的值会被转换成对象返回。 diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ussl.md" similarity index 69% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ussl.md" index ac74682cbe2935a6b8ad8b970b9c5108b3552ad9..e18f8d160fbbdbcadf61689733698edc2318d04f 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/ussl.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ussl.md" @@ -1,6 +1,78 @@ -# SSL +# ussl - SSL加密通信 + +ussl模块实现了TLS/SSL加密通信功能, 主要用于单向和双向认证使用。 + +> BC25PA平台不支持ussl模块。 + + + +## 创建SSL连接通道 + +### `ussl.wrap_socket` + +```python +ussl.wrap_socket(sock,server_hostname=None,cert=None,key=None) +``` + +**参数描述:** + +- `sock` - usocket.socket对象, 必须参数,要包装的套接字(usocket.socket)对象 +- `server_hostname` - 字符串类型, 可选参数, 服务器IP地址 + +- `cert` - 字符串类型, 可选参数, 数字证书数据 + +- `key` - 字符串类型, 可选参数, 私钥数据 + +**返回值描述:** + +返回一个被包装的`usocket.socket`对象, 并且具有`usocket.socket`所有方法及功能 + +**示例:** + +```python +import usocket +# 这里TLS举例 + +# 1. 单向认证说明 +# 创建一个socket实例 +sock = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) +# 解析域名 +sockaddr=usocket.getaddrinfo('www.tongxinmao.com', 80)[0][-1] +# 建立连接 +sock.connect(sockaddr) +# 简历SSL连接. 前提需要服务器支持 +sock = ussl.wrap_socket(sock, server_hostname=sockaddr[0]) +# 向服务端发送消息 +ret=sock.send('GET /News HTTP/1.1\r\nHost: www.tongxinmao.com\r\nAccept-Encoding: deflate\r\nConnection: keep-alive\r\n\r\n') +socket_log.info('send %d bytes' % ret) +# 接收服务端消息 +data=sock.recv(256) +socket_log.info('recv %s bytes:' % len(data)) +socket_log.info(data.decode()) + + +# 1. 双向认证说明 +cert = "数据证书" +key = "私钥" +# 创建一个socket实例 +sock = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) +# 解析域名 +sockaddr=usocket.getaddrinfo('www.tongxinmao.com', 80)[0][-1] +# 建立连接 +sock.connect(sockaddr) +# 简历SSL连接. 前提需要服务器支持 +sock = ussl.wrap_socket(sock, server_hostname=sockaddr[0], cert=cert, key=key) +# 向服务端发送消息 +ret=sock.send('GET /News HTTP/1.1\r\nHost: www.tongxinmao.com\r\nAccept-Encoding: deflate\r\nConnection: keep-alive\r\n\r\n') +socket_log.info('send %d bytes' % ret) +# 接收服务端消息 +data=sock.recv(256) +socket_log.info('recv %s bytes:' % len(data)) +socket_log.info(data.decode()) + +``` + -注意 BC25PA平台不支持模块功能。 diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/uwebsocket.md" similarity index 97% rename from "docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" rename to "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/uwebsocket.md" index dc81e5567f255970e93b054599b5b9440230b83d..96e7a102f4409d74e7676d94348cfb845c78a506 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/uwebsocket.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/uwebsocket.md" @@ -1,4 +1,4 @@ -# uwebsocket +# uwebsocket - websocket客户端 模块功能: 提供用于websocket连接使用 diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/wifilocator.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/wifilocator.md" index 37e7206a74bc5ec2af200015f6250c6be1893f4b..d57c1e383c46100b4d33e06b6c7523c27d309da1 100644 --- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/wifilocator.md" +++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/wifilocator.md" @@ -11,11 +11,11 @@ **示例:** ```python -import wifilocator +>>> import wifilocator # 创建wifilocato对象 -wifiloc = wifilocator.wifilocator("xxxxxxxxxxxxxxxx") +>>> wifiloc = wifilocator.wifilocator("xxxxxxxxxxxxxxxx") # 获取模块坐标信息 -wifiloc.getwifilocator() +>>> wifiloc.getwifilocator() (117.1152877807617, 31.82142066955567, 100) # 上面使用的密钥"xxxxxxxxxxxxxxxx"指代token,具体需要向移远申请 ``` @@ -40,7 +40,7 @@ class wifilocator.wifilocator(token) ## 获取坐标信息 -### wifilocator.getwifilocator +### `wifilocator.getwifilocator` ```python wifilocator.getwifilocator() diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" index c25939a608422a86161abbd4781a4d083e17d974..7a7deeb2b3e1677bda88bd95f21904c25faed066 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/README.md" @@ -7,14 +7,7 @@ ## QuecPython 组件库列表 - [aLiYun - 阿里云服务](./aLiYun.md) -- [ql_fs - 文件存储](./ql_fs.md) -- [Queue - 队列](./Queue.md) -- [sys_bus - 会话总线](./sys_bus.md) -- [uwebsocket - websocket](./uwebsocket.md) - [TenCentYun - 腾讯云服务](./TenCentYun.md) -- [request - HTTP请求](./request.md) -- [log - 日志模块](./log.md) -- [umqtt - MQTT模块](./umqtt.md) -- [ussl - ussl模块](./ussl.md) +- [sys_bus - 会话总线](./sys_bus.md) diff --git "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" index de96320067ef12222f1639e7167a8c5af6ba2508..2c3011c3e1bce017356ec119424d797b5b8b9e36 100644 --- "a/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" +++ "b/docs/API_reference/zh/QuecPython\347\273\204\344\273\266\345\272\223/sys_bus.md" @@ -1,4 +1,4 @@ -# sys_bus会话总线 +# sys_bus - 会话总线 模块功能: 用于消息的订阅和发布广播, 多线程处理等,用于一对多的广播, 类似于内部的mqtt diff --git a/docs/API_reference/zh/sidebar.yaml b/docs/API_reference/zh/sidebar.yaml index 89974b69733b5e8f2c12a2255c55a902b4fc24b8..36ad8c7014bb441871326f868b560f7130d8c71c 100644 --- a/docs/API_reference/zh/sidebar.yaml +++ b/docs/API_reference/zh/sidebar.yaml @@ -53,6 +53,16 @@ items: file: QuecPython类库/cellLocator.md - label: wifilocator - WIFI定位 file: QuecPython类库/wifilocator.md + - label: ussl - SSL算法 + file: QuecPython类库/ussl.md + - label: request - HTTP客户端 + file: QuecPython类库/request.md + - label: umqtt - MQTT客户端 + file: QuecPython类库/umqtt.md + - label: uwebsocket - websocket客户端 + file: QuecPython类库/uwebsocket.md + - label: ntptime - 网络时间同步 + file: QuecPython类库/ntptime.md - label: fota - 固件升级相关功能 file: QuecPython类库/fota.md - label: app_fota - 用户文件升级相关功能 @@ -92,13 +102,24 @@ items: file: QuecPython类库/audio.Record.md - label: WLAN - 无线局域网相关功能 file: QuecPython类库/WLAN.md + items: + - label: ESP8266 - 乐鑫ESP8266模组驱动 + file: QuecPython类库/WLAN.ESP8266.md - label: misc - 其他 file: QuecPython类库/misc.md items: - - label: USBNET - USB网卡 - file: QuecPython类库/misc.USBNET.md - label: Power - 关机和重启 file: QuecPython类库/misc.Power.md + - label: PowerKey - PowerKey按键回调注册 + file: QuecPython类库/misc.PowerKey.md + - label: PWM - 脉宽调制 + file: QuecPython类库/misc.PWM.md + - label: ADC - 模数转换 + file: QuecPython类库/misc.ADC.md + - label: USB - USB插拔检测 + file: QuecPython类库/misc.USB.md + - label: USBNET - USB网卡 + file: QuecPython类库/misc.USBNET.md - label: modem - 设备相关 file: QuecPython类库/modem.md - label: machine - 硬件相关功能 @@ -140,6 +161,14 @@ items: file: QuecPython类库/ble.md - label: bt - 经典蓝牙相关功能 file: QuecPython类库/bt.md + - label: log - 日志输出 + file: QuecPython类库/log.md + - label: system - 环境配置 + file: QuecPython类库/system.md + - label: ql_fs - 高级文件操作 + file: QuecPython类库/ql_fs.md + - label: Queue - 消息队列 + file: QuecPython类库/Queue.md - label: QuecPython组件库 file: QuecPython组件库/README.md items: @@ -147,23 +176,5 @@ items: file: QuecPython组件库/aLiYun.md - label: TenCentYun- 腾讯云服务 file: QuecPython组件库/TenCentYun.md - - label: request - HTTP相关服务 - file: QuecPython组件库/request.md - - label: log - 日志 - file: QuecPython组件库/log.md - - label: umqtt - MQTT - file: QuecPython组件库/umqtt.md - - label: ntptime - NTP对时 - file: QuecPython组件库/ntptime.md - - label: system - 环境配置 - file: QuecPython组件库/system.md - - label: ql_fs - 高级文件操作 - file: QuecPython组件库/ql_fs.md - - label: Queue - 普通队列 - file: QuecPython组件库/Queue.md - label: sys_bus - 会话总线 - file: QuecPython组件库/sys_bus.md - - label: uwebsocket - websocket服务 - file: QuecPython组件库/uwebsocket.md - - label: ussl - SSL算法 - file: QuecPython组件库/ussl.md \ No newline at end of file + file: QuecPython组件库/sys_bus.md \ No newline at end of file diff --git a/docs/FAQ/zh/media/network-basics-1.png b/docs/FAQ/zh/media/network-basics-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c587066b4c3ca2b81cdc11303617544743bfb685 Binary files /dev/null and b/docs/FAQ/zh/media/network-basics-1.png differ diff --git a/docs/FAQ/zh/media/network-voicecall-and-sms-1.png b/docs/FAQ/zh/media/network-voicecall-and-sms-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f7ec3408b99d4607fab64ecac0da95c7557b2906 Binary files /dev/null and b/docs/FAQ/zh/media/network-voicecall-and-sms-1.png differ diff --git a/docs/FAQ/zh/network/basics.md b/docs/FAQ/zh/network/basics.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..eb0d806279a56f8b4d5a4ecc03ad355096a8e9a7 100644 --- a/docs/FAQ/zh/network/basics.md +++ b/docs/FAQ/zh/network/basics.md @@ -0,0 +1,13 @@ +## CFUN相关问题 + +CFUN4 ==> 只关射频, 不管 SIM 卡; +CFUN0 ==> 射频跟 SIM 卡都关闭 + +## 注网基础相关流程 + +![image-20230412124120227](../media/network-basics-1.png) + +## 查看IP地址 + +​ 通过查询该API的接口dataCall.getInfo()获取IP地址,如获取不成功,表示当前没有拨号或者拨号没有成功,可联系FAE检查。 + diff --git a/docs/FAQ/zh/network/voicecall-and-sms.md b/docs/FAQ/zh/network/voicecall-and-sms.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a647e62e168bd004417941cd3e9f199becbafb79 100644 --- a/docs/FAQ/zh/network/voicecall-and-sms.md +++ b/docs/FAQ/zh/network/voicecall-and-sms.md @@ -0,0 +1,18 @@ +## voiceCall + +Q:支持voiceCall功能的模组 + +A:请移步到wiki官网,QuecPython类库这一节查询 + +## SMS短信 + +Q:部分型号没法通过电信卡发送短信? + +A:①当没有支持volte时,走的是NAS,电信不支持(运营商的问题)。 + +​ ②如果有volte,三个运营商的卡都支持。 + +​ ③目前型号支持volte的只有EC600NCNLC、LD、LF,EC600U可以定制。 + +![image-20230412123809780](../media/network-voicecall-and-sms-1.png) + diff --git a/docs/Getting_started/zh/clouds/aliyun.md b/docs/Getting_started/zh/clouds/aliyun.md new file mode 100644 index 0000000000000000000000000000000000000000..3bc8c50e2391545dae259f4f6863c73f21f052a8 --- /dev/null +++ b/docs/Getting_started/zh/clouds/aliyun.md @@ -0,0 +1,104 @@ +# 7.2阿里云 + +本章节内容将介绍QuecPython开发接入阿里云实验。 + +## 7.2.1云平台设置 + +阿里云首页:[https://www.aliyun.com](https://www.aliyun.com/) + +进入首页后点击【产品】---【物联网】---【物联网平台】 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_1.jpg) + +点击【进入控制台】 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_2.jpg) + +登录阿里云账号之后选择【地区】,点击【公共实例】 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_3.jpg) + +点击【产品】---【创建产品】 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_4.jpg) + +点击【设备】---【添加设备】 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_5.jpg) + +获取阿里云连接的三元组,ProductKey、DeviceName、DeviceSecret + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_6.jpg) + +查看云端Topic,点击【产品】---【查看】---【Topic类列表】,这里有基础通信Topic、物模型通信Topic和自定义Topic,可自行选择对应的Topic + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_7.jpg) + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_8.jpg) + +## 7.2.2软件编写 + +软件编程可参考官网wiki上面阿里云这一章节,有相关的API介绍,下面是示例代码: + +```python +import log +import utime +import checkNet +from aLiYun import aLiYun + +PROJECT_NAME = "QuecPython_AliYin_example" +PROJECT_VERSION = "1.0.0" +checknet = checkNet.CheckNetwork(PROJECT_NAME, PROJECT_VERSION) + +# 设置日志输出级别 +log.basicConfig(level=log.INFO) +aliYun_log = log.getLogger("AliYun") + +class aliyunObject(object): + def __init__(self,productKey, productSecret, DeviceName, DeviceSecret): + self.productKey = productKey + self.productSecret = productSecret + self.DeviceName = DeviceName + self.DeviceSecret = DeviceSecret + self.sub_cb + self.topic = '/sys/he6c0ZOSXJ3/{}/thing/event/property/post'.format(self.DeviceName) # 云端自定义或自拥有的Topic + + + def ali_connect(self): + ali = aLiYun(self.productKey, self.productSecret, self.DeviceName, self.DeviceSecret) + print("------") + clientID = "111111" # 自定义字符(不超过64) + ali.setMqtt(clientID, clean_session=False, keepAlive=300) + + # 设置回调函数 + ali.setCallback(self.sub_cb) + + # 订阅主题 + ali.subscribe(self.topic) + data = "hello world" + ali.publish(self.topic, data) + ali.start() + + + def sub_cb(self,topic, msg): + aliYun_log.info("Subscribe Recv: Topic={},Msg={}".format(topic.decode(), msg.decode())) +if __name__ == "__main__": + stagecode, subcode = checknet.wait_network_connected(30) + if stagecode == 3 and subcode == 1: + try: + aliYun_log.info('Network connection successful!') + aliyun = aliyunObject("he6c0ZOSXJ3",None,"oIagpQK7IR9SAbfjRmUy","121168c0b39e4df49ade5147671ff440") + aliyun.ali_connect() + except Exception as e: + aliYun_log.info(e) + else: + aliYun_log.info('Network connection failed! stagecode = {}, subcode = {}'.format(stagecode, subcode)) + + +``` + + + +## 7.2.3下载验证 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\coulds\iot_aliyun\iot_aliyun_9.jpg) \ No newline at end of file diff --git a/docs/Getting_started/zh/hardware-advanced/LCD display.md b/docs/Getting_started/zh/hardware-advanced/LCD display.md new file mode 100644 index 0000000000000000000000000000000000000000..fa1c60d57b261be0a3565b6022dbd95eaba56d92 --- /dev/null +++ b/docs/Getting_started/zh/hardware-advanced/LCD display.md @@ -0,0 +1,89 @@ +# 屏幕显示 + +本章节介绍使用QuecPython进行屏幕点亮显示,目前QuecPython开发支持的屏幕接口有SPI、MIPI、I2C(段码屏)等,具体模组支持的接口详情在下表8-1所示;下文以QuecPython开发常用的LCD进行开发介绍。 + +| 模组型号 | LCD接口 | +| --------------------------- | -------------- | +| EC200U\EC600U | MIPI、SPI、I2C | +| EC600N\EC600M\EC800M\EC800M | SPI、I2C | + +表8-1 + +## LCD介绍 + +LCD(Liquid Crystal Display),液晶显示器,为平面超薄的显示设备,它由一定数量的彩色或者黑白像素组成,放置于光源或者反射面前方。它的主要原理是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面。 + +QuecPYthon开发常中,LCD的几个重要的参数有驱动IC、屏幕尺寸以及分辨率等,在选型中,可根据模组支持的接口去选择对应的LCD。目前公版固件中,SPI接口的LCD最大分辨率支持240×320,MIPI接口支持最大的分辨率为480×854(开发板“铀”)。 + +ST7789V LCD为官方天猫旗舰店售卖的一款屏幕,可搭配QuecPython开发板进行开发,该屏幕的驱动IC为ST7789V,SPI接口,分辨率为240×240,接口定义如下表8-2所示。 + +| 序号 | LCD引脚 | 引脚定义 | +| ---- | ------- | ------------------------------ | +| 1 | GND | 电源地 | +| 2 | VCC | 电源3.3V | +| 3 | SCL | SPI总线时钟信号 | +| 4 | SDA | SPI总线写数据信号 | +| 5 | RES | 液晶屏复位控制信号,低电平复位 | +| 6 | DC | 写寄存器/写数据控制信号 | +| 7 | BLK | 液晶屏背光控制信号 | + +表8-2 + +## 硬件连接 + +### SPI类型的屏幕 + +模组有LCD显示驱动的接口LCM(LCD Module),可用于SPI LCD的屏幕,当然也可以选择模组其他SPI接口。具体的硬件连接可参考下表,需要注意的是,模组引脚的电压域为1.8V,需经过电平转换之后方可使用。 + +| ST7789V LCD | 模组LCM接口 | 模组SPI接口 | +| :---------- | ------------ | ----------- | +| SCL | LCD_SPI_CLK | SPI_SCLK | +| SDA | LCD_SPI_DOUT | SPI_MOSI | +| RES | LCD_RST | gpio复用 | +| DC | LCD_SPI_RS | gpio复用 | +| | LCD_CS | SPI_CS | + +### MIPI类型的屏幕 + +目前支持MIPI的模组有EC200U/EC600U系列,需要搭配6线FLASH使用,可参考QuecPython开发板“铀“的电路,具体硬件连接请联系移远技术支持进行确认。 + +## 驱动代码编写 + +选择一款屏幕后正常情况下屏幕厂商会提供C的驱动代码,需要将C代码转成python脚本,下面介绍部分参数的格式,详情文档看《基于QUECPYTHON实现SPI类型屏幕驱动》、《基于QuecPython-MIPI大屏使用指导》。 + +SPI类型格式参数如下: + +type + len + value + +type:0:cmd; 1:data; 2:delay + +len: 若 type 为 cmd: len 表示后面接多少个 data ;若 type 为 data: len 表示 data 的长度 ;若 type 为 delay: len 无实际意义。为 0 即可 + +value: 若 type 为 delay:表示延时的时长,单位为 ms。 + +MIPI类型格式参数如下: + +cmd + delay_ms + data_len + data_list + +cmd: 命令 + +delay_ms:延时多久,单位为ms + +data_len: 对应命令后接多个数据 + +data_list:实际数据 + +## 实验测试 + +用开发板连接LCD屏,插入USB上电后能看到LCD屏幕有背光亮起,但此时的LCD还未进行初始化,无法进行其他显示操作,需执行初始化程序之后就能进行图片文字显示已经gui显示等。 + +执行初始化之前 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\hardware-advanced\lcd_display\lcd_display_1.jpg) + +执行初始化之后 + +![](E:\QuecPython网站搬移\V3\teedoc_with_qpydoc_1\docs\Getting_started\zh\media\hardware-advanced\lcd_display\lcd_display_2.jpg) + + + diff --git a/docs/Getting_started/zh/hardware-advanced/README.md b/docs/Getting_started/zh/hardware-advanced/README.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7e79f1b7f79e5026b7883bcc35688becfafb466c 100644 --- a/docs/Getting_started/zh/hardware-advanced/README.md +++ b/docs/Getting_started/zh/hardware-advanced/README.md @@ -0,0 +1,20 @@ +# 8、QuecPython 硬件高级功能 + +
目录 + + +- [8.1: 屏幕显示]() +- [8.2: LVGL]() +- [8.3: 摄像头]() +- [8.4: 低功耗]() +- [8.5: 音频和 TTS]() +- [8.6: 外接存]() +- [8.7: 外接以太网]() +- [8.8: 矩阵键盘]() +- [8.9: BT 和 BLE]() +- [8.10: USB 网卡]() +- [8.10: USB 网卡]() +- [8.11: 外接 WiFi]() + + 
\ No newline at end of file diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_1.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54c84b10606649e96a3ff190d2c000c204c2cb71 Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_1.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_2.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8c1adc87807ea762f3dcdf9f1d029abc774abac6 Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_2.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_3.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9cb38a5c69d446720438016b1db497a521d01e5a Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_3.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_4.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca712af29882904cce5e6c961725938e4c615b1c Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_4.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_5.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f933ccc182f9ffa7d5853b92f20de3dc93edea09 Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_5.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_6.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f9a51b433b6196bd6c449747822ea1d08ca88c3 Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_6.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_7.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_7.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3daaac189af1d892ad7fc699a15cb5bd51830606 Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_7.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_8.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_8.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e915ab28d9fa3bf234c1f316bbacda4bb84b53bf Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_8.jpg differ diff --git a/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_9.jpg b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7d0412be404b8e8a61b6e201d67a61898d4612b Binary files /dev/null and b/docs/Getting_started/zh/media/coulds/iot_aliyun/iot_aliyun_9.jpg differ diff --git a/docs/Getting_started/zh/media/hardware-advanced/lcd_display/lcd_display_1.jpg b/docs/Getting_started/zh/media/hardware-advanced/lcd_display/lcd_display_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f773dc978655274cfd65a0c21472a347c441e96d Binary files /dev/null and b/docs/Getting_started/zh/media/hardware-advanced/lcd_display/lcd_display_1.jpg differ diff --git a/docs/Getting_started/zh/media/hardware-advanced/lcd_display/lcd_display_2.jpg b/docs/Getting_started/zh/media/hardware-advanced/lcd_display/lcd_display_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d00836efb6ae0ad402e89112635a661448aaccb Binary files /dev/null and b/docs/Getting_started/zh/media/hardware-advanced/lcd_display/lcd_display_2.jpg differ