diff --git a/docs/Advanced_development/zh/QuecPythonSub/TTS.md b/docs/Advanced_development/zh/QuecPythonSub/TTS.md index d96877df5b651843b9b8dea941f914c2b186cb06..1fb98f6501ba78d5ef23d56f5e553a9f2900c723 100644 --- a/docs/Advanced_development/zh/QuecPythonSub/TTS.md +++ b/docs/Advanced_development/zh/QuecPythonSub/TTS.md @@ -1,4 +1,9 @@ -# QuecPython TTS模块开发 +## 修订历史 +| 版本 | 日期 | 作者 | 变更表述 | +|------|------|------|------| +| 1.0 | 2021-3-25 | gary.zhou | 初版 | + +## QuecPython TTS模块开发 本文主要介绍QuecPython Audio模块中TTS模块的使用。 TTS是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者[网页](https://baike.baidu.com/item/网页/99347)转换成自然语音输出。TTS不仅能帮助有[视觉障碍](https://baike.baidu.com/item/视觉障碍/5582072)的人阅读计算机上的信息,更能增加[文本文档](https://baike.baidu.com/item/文本文档/557654)的可读性。TTS应用包括语音驱动的邮件以及声音敏感系统,并常与声音识别程序一起使用。 diff --git a/docs/little_demo/zh/QuecPythonTest/buzzer.md b/docs/little_demo/zh/QuecPythonTest/buzzer.md index 8e96adfbfef2e031f386310a8fee0e34bba7f7cb..e5839a62b25eb2604a3c08ee981f7d8ee7c5237b 100644 --- a/docs/little_demo/zh/QuecPythonTest/buzzer.md +++ b/docs/little_demo/zh/QuecPythonTest/buzzer.md @@ -1,5 +1,12 @@ +## 修订历史 +| 版本 | 日期 | 作者 | 变更表述 | +|------|------|------|------| +| 1.0 | 2021-3-20 | gary.zhou | 初版 | + ## 蜂鸣器实验 +读者通过本文章,可以学习PWM基本使用。 + ### 基本概述 本片文章主要简介使用EC600S GPIO 来驱动外部蜂鸣器模块。 diff --git a/docs/sbs/zh/sbs/bus.md b/docs/sbs/zh/sbs/bus.md index e6a15656cf4d6eda8130478aba6c4cb3cd006200..7704f3f3a6e833c09642d9e7ebafcda091022592 100644 --- a/docs/sbs/zh/sbs/bus.md +++ b/docs/sbs/zh/sbs/bus.md @@ -1,10 +1,17 @@ -### 总线 使用指导 +## 修订历史 +| 版本 | 日期 | 作者 | 变更表述 | +|------|------|------|------| +| 1.0 | 2021-4-1 | gary.zhou | 初版 | -#### ADC 数模 转换 +## 总线使用指导 -​ 数字信号和模拟信号转换器 ADC,称为数模转换器, CPU 本身是数字的,但是外 部的一些变量是模拟 的,所以需要利用数字技术处理外部模拟的物理量。 模拟信号,是一个连续的信号,现实生活中的时间,电 压,高度等就是模拟信号,反应在数学里就是无限细分的值。 +本文主要介绍ADC、UART、SPI、I2C的使用。 -​ 数模转换就是把模拟信号按照一定精度进行采样,变成有限多个数字量,这个过程就是数模转换,数字 化之后就可以在计算机中用数字来描述模拟量,是计算机技术的基础,计算机所有参与运算的都是数字量, 如果参与计算的有模拟量,就需要使用数模转换器将模拟量转换为数字量来参与运算,同样,也 可以通过使 用有积分和微分效果的器件来将数字信号转换为模拟信号。 +## ADC数模转换 + +​数字信号和模拟信号转换器 ADC,称为数模转换器, CPU 本身是数字的,但是外 部的一些变量是模拟 的,所以需要利用数字技术处理外部模拟的物理量。 模拟信号,是一个连续的信号,现实生活中的时间,电 压,高度等就是模拟信号,反应在数学里就是无限细分的值。 + +​数模转换就是把模拟信号按照一定精度进行采样,变成有限多个数字量,这个过程就是数模转换,数字 化之后就可以在计算机中用数字来描述模拟量,是计算机技术的基础,计算机所有参与运算的都是数字量, 如果参与计算的有模拟量,就需要使用数模转换器将模拟量转换为数字量来参与运算,同样,也 可以通过使 用有积分和微分效果的器件来将数字信号转换为模拟信号。 QuecPython 开发板中ADC输入引脚如下图所示 。 @@ -34,11 +41,9 @@ adc.read(ADC.ADC0) ​ 图 **2**: **ADC** 通道 电压变化 -#### UART - -​ UART 是一种串行异步收发协议,应用十分广泛。 UART 工作原理是将数据的二进制位一位一位的进行 +## UART -传输。在 UART 通讯协议中信号线上的状态位高电平代表 *1*,低电平代表 *0*。当然两个设备使用 UART 串 口通讯时,必须先约定好传输速率和一些数据位。 +​UART 是一种串行异步收发协议,应用十分广泛。 UART 工作原理是将数据的二进制位一位一位的进行传输。在 UART 通讯协议中信号线上的状态位高电平代表 *1*,低电平代表 *0*。当然两个设备使用 UART 串 口通讯时,必须先约定好传输速率和一些数据位。 硬件连接比较简单,仅需要 3 条线,注意连接时若两个设备UART电平范围不一致请做电平转换后再 连接 。 @@ -56,7 +61,7 @@ adc.read(ADC.ADC0) ​ 图 **4**: **UART API** 示例代码 -#### SPI通信 +## SPI通信 SPI 协议是串行外围设备接口,是一种高速全双工的通信总线 。SPI 总线包含 4 条总线,分别为 SS、 SCK、MOSI、MISO。 @@ -74,7 +79,7 @@ SPI 协议是串行外围设备接口,是一种高速全双工的通信总线 ​ 图 **5**: **SPI** 硬件连接 -#### I2C通信 +## I2C通信 I2C 接口只有两根线, SCL 和 SDA: @@ -96,7 +101,7 @@ I2C 属于串行通信,数据以 bit 为单位在 SDA 线上串行依次传输 ​ 图 **7**: **I2C** 连接 光照传感器 -#### 附录 术语缩写 +## 附录 术语缩写 表 **1**: 术语缩写 diff --git a/docs/sbs/zh/sbs/file.md b/docs/sbs/zh/sbs/file.md index 5871ff7b89f26f4ef19baf3666d205c6808ed140..395e55443fb136d9115de0170af29bd7b4872495 100644 --- a/docs/sbs/zh/sbs/file.md +++ b/docs/sbs/zh/sbs/file.md @@ -1,4 +1,11 @@ -# 文件读写使用说明 +## 修订历史 +| 版本 | 日期 | 作者 | 变更表述 | +|------|------|------|------| +| 1.0 | 2021-3-31 | gary.zhou | 初版 | + +## 文件读写说明 + +本文主要介绍QuecPython文件读写的几种方式。 ## 文件基本概念 @@ -158,26 +165,30 @@ fd.close() **备注**: apn_cfg.json 为默认脚本文件。 -#### 获取模块可用Flash信息 +#### 获取模块ROM、RAM信息 - **示例代码** ```python +import gc import uos -# 检查模组剩余空间信息 res = uos.statvfs("/usr") res = list(res) print('获取文件系统状态信息:', res) print('f_bsize – 文件系统块大小,单位字节:', res[0]) print('f_bfree – 可用块数:', res[3]) print('剩下总空间 {} 字节'.format(res[0] * res[3])) +print('剩下总空间 {} MB'.format((res[0] * res[3]) / 1024 / 1024)) + +mem = gc.mem_free() +print('剩余RAM空间:{}KB'.format(mem / 1024)) ``` - **代码运行结果** ![QuecPytgon_sbs_file_10.png](media/QuecPytgon_sbs_file_10.png) - 图 **9**: 获取可用Flash信息 + 图 **9**: 获取ROM、RAM信息 diff --git a/docs/sbs/zh/sbs/http.md b/docs/sbs/zh/sbs/http.md index 15bf6f63f389098ee19c41d1cb1d896fb1ad3601..c95c8b6ff96320643ee8ce8f78ab8e47b0952a8c 100644 --- a/docs/sbs/zh/sbs/http.md +++ b/docs/sbs/zh/sbs/http.md @@ -1,4 +1,11 @@ -# HTTP应用开发指导 +## 修订历史 +| 版本 | 日期 | 作者 | 变更表述 | +|------|------|------|------| +| 1.0 | 2021-3-29 | gary.zhou | 初版 | + +## HTTP客户端开发 + +读者通过本文的了解,可以学习HTTP接口的基本操作。 ## HTTP协议基础 ### HTTP协议 diff --git a/docs/sbs/zh/sbs/media/QuecPytgon_sbs_file_10.png b/docs/sbs/zh/sbs/media/QuecPytgon_sbs_file_10.png index 5da624e4b5e8304f9e82d3e756fdefec5373d471..05dcb7eabfca15f2ac9a035c3a5d1934f5ecaaf8 100644 Binary files a/docs/sbs/zh/sbs/media/QuecPytgon_sbs_file_10.png and b/docs/sbs/zh/sbs/media/QuecPytgon_sbs_file_10.png differ diff --git a/docs/sbs/zh/sbs/ntp.md b/docs/sbs/zh/sbs/ntp.md index ca8e9736281d7b6e16cb607e0727f66799aff9b6..3fa010e5f31f2d5f3ea6bc2aa0a5c9d670a09e59 100644 --- a/docs/sbs/zh/sbs/ntp.md +++ b/docs/sbs/zh/sbs/ntp.md @@ -1,12 +1,19 @@ -# NTP 使用指导 +## 修订历史 +| 版本 | 日期 | 作者 | 变更表述 | +|------|------|------|------| +| 1.0 | 2021-4-1 | gary.zhou | 初版 | + +## NTP应用开发 + +本文主要介绍NTP使用指导。 ## 概述 -​ NTP又称网络时间协议,用于同步计算机时间的一种协议。该协议可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行同步,同时提供高精准度的时间校正(LAN上与标准时间差小于 1 毫秒,WAN上与标准时间差大约有几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的互联网环境中提供精确和健壮的时间服务。 +​NTP又称网络时间协议,用于同步计算机时间的一种协议。该协议可以使计算机对其服务器或时钟源(如石英钟,GPS等等)进行同步,同时提供高精准度的时间校正(LAN上与标准时间差小于 1 毫秒,WAN上与标准时间差大约有几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的互联网环境中提供精确和健壮的时间服务。 -​ NTP提供准确时间,首先要有准确的时间来源,即国际标准时间UTC。NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从互联网上获取。时间按NTP服务器的等级传播,按照离外部UTC时间源的远近将所有服务器归入不同的Stratum(层)中。Stratum- 1 在顶层,有外部UTC接入;Stratum- 2从Stratum- 1 获取时间;Stratum- 3 从Stratum- 2 获取时间,......,以此类推,但Stratum的总数限制在 15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum- 1 的时间服务器是整个系统的基础。计算机主机一般同多个时间服务器连接,利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间,即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。 +​NTP提供准确时间,首先要有准确的时间来源,即国际标准时间UTC。NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从互联网上获取。时间按NTP服务器的等级传播,按照离外部UTC时间源的远近将所有服务器归入不同的Stratum(层)中。Stratum- 1 在顶层,有外部UTC接入;Stratum- 2从Stratum- 1 获取时间;Stratum- 3 从Stratum- 2 获取时间,......,以此类推,但Stratum的总数限制在 15以内。所有这些服务器在逻辑上形成阶梯式的架构相互连接,而Stratum- 1 的时间服务器是整个系统的基础。计算机主机一般同多个时间服务器连接,利用统计学的算法过滤来自不同服务器的时间,以选择最佳的路径和来源来校正主机时间,即使主机在长时间无法与某一时间服务器相联系的情况下,NTP服务依然有效运转。 -​ 为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。NTP时间同步报文中包含的时间是格林威治时间,是从 1900 年开始计算的秒数。 +​为防止对时间服务器的恶意破坏,NTP使用了识别(Authentication)机制,检查来对时的信息是否是真正来自所宣称的服务器并检查资料的返回路径,以提供对抗干扰的保护机制。NTP时间同步报文中包含的时间是格林威治时间,是从 1900 年开始计算的秒数。 ## api介绍 @@ -17,13 +24,13 @@ NTP对时需要从NTP服务器上获取时间,故在实现NTP对时功能之前需连接网络。本文档以通过SIM卡进行联网为例。 ### 操作一: - 准备一张可用的SIM卡,插入SIM卡后通电,等待自动拨号。以EC600S-CN为例,EC600S_QuecPython_EVB_V1.1开发板配备的是NANO SIM卡座,自弹式,触点向下,缺口向内。SIM卡槽位置如图所示: +准备一张可用的SIM卡,插入SIM卡后通电,等待自动拨号。以EC600S-CN为例,EC600S_QuecPython_EVB_V1.1开发板配备的是NANO SIM卡座,自弹式,触点向下,缺口向内。SIM卡槽位置如图所示: - ![](media/QuecPython_sbs_ntp01.png) +![](media/QuecPython_sbs_ntp01.png) - ​ 图 1 :插入SIM卡 + ​ 图 1 :插入SIM卡 - 自动拨号后,可通过如下方法验证是否拨号成功: +自动拨号后,可通过如下方法验证是否拨号成功: ![](media/QuecPython_sbs_ntp03.png) @@ -31,33 +38,31 @@ NTP对时需要从NTP服务器上获取时间,故在实现NTP对时功能之 ### 操作二: - 拨号成功后,导入ntptime模块,返回当前的NTP服务器,默认为"ntp.aliyun.com"。 +拨号成功后,导入ntptime模块,返回当前的NTP服务器,默认为"ntp.aliyun.com"。 - ![](media/QuecPython_sbs_ntp02.png) +![](media/QuecPython_sbs_ntp02.png) ​ 图 3 :当前NTP服务器 ### 操作三: - 设置NTP服务器。设置成功返回 0 ,设置失败返回- 1 。 +设置NTP服务器。设置成功返回 0 ,设置失败返回- 1 。 - ![](media/QuecPython_sbs_ntp04.png) +![](media/QuecPython_sbs_ntp04.png) ​ 图 4 :设置NTP服务器 ### 操作四: - 使用 ntptime.settime() 同步NTP时间。同步成功返回 0 ,同步失败返回- 1 。 - - ​对时结果可使用utime.localtime()验证。执行utime.localtime()后返回当前时间,返回值为一个元组:(year, month, mday, hour, minute, second, weekday, yearday)。具体的API详解请参考[QuecPython-utime-与时间相关功能](https://python.quectel.com/wiki/#/zh-cn/api/pythonStdlib?id=utime-与时间相关功能)。 - - ​ntptime.settime()对时后返回时间为UTC时间,北京时间领先UTC八个小时,所以对时后,对比当前时间可发现时间后退八小时。 +使用 ntptime.settime() 同步NTP时间。同步成功返回 0 ,同步失败返回- 1 。 - ![](media/QuecPython_sbs_ntp05.png) +对时结果可使用utime.localtime()验证。执行utime.localtime()后返回当前时间,返回值为一个元组:(year, month, mday, hour, minute, second, weekday, yearday)。具体的API详解请参考[QuecPython-utime-与时间相关功能](https://python.quectel.com/wiki/#/zh-cn/api/pythonStdlib?id=utime-与时间相关功能)。 - ​ 图 5 :对时成功 +​ntptime.settime()对时后返回时间为UTC时间,北京时间领先UTC八个小时,所以对时后,对比当前时间可发现时间后退八小时。 +![](media/QuecPython_sbs_ntp05.png) + ​ 图 5 :对时成功 ## 附录术语缩写