diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/checkNet.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/checkNet.md"
new file mode 100644
index 0000000000000000000000000000000000000000..07a76e00f54352493369c97e825be9dcc35cf231
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/checkNet.md"
@@ -0,0 +1,85 @@
+# `checkNet` - 网络检测
+
+checkNet模块提供了方法来检测模组的网络状态是否已经就绪,同时提供了网络异常的排查方法与步骤。
+
+
+
+## 方法
+
+### `checkNet.waitNetworkReady`
+
+```python
+checkNet.waitNetworkReady(timeout)
+```
+
+等待模组网络就绪。该方法会依次检测SIM卡状态、模组网络注册状态和PDP Context激活状态;在设定的超时时间之内,如果检测到PDP Context激活成功,会立即返回,否则直到超时才会退出。
+
+**参数描述:**
+
+* `timeout` - 超时时间,整型值,范围1~3600秒,默认60秒。
+
+**返回值描述:**
+
+返回一个元组,格式为:`(stage, state)`
+
+| 参数 | 类型 | 含义 |
+| ----- | ---- | ------------------------------------------------------------ |
+| stage | 整形 | 表示当前正在检测什么状态:
1 - 正在检测SIM卡状态
2 - 正在检测网络注册状态
3 - 正在检测PDP Context激活状态 |
+| state | 整形 | 根据stage值,来表示不同的状态,具体如下:
stage = 1时,state表示 SIM卡的状态,范围0~21,每个值的详细说明,请参考`sim.getStatus()`方法的返回值说明;
stage = 2时,state表示网络注册状态,范围0~11,每个状态值的详细说明,请参考`net.getState()`方法的返回值说明;
stage = 3时,state表示PDP Context激活状态,0表示没有激活成功,1表示激活成功。 |
+
+如果网络已经就绪,应该返回(3,1),如果返回值不是(3,1),可参考如下说明来排查定位问题:
+
+
+
+ | stage |
+ state |
+ 说明 |
+
+
+ | 1 |
+ 0 |
+ 说明没插卡,或者卡槽松动,需要用户去检查确认; |
+
+
+ | 其他值 |
+ 请参考官方wiki文档中关于sim卡状态值的描述,确认sim卡当前是哪种状态; |
+
+
+ | 2 |
+ -1 |
+ 这种情况说明在超时时间内,获取模组网络注册状态的API一直执行失败,在确认SIM卡可正常使用且能正常被模组识别的前提下,可联系我们的FAE反馈问题; |
+
+
+ | 0或2 |
+ 这种情况说明在超时时间内,模组一直没有注网成功,这时请按如下步骤排查问题: (1)首先确认SIM卡状态是正常的,通过 sim 模块的 sim.getState() 接口获取,为1说明正常; (2)如果SIM卡状态正常,确认当前信号强度,通过net模块的 net.csqQueryPoll() 接口获取,如果信号强度比较弱,那么可能是因为当前信号强度较弱导致短时间内注网不成功,可以增加超时时间或者换个信号比较好的位置再尝试; (3)如果SIM卡状态正常,信号强度也较好,请确认使用的SIM卡是否已经欠费; (4)如果SIM卡也未欠费,请联系我们的FAE反馈问题;最好将相应SIM卡信息,比如哪个运营商的卡、什么类型的卡、卡的IMSI等信息也一并提供,必要时可以将SIM卡寄给我们来排查问题; |
+
+
+ | 其他值 |
+ 请参考官方Wiki文档中 net.getState() 接口的返回值说明,确认注网失败原因; |
+
+
+ | 3 |
+ 0 |
+ 这种情况说明在超时时间内,PDP Context一直没有激活成功,请按如下步骤尝试: (1)通过 sim 模块的 sim.getState() 接口获取sim卡状态,为1表示正常; (2)通过 net 模块的 net.getState() 接口获取注网状态,为1表示正常; (3)手动调用 dataCall.activate(profileID) 接口尝试激活,看看能否激活成功; (4)如果手动激活成功了,但是开机自动激活失败,可联系我司相关人员协助分析。 |
+
+
+ | 1 |
+ 这是正常返回情况,说明网络已就绪,可进行网络相关业务操作。 |
+
+
+
+
+
+**示例:**
+
+```python
+import checkNet
+
+if __name__ == '__main__':
+ stage, state = checkNet.waitNetworkReady(30)
+ if state == 3 and state == 1:
+ print('Network connection successful.')
+ else:
+ print('Network connection failed, stage={}, state={}'.format(stage, state))
+```
+
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/dataCall.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/dataCall.md"
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..c7c9240cd768e0f1bf8f2b3bfbb639a0824d3045 100644
--- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/dataCall.md"
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/dataCall.md"
@@ -0,0 +1,413 @@
+# `dataCall` - 拨号功能
+
+拨号,指的是PDP Context的激活操作,激活成功后,核心网的PDN网关才会分配一个IP地址给模组。
+
+`dataCall`模块包含了PDP Context配置和获取、激活、去激活以及获取模组的IP信息等功能。模组烧录QuecPython的固件,开机后,默认会自动执行拨号。如果用户配置了APN,则使用用户配置的APN信息进行拨号;否则使用默认APN进行拨号。
+
+
+
+> 强烈建议用户使用不同运营商的SIM卡时,配置对应运营商的APN信息;如果不配置或者配置错误,可能会导致模组注网失败或拨号失败,模组获取不到IP地址,无法上网。配置APN的方式,参考`dataCall.setPDPContext`方法。
+
+
+
+**示例:**
+
+```python
+import dataCall
+from misc import Power
+
+# 用户需要配置的APN信息,根据实际情况修改
+usrConfig = {'apn': '3gnet', 'username': '', 'password': ''}
+
+# 获取第一路的APN信息,确认当前使用的是否是用户指定的APN
+pdpCtx = dataCall.getPDPContext(1)
+if pdpCtx != -1:
+ if pdpCtx[1] != pdpConfig['apn']:
+ # 如果不是用户需要的APN,使用如下方式配置
+ ret = dataCall.setPDPContext(1, 0, pdpConfig['apn'], pdpConfig['username'], pdpConfig['password'], 0)
+ if ret == 0:
+ print('APN 配置成功。')
+ # 重启后按照配置的信息进行拨号
+ Power.powerRestart()
+ else:
+ print('APN 配置失败。')
+ else:
+ print('APN 已经配置过了。')
+else:
+ print('获取PDP Context失败。')
+```
+
+
+
+## 方法
+
+### `dataCall.setPDPContext`
+
+```
+dataCall.setPDPContext(profileID, ipType, apn, username, password, authType)
+```
+
+配置PDP Context相关信息,配置信息掉电保存。拨号时使用该方法配置的参数进行PDP Context激活。
+
+**参数描述:**
+
+* `profileID` - PDP上下文ID,整型值,范围1~3,一般设置为1。
+* `ipType` - IP协议类型,整型值,取值范围见下表:
+
+| 值 | 含义 |
+| ---- | ---------- |
+| 0 | IPv4 |
+| 1 | IPv6 |
+| 2 | IPv4和IPv6 |
+
+- `apn` - 接入点名称,全称Access Point Name,字符串类型,可为空,为空直接写`''`,范围0~64字节。
+
+- `username` - 用户名,字符串类型,可为空,为空直接写`''`,范围0~64字节。
+
+- `password` - 密码,字符串类型,可为空,为空直接写`''`,范围0~64字节。
+
+- `authType` - APN鉴权方式,整形值,取值范围见下表枚举:
+
+| 值 | 含义 |
+| ---- | --------- |
+| 0 | 表示无 |
+| 1 | PAP |
+| 2 | CHAP |
+| 3 | PAP和CHAP |
+
+**返回值描述:**
+
+返回一个整型值,0表示设置成功,-1表示设置失败。
+
+
+
+> 关于BG77/BG95系列的profileID参数范围,在NB网络制式下,实际只支持1~2。
+>
+> 关于authType参数,仅BG77/BG95系列模组支持值3。
+>
+> 支持该方法的模组:EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95系列。
+
+
+
+**示例:**
+
+```python
+>>> import dataCall
+>>> dataCall.setPDPContext(1, 0, '3gnet', '', '', 0)
+0
+```
+
+
+
+### `dataCall.getPDPContext`
+
+```python
+dataCall.getPDPContext(profileID)
+```
+
+获取profileID对应的那一路PDP Context相关信息。
+
+**参数描述:**
+
+- `profileID` - PDP上下文ID,整型值,范围1~3。
+
+
+**返回值描述:**
+
+获取失败时,返回一个整型值-1;获取成功时,返回一个元组,包含PDP Context相关信息,格式如下:
+
+`(ipType, apn, username, password, authType)`
+
+元组参数描述见`dataCall.setPDPContext`方法的参数描述。
+
+
+
+>支持该方法的模组:EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95系列。
+
+
+
+**示例:**
+
+```python
+>>> import dataCall
+>>> dataCall.getPDPContext(1)
+(0, '3gnet', '', '', 0)
+```
+
+
+
+### `dataCall.setAutoActivate`
+
+```python
+dataCall.setAutoActivate(profileID, enable)
+```
+
+设置profileID指定的那一路开机是否自动进行PDP Context激活。
+
+**参数描述:**
+
+- `profileID` - PDP上下文ID,整型值,范围1~3。
+
+- `enable` - 控制模组是否在开机时自动进行PDP Context激活,整型值,0表示关闭,1表示使能。
+
+
+
+>如果用户没有使用`dataCall.setAutoActivate`方法和`dataCall.setAutoConnect`配置过,则默认开机对profileID为1的那一路进行自动激活和使能重连;否则按照用户的配置执行。
+>
+>支持该方法的模组:EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95系列。
+
+
+
+**示例:**
+
+```python
+>>> import dataCall
+>>> dataCall.setAutoActivate(1, 0) # 关闭profileID为1的那一路开机自动激活PDP Context功能
+>>> dataCall.setAutoActivate(1, 1) # 开启profileID为1的那一路开机自动激活PDP Context功能
+```
+
+
+
+### `dataCall.setAutoConnect`
+
+```python
+dataCall.setAutoConnect(profileID, enable)
+```
+
+设置profileID指定的那一路是否使能自动重连功能。自动重连功能是指,因网络异常、信号差等异常场景导致模组与网络断开连接,当异常场景恢复正常后,模组自动进行拨号重连的行为。
+
+**参数描述:**
+
+- `profileID` - PDP上下文ID,整型值,范围1~3。
+
+- `enable` - 控制是否使能自动重连,整型值,0表示关闭,1表示使能。
+
+
+
+> 如果用户没有使用`dataCall.setAutoActivate`方法和`dataCall.setAutoConnect`配置过,则默认开机对profileID为1的那一路进行自动激活和使能重连;否则按照用户的配置执行。
+>
+> 支持该方法的模组:EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95系列。
+
+
+
+**示例:**
+
+```python
+>>> import dataCall
+>>> dataCall.setAutoConnect(1, 0) # 关闭profileID为1的那一路自动重连功能
+>>> dataCall.setAutoConnect(1, 1) # 开启profileID为1的那一路自动重连功能
+```
+
+
+
+### `dataCall.setDNSServer`
+
+```python
+dataCall.setDNSServer(profileID, simID, priDNS, secDNS)
+```
+
+配置DNS服务器地址。模组拨号成功后,会自动获取DNS服务器地址,一般无需用户再重新配置。如模组自动获取的DNS服务器地址不可用,可使用该方法重新配置。
+
+**参数描述:**
+
+- `profileID` - PDP上下文ID,整型值,范围1~3。
+
+- `simID` - SIM卡卡槽编号,整型值,0表示SIM0,1表示SIM1,目前仅支持0。
+
+- `priDNS` - 主要DNS服务器地址,字符串类型。
+
+- `secDNS` - 辅助DNS服务器地址,字符串类型。
+
+**返回值描述:**
+
+返回一个整型值,0表示配置成功,-1表示配置失败。
+
+
+
+>支持该方法的模组:
+>
+>EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC200A/EC200U/EC600U/EG912U/EG915U系列。
+
+
+
+**示例:**
+
+```python
+>>> import dataCall
+>>> dataCall.setDNSServer(1, 0, "8.8.8.8", "114.114.114.114")
+0
+```
+
+
+
+### `dataCall.setCallback`
+
+```python
+dataCall.setCallback(fun)
+```
+
+注册回调函数。当网络状态发生变化时,如网络断开、拨号重连成功时,会触发注册的回调函数,告知用户网络状态。
+
+**参数描述:**
+
+* `fun` - 回调函数名,回调函数格式以及回调函数的参数说明如下:
+
+```python
+def netCallback(args):
+ pass
+```
+
+| 参数 | 类型 | 含义 |
+| ------- | ---- | ------------------------------------------------ |
+| args[0] | 整形 | PDP上下文ID,表示当前是哪一路PDP网络状态发生变化 |
+| args[1] | 整形 | 网络状态,0表示网络断开,1表示网络连接成功 |
+
+**返回值描述:**
+
+返回一个整型值,0表示注册成功,-1表示注册失败。
+
+
+
+> 支持该方法的模组:
+>
+> EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95系列
+
+
+
+**示例:**
+
+```python
+import dataCall
+
+def netCallback(args):
+ pdp = args[0]
+ datacallState = args[1]
+ if datacallState == 0:
+ print('### network {} disconnected.'.format(pdp))
+ elif datacallState == 1:
+ print('### network {} connected.'.format(pdp))
+
+dataCall.setCallback(netCallback)
+```
+
+
+
+### `dataCall.activate`
+
+```
+dataCall.activate(profileID)
+```
+
+激活profileID指定的那一路PDP Context。
+
+**参数描述:**
+
+- `profileID` - PDP上下文ID,整型值,范围1~3。
+
+
+**返回值描述:**
+
+返回一个整型值,0表示激活成功,-1表示激活失败。
+
+
+
+> 模组会在开机时自动进行PDP Context激活,一般不需要用户执行激活操作。如用户关闭了开机自动进行PDP Context激活的功能,则需要用户调用此方法来进行PDP Context激活操作。
+>
+> 支持该方法的模组:EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95系列。
+
+
+
+**示例:**
+
+```python
+>>> import dataCall
+>>> dataCall.setPDPContext(1, 0, '3gnet', '', '', 0) # 激活之前,应该先配置APN,这里配置第1路的APN
+0
+>>> dataCall.activate(1) # 激活第1路
+0
+```
+
+
+
+### `dataCall.deactivate`
+
+```
+dataCall.deactivate(profileID)
+```
+
+去激活profileID指定的那一路PDP Context。
+
+**参数描述:**
+
+- `profileID` - PDP上下文ID,整型值,范围1~3。
+
+**返回值描述:**
+
+返回一个整型值,0表示去激活成功,-1表示去激活失败。
+
+
+
+> 支持该方法的模组:EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95系列。
+
+
+
+### `dataCall.getInfo`
+
+```python
+dataCall.getInfo(profileID, ipType)
+```
+
+获取拨号信息,包括拨号状态、IP地址、DNS服务器地址等。
+
+**参数描述:**
+
+- `profileID` - PDP上下文ID,整型值,范围1~3。
+- `ipType` - IP协议类型,整型值,取值范围见下表:
+
+| 值 | 含义 |
+| ---- | ---------- |
+| 0 | IPv4 |
+| 1 | IPv6 |
+| 2 | IPv4和IPv6 |
+
+**返回值描述:**
+
+获取失败返回整形值-1,获取成功返回一个元组,包含拨号信息,具体说明如下:
+
+`ipType`为0或1,返回值格式为:
+
+`(profileID, ipType, [state, reconnect, addr, priDNS, secDNS])`
+
+| 参数 | 类型 | 含义 |
+| --------- | ------ | ------------------------------------------------------------ |
+| profileID | 整形 | PDP上下文ID |
+| ipType | 整形 | IP协议类型,有如下几个值:
0表示IPv4
1表示IPv6
2表示IPv4和IPv6 |
+| state | 整形 | IPv4或IPv6的拨号状态
0表示未拨号或拨号失败
1表示拨号成功 |
+| reconnect | 整形 | 拨号重连标志,保留参数,暂未使用 |
+| addr | 字符串 | IPv4或IPv6的地址,具体取决于输入参数ipType的值:
ipType为0,addr为IPv4地址
ipType为1,addr为IPv6地址 |
+| priDNS | 字符串 | 主要DNS服务器地址 |
+| secDNS | 字符串 | 辅助DNS服务器地址 |
+
+`ipType`为2,返回值格式为:
+
+`(profileID, ipType, [state, reconnect, ipv4Addr, priDNS, secDNS], [state, reconnect, ipv6Addr, priDNS, secDNS])`
+
+返回的元组中,第一个列表包含的是IPv4的拨号信息,第二个列表包含的是IPv6的拨号信息。
+
+
+
+>返回值 `(1, 0, [0, 0, '0.0.0.0', '0.0.0.0', '0.0.0.0'])` 表示当前没有拨号或者拨号没有成功。
+>
+>支持该方法的模组:EC100Y/EC200N/EC600N/EC600S/EC800N/EG912N/EG915N/EC600M/EC800M/EG810M/EC200A/EC200U/EC600U/EG912U/EG915U/EC600G/EC800G/EC600E/EC800E/BG77/BG95/BC25/BC95系列。
+
+
+
+**示例:**
+
+```python
+>>> import dataCall
+>>> dataCall.getInfo(1, 0)
+(1, 0, [1, 0, '10.91.44.177', '58.242.2.2', '218.104.78.2'])
+```
+
+
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/wifiScan.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/wifiScan.md"
new file mode 100644
index 0000000000000000000000000000000000000000..f0edc780240420b3a94001dab6f9aa279e303544
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/wifiScan.md"
@@ -0,0 +1,189 @@
+# `wifiScan` - WiFi扫描
+
+`wifiScan`模块提供了同步和异步两种方式来扫描模组周边的WiFi热点信息。
+
+支持`wifiScan`功能的模组:
+
+EC100Y/EC200N/EC600N/EC600S/EC600M部分系列/EC800M部分系列/EC800N/EG912N/EG915N/EG810M/EC600G/EC800G/EC200U/EC600U部分系列/EG912U/EG915U系列模组。
+
+EC600M系列模组中,EC600MCN_LC/EC600MCN_LF不支持`wifiScan`;
+
+EC800M系列模组中,EC800MCN_GC/EC800MCN_LC/EC800MCN_LF不支持`wifiScan`;
+
+EC600U系列模组中,EC600UEC_AC不支持`wifiScan`。
+
+
+
+## 方法
+
+### `wifiScan.control`
+
+```python
+wifiScan.control(option)
+```
+
+开启或者关闭WiFi扫描功能。
+
+**参数描述:**
+
+* `option` - 控制选项,整型值,0表示关闭WiFi扫描功能,1表示开启WiFi扫描功能。
+
+**返回值描述:**
+
+返回一个整型值,0表示成功,-1表示失败。
+
+**示例:**
+
+```python
+>>> import wifiScan
+>>> wifiScan.control(1) # 开启 wifiScan 功能
+0
+>>> wifiScan.control(0) # 关闭 wifiScan 功能
+0
+```
+
+
+
+### `wifiScan.getState`
+
+```python
+wifiScan.getState()
+```
+
+获取WiFi扫描功能的当前状态是开启还是关闭。
+
+**返回值描述:**
+
+WiFi扫描功能已开启则返回True,未开启返回False。
+
+
+
+### `wifiScan.setCfgParam`
+
+```python
+wifiScan.setCfgParam(timeout, round, maxNums[, priority])
+```
+
+设置WiFi扫描参数。
+
+**参数描述:**
+
+* `timeout` - 超时时间,整形值;当触发超时会主动上报已扫描到的热点信息,若在超时前扫描到设置的热点个数会结束扫描并返回扫描结果。参数范围:4~60s。
+* `round` - 扫描轮数,整型值,达到扫描轮数后,会结束扫描并返回扫描结果。参数范围:1~3次。
+* `maxNums` - 最大扫描数量,整型值,当扫描热点数量达到设置的最大个数,会结束扫描并返回扫描结果。参数范围:4~30个。
+* `priority` - 扫描业务的优先级,整型值,可选参数,范围0~1。0表示网络业务优先,1表示WiFi扫描业务优先。网络业务优先时,当有数据业务发起时会中断WiFi扫描。WiFi扫描业务优先时,当有数据业务发起时,不会建立RRC连接,保障WiFi扫描正常执行,扫描结束后才会建立RRC连接。
+
+**返回值描述:**
+
+返回一个整型值,0表示设置成功,-1表示设置失败。
+
+
+
+> EC200U/EC600U/EG912U/EG915U/EC600G/EC800G系列模组不支持priority参数,使用时可不填该参数,如果填写了也没有影响。
+
+
+
+### `wifiScan.getCfgParam`
+
+```python
+wifiScan.getCfgParam()
+```
+
+获取WiFi扫描参数。
+
+**返回值描述:**
+
+成功返回一个元组,失败返回整型 -1。返回元组格式如下,返回值参数描述见`wifiScan.setCfgParam`方法的参数描述:
+
+`(timeout, round, maxNums, priority)`
+
+
+
+### `wifiScan.setCallback`
+
+```python
+wifiScan.setCallback(fun)
+```
+
+注册回调函数。使用异步扫描时,需要注册回调函数,扫描结果通过回调函数返回给用户。
+
+**参数描述:**
+
+* `fun` - 回调函数名,回调函数格式以及回调函数的参数说明如下:
+
+```python
+def wifiscanCallback(args):
+ pass
+```
+
+回调函数参数描述:
+
+| 参数 | 类型 | 含义 |
+| ---- | ---- | ------------------------------------------------------------ |
+| args | 元组 | 包含扫描到的WiFi热点数量和热点信息,形式如下:
`(nums, [(mac, rssi),...,(mac, rssi)])`
`nums` - 整型值,表示扫描到的热点数量
`mac` - 字符串类型,表示WiFi无线接入点的MAC地址
`rssi` - 整型值,表示WiFi热点信号强度 |
+
+**返回值描述:**
+
+返回一个整型值,0表示注册成功,-1表示注册失败。
+
+
+
+### `wifiScan.asyncStart`
+
+```python
+wifiScan.asyncStart()
+```
+
+开始异步扫描,扫描结果通过用户注册的回调函数返回。
+
+**返回值描述:**
+
+返回一个整型值,0表示执行成功,-1表示执行失败。
+
+**示例:**
+
+```python
+import wifiScan
+
+def wifiscanCallback(args):
+ print('wifi list:{}'.format(args))
+wifiScan.setCallback(wifiscanCallback)
+
+wifiScan.control(1)
+wifiScan.asyncStart()
+
+'''
+执行结果:
+wifi list:(2, [('F0:B4:29:86:95:C7', -79),('44:00:4D:D5:26:E0', -92)])
+'''
+```
+
+
+
+### `wifiScan.start`
+
+```python
+wifiScan.start()
+```
+
+开始同步扫描,扫描结束后直接返回扫描结果。由于是同步接口,所以扫描未结束时,程序会阻塞在该接口中。
+
+**返回值描述:**
+
+扫描成功时返回一个元组,失败返回整型-1。成功时返回值格式如下:
+
+`(wifiNums, [(mac, rssi), ... , (mac, rssi)])`
+
+| 参数 | 类型 | 说明 |
+| -------- | ------ | ---------------------- |
+| wifiNums | 整型 | 扫描到的 WiFi 热点数量 |
+| mac | 字符串 | WiFi 热点的MAC地址 |
+| rssi | 整型 | 信号强度 |
+
+**示例:**
+
+```python
+>>> wifiScan.start()
+(7, [('34:CE:00:09:E5:A8', -30), ('30:FC:68:E2:2D:F7', -44), ('12:CA:41:D4:B2:50', -54), ('D0:DB:B7:90:2D:07', -58), ('00:03:7F:12:CB:CB', -61), ('60:38:E0:C2:84:D9', -62), ('08:4F:0A:05:22:8F', -63)])
+```
+
diff --git a/docs/API_reference/zh/sidebar.yaml b/docs/API_reference/zh/sidebar.yaml
index 062a2a92d0383e8e03098e8b9939dd6dca4a0d4b..bd1b789eb02f8e68fabef76eb18a6174bf3d80fb 100644
--- a/docs/API_reference/zh/sidebar.yaml
+++ b/docs/API_reference/zh/sidebar.yaml
@@ -34,6 +34,13 @@ items:
file: QuecPython标准库/uhashlib.md
- label: QuecPython类库
file: QuecPython类库/README.md
+ items:
+ - label: dataCall - 拨号
+ file: QuecPython类库/dataCall.md
+ - label: checkNet - 网络就绪检测
+ file: QuecPython类库/checkNet.md
+ - label: wifiScan - WiFi扫描
+ file: QuecPython类库/wifiScan.md
- label: QuecPython组件库
file: QuecPython组件库/README.md
items: