我的openwrt学习笔记(二十三):MTK7688elian一键配置原理
自从物联网问世以来,如何使得物(智能设备) 能够联网有了很多的方式,目前运用非常广的WIFI,今天就总结下自这个方面,也对于有需要的盆友 也希望有抛砖引玉之效果。
物联网: 智能硬件+APP+云
1. 一键配置原理
由于智能硬件一般不具备用户输入界面,所以APP 需要配置wifi的用户名 密码,并发送给智能硬件,目前各个WIFI芯片厂家基本采用以下几种方式
1)TI 的smartconfig
2)AP模式: APP 配置 手机连接到 智能硬件(WIFI芯片 的AP),构建成一个局域网,当然该局域网是不能上网的,但是局域网内的各个设备的通信是OK
此时 该局域网内WIFI芯片工作在AP模式 或者是AP+STATION模式, 手机工作STATION模式并连接智能硬件的AP。
先来说smartconfig吧 也就是所谓的一键配置,速度比AP模式快,为什么呢?请看下面分解。
所谓的smartconfig就是 手机APP端发送包含WIFI 用户名 WIFI密码的 UDP 广播包或者组播包。
智能终端的WIFI芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密出WIFI 用户名 密码,然后智能硬件 配置受到的WIFI 用户名 密码到指定的WIFI AP 上。
AP模式比较不好的就是配置时间比smartconfig要长,手机连接的WIFI接入点会变化,如果配置不成功,手机就无法上网,需要在手动配置WIFI,手机才能上网。
1)smartconfig 采用UDP广播模式(UDP接收IP地址是255.255.255.255)
WIFI芯片先scan 下周围环境的AP ,得到AP的相关信息,如工作的channel ,然后配置wifi芯片工作在刚才scan到的channel上去接收UDP包,如果没有接收到,继续配置 WIFI芯片工作在另外的channel上,如此循环,直到收到UDP包为止。
为什么要提前进行SCAN 下WIFI AP呢?就是为了提高配置效率。假设当前网络中只有两个AP,一个AP工作在CHANEL1,另外个 ap工作在channel13,我们现在需要配置智能硬件连接到AP2 ,就是channel13上,如果不提前scan就需要从1--13扫描浪费时间。就是需要从channel1-chane2 ---...channnel13一直扫描了,如果扫描了AP,芯片马上从AP CHANNNEL1 到channel13加快获取到UDP包;
2) AP接入
具体简介了,比较简单;
2.MT7688 elian一键配置
Linux iwpriv 无线网探测命令,MTK elian就是利用该命令,在这个基础上进行修改,添加 elian的相关参数
扫描ap(有主动式被动式扫描,具体的不在本文论述)
iwpriv ra0 set SiteSurvey=1 sleep 2 iwpriv ra0 get_site_survey |
root@OpenWrt:/etc/config# iwpriv apcli0 set SiteSurvey=1 root@OpenWrt:/etc/config# iwpriv apcli0 get_site_survey apcli0 get_site_survey: Ch SSID BSSID Security Siganl(%) W-Mode ExtCH NT WPS DPID 1 tr_znjj 6c:e8:73:b1:45:86 WPA1PSKWPA2PSK/AES 100 11b/g/n ABOVE In YES 1 airong-5f 94:0c:6d:da:5e:a8 WPA1PSKWPA2PSK/AES 24 11b/g NONE In NO 1 weiron4f d0:c7:c0:64:3d:ec WPA1PSKWPA2PSK/TKIPAES 76 11b/g/n ABOVE In YES 1 WPS-Dongle 00:12:5f:0a:ad:30 NONE 29 11b/g/n NONE In NO 8 weirong-3f d0:c7:c0:bd:f2:a0 WPA1PSKWPA2PSK/AES 0 11b/g/n BELOW In YES
root@OpenWrt:/etc/config# |
root@OpenWrt:/etc/config# iwpriv apcli0 setSiteSurvey=1
root@OpenWrt:/etc/config# iwpriv apcli0get_site_survey
apcli0 get_site_survey:
Ch SSID BSSID Security Siganl(%) W-Mode ExtCH NT WPS DPID
1 tr_znj 6c:e8:73:b1:45:86 WPA1PSKWPA2PSK/AES 100 11b/g/n ABOVE In YES
1 airong 94:0c:6d:da:5e:a8 WPA1PSKWPA2PSK/AES 24 11b/g NONE In NO
1 ronf d0:c7:c0:64:3d:ec WPA1PSKWPA2PSK/TKIPAES 76 11b/g/n ABOVE In YES
1 WPS-Dongle 00:12:5f:0a:ad:30 NONE 29
root@OpenWrt:/etc/config#
3.elian apk
SendV1 send V4 send both
Ssid passwd custom参数输入,这个custom参数优点意思,允许用户发送自定义字符的意思
下载地址:http://download.csdn.net/detail/xushx_bigbear/9078267