我的openwrt学习笔记(二十三):MTK7688 elian一键配置原理
来源:互联网 发布:在线视频转码 知乎 编辑:程序博客网 时间:2024/05/17 07:38
我的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
- 我的openwrt学习笔记(二十三):MTK7688 elian一键配置原理
- 我的openwrt学习笔记(二十五):MTK7688 elian一键配置时间测量
- 我的openwrt学习笔记(二十六):smartconfig一键配置udp原理
- 我的openwrt学习笔记(二十六):smartconfig一键配置udp原理
- 我的openwrt学习笔记(十三):MT7688 串口测试
- 我的openwrt学习笔记(一):OpenWrt简介
- 我的openwrt学习笔记(二):OpenWrt 开发环境搭建
- 我的openwrt学习笔记(三十一):openwrt 的vlan配置
- 我的openwrt学习笔记(三十二):openwrt 的UCI
- 我的openwrt学习笔记(四):OpenWrt源代码下载
- 我的openwrt学习笔记(二十):WIFI 无线传输速率测试-iperf
- 我的openwrt学习笔记(二十一):广域网IP地址获取_socket http
- 我的openwrt学习笔记(二十二):网络时间同步
- 我的openwrt学习笔记(二十四):WIFI无线传输速率相对测试方法_netcat
- 我的openwrt学习笔记(二十七)MT7688 NVRAM操作
- 我的openwrt学习笔记(二十八)webserver之lighttpd
- 我的openwrt学习笔记(二十九)webserver之 thttpd
- 我的php学习笔记(十三)PHP小偷程序原理和实例
- 史上最全的央企控股上市公司一览------央企改革股票
- python代码`if not x:` 和`if x is not None:`和`if not x is None:`使用
- HDU 1800 Flying to the Mars -- 求一组数中出现频率最大的那个数出现的次数
- 关于it-ebooks.info无法下载的一种解决方法
- DJY-broswer 利用html做桌面应用
- 我的openwrt学习笔记(二十三):MTK7688 elian一键配置原理
- nyoj 44 子串和【最大子串和】
- android Java与JNI层互相调用
- Node.js + MongoDB学习
- LeetCode 题解(195) : Contains Duplicate
- 类Hash结构词典
- 我回来了!
- 白话经典算法系列之七 堆与堆排序
- c#手动创建DataTable