Wifi扫描 ======== 概述 ---- Air722UG具有WiFi Scan功能,支持2.4G频段下的802.11b,802.11g,802.11n等WiFi技术协议,结合模块本身支持的蓝牙功能,二者共用一路天线。 以主动的方式,在每个信道上发出Probe Request帧,请求某个特定无线网络予以回应。主动扫描将会以如下的程序扫描信道表所列的频道: - 跳至某个信道,然后等候来帧指示(indicationof an incoming frame)或者等到ProbeDelay定时器超时。如果在这个信道收到帧,就证明该信道有用户在使用,因此可以加以探测。而ProbeDelay定时器可用来防止某个闲置信道让整个过程停止,因为模块不会一直等待帧的到来。 - 利用基本的DCF访问过程取得媒介使用权,然后送出一个Probe Request帧。 - 至少等候一段最短的信道时间(即MinChannelTime)。 1. 如果媒介并不忙碌,表示没有网络存在,因此可以跳至下个信道。 2. 如果在MinChannelTime这段期间媒介非常忙碌,就继续等候一段时间,直到最长的信道时间(即MaxChannelTime)超时,然后处理任何的Probe Response帧。 天线设计 -------- WiFi的天线设计可以有多种形式,如:On Board板载式、SMT贴装式、IPEX外接式、External外置类等。一般我们的开发板使用的都是IPEX外接式的方式,这种方式比较便于安装。 ## IPEX外接的天线可以选择的形式有2种: 1、PCB+Cable: |PCB+Cable| 2、FPC+Cable: |FPC+Cable| 这两种外接的天线都具有高性能、灵活安装、成本适中的优势。 参考设计电路 ------------ .. figure:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200810203542770_图片2.png :alt: WiFi天线参考电路 WiFi天线参考电路 相关指标 ~~~~~~~~ ====================== ===================== ======== ========== 工作频段 速率 发射功率 接收灵敏度 ====================== ===================== ======== ========== 82.11b(2.4G) 1/2 / 5.5 / 11Mbps TBD TBD 82.11g(2.4G) 6/9/12/18/24 / 36Mbps TBD TBD \ 48 / 54Mbps TBD TBD 802.11n(2.4G,20MHz) MCS0-MCS4 TBD TBD \ MCS5-MCS7 TBD TBD ====================== ===================== ======== ========== 相关AT指令 ---------- 获取wifi信息指令:\ **AT+WIFISCAN** ----------------------------------- - 语法 ======== ===================== ==================================== 命令类型 语法 返回 ======== ===================== ==================================== 设置命令 AT+WIFISCAN= +WIFISCAN: , \ … \ OK 查询命令 AT+WIFISCAN? +WIFISCAN: , , \ … \ OK ======== ===================== ==================================== - 参数 ========= ============ ====== ============ 参数 定义 取值 对取值的说明 ========= ============ ====== ============ wifi扫描信道 1 - 13 指定信道扫描 ========= ============ ====== ============ - 例子 .. code:: c AT+WIFISCAN? +WIFISCAN: "9a:00:74:bd:b0:e8",-74,2 +WIFISCAN: "40:31:3c:d7:b4:bb",-94,4 +WIFISCAN: "82:89:17:c4:9d:9a",-92,2 OK AT+WIFISCAN=2 +WIFISCAN: "9a:00:74:bd:b0:e8",-74 +WIFISCAN: "82:89:17:c4:9d:9a",-92 OK LUAT开发相关接口 ---------------- 相关示例,请参考:raw-latex:`\script`\_LuaTask_VX.X.X:raw-latex:`\demo`:raw-latex:`\wifi` wifiScan.request() ^^^^^^^^^^^^^^^^^^ wifi扫描热点请求 - 语法 ``wifiScan.request(function,[timeout])`` - 参数 +-----------+----------------------------------------------------------+ | 参数 | 释义 | +===========+==========================================================+ | function | 扫描到 | | | 热点返回或者超时未返回的回调函数,回调函数的调用形式为: | | | cbFnc(result,cnt,info) | +-----------+----------------------------------------------------------+ | | result:true或 | | | 者false,true表示扫描成功,false表示扫描失败或者超时失败 | +-----------+----------------------------------------------------------+ | | cnt:number类型,表示扫描到的热点个数 | +-----------+----------------------------------------------------------+ | | info:table或者nil类型;result为false时,为nil; | | | result为true时,表示扫码到的热点mac和信号信息,table类型 | +-----------+----------------------------------------------------------+ | timeout | 可选,等待扫描热点返回的超时时间,单位毫秒,默认为10秒 | +-----------+----------------------------------------------------------+ - 返回值 无 - 例子 .. code:: lua --wifi扫描热点请求 wifiScan.request(function(result,cnt,tInfo) log.info("testWifi.scanCb",result,cnt) end) 常见问题 -------- https://luatdoc.papapoi.com/628/ .. |PCB+Cable| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200811111834562_1.png .. |FPC+Cable| image:: http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200811111852000_2.png