wifiScan - WiFi扫描

wifiScan模块提供了同步和异步两种方式来扫描模组周边的WiFi热点信息。

支持wifiScan功能的模组:

EC100Y/EC200N/EC600N/EC600S/EC600M部分系列/EC800M部分系列/EC800N/EG912N/EG915N/EG810M/EC600G/EC800G/EC200U/EC600U部分系列/EG912U部分系列/EG915U部分系列模组。

EC600M系列模组中,支持的型号有:EC600MCN_LA/EC600MCN_LE/EC600MEU_LA;

EC800M系列模组中,支持的型号有:EC800MCN_GA/EC800MCN_LA/EC800MCN_LE/EC800MCN_LF/EG810MCN_GA;

EC600U系列模组中,支持的型号有:EC600UCN_LB/EC600UEU_AB;

EC200U系列模组中,支持的型号有:EC200UAU_AA/EC200UAU_AB/EC200UCN_AA/EC200UCN_LA/EC200UCN_LB/EC200UEU_AA/EC200UEU_AB;

EG912U系列模组中,支持的型号有:EG912UGL_AA;

EG915U系列模组中,支持的型号有:EG915UEU_AB/EG915ULA_AB。

开启或关闭扫描功能

wifiScan.control

wifiScan.control(option)

开启或者关闭WiFi扫描功能。

参数描述:

  • option - 控制选项,整型值,0表示关闭WiFi扫描功能,1表示开启WiFi扫描功能。

返回值描述:

返回一个整型值,0表示成功,-1表示失败。

示例:

>>> import wifiScan
>>> wifiScan.control(1) # 开启 wifiScan 功能
0
>>> wifiScan.control(0) # 关闭 wifiScan 功能
0

wifiScan.getState

wifiScan.getState()

获取WiFi扫描功能的当前状态是开启还是关闭。

返回值描述:

WiFi扫描功能已开启则返回True,未开启返回False

扫描参数配置与获取功能

wifiScan.setCfgParam

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

wifiScan.getCfgParam()

获取WiFi扫描参数。

返回值描述:

成功返回一个元组,失败返回整型-1。返回值参数描述见wifiScan.setCfgParam方法的参数描述,返回元组格式如下:

(timeout, round, maxNums, priority)

回调注册功能

wifiScan.setCallback

wifiScan.setCallback(fun)

注册回调函数。使用异步扫描时,需要注册回调函数,扫描结果通过回调函数返回给用户。

参数描述:

  • fun - 回调函数名,回调函数格式以及回调函数的参数说明如下:
def wifiscanCallback(args):
    pass

回调函数参数描述:

参数 类型 含义
args 元组 包含扫描到的WiFi热点数量和热点信息,形式如下:
(nums, [(mac, rssi),...,(mac, rssi)])
nums - 整型值,表示扫描到的热点数量
mac - 字符串类型,表示WiFi无线接入点的MAC地址
rssi - 整型值,表示WiFi热点信号强度

返回值描述:

返回一个整型值,0表示注册成功,-1表示注册失败。

启动扫描功能

wifiScan.asyncStart

wifiScan.asyncStart()

开始异步扫描,扫描结果通过用户注册的回调函数返回。

返回值描述:

返回一个整型值,0表示执行成功,-1表示执行失败。

示例:

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

wifiScan.start()

开始同步扫描,扫描结束后直接返回扫描结果。由于是同步接口,所以扫描未结束时,程序会阻塞在该接口中。

返回值描述:

扫描成功时返回一个元组,失败返回整型-1。成功时返回值格式如下:

(wifiNums, [(mac, rssi), ... , (mac, rssi)])

参数 类型 说明
wifiNums 整型 扫描到的 WiFi 热点数量
mac 字符串 WiFi 热点的MAC地址
rssi 整型 信号强度

示例:

>>> 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)])