呼,好久沒有寫部落格了,最近忙着産品更新,各種亂七八糟的事。我們産品線要做一個物聯網子產品,綜合比較了WIFI、藍牙、
GPRS各種子產品後,我還是決定選用GPRS,沒辦法目标閱聽人不一樣。在調研WIFI 子產品時我就很好奇這個WIFI SSD密碼自動配置
的功能,當時我還推測是采用了Android裡的WIFI直連功能,呵呵有點跑偏。查閱相關資料後才知道這是SmartConfig技術,TI
早在2009年就攻克了這項技術。下面看圖說話:
一、什麼是WiFi快連
那什麼是快連呢?如下圖中,手機(裝置B)已經接入了AP,而裝置A是一個資訊孤島。手機将AP的資訊直接發送給裝置A,裝置A就可以接入AP了。
我們可以這樣認為,WiFi快連就是接入AP的手機快速配置裝置,使其接入AP的方式。

示例1-小蟻攝像頭
下圖是小蟻攝像頭的APP,在這個界面已自動擷取了SSID,使用者隻要輸入密碼即可進行快連。
示例2-小米插座
下圖是小米插座的介紹界面,這裡使用的也是WiFi快連技術,配置簡單。
示例3-BroadLink插座
和小米鬧掰的BroadLink,他們的插座也是一樣的介紹。
二、WiFi快連技術的橫向了解
事實上這些硬體廠商的快連技術都是依托上遊的晶片方案商,我這裡把最近接觸的一些廠商給列出來。他們的快連技術原理上都類似,但各家都分别給這項技術取了名字。
TI作為最牛逼的廠商,是最早開始攻克這項技術的,他們稱之為SmartConfig,這也是目前最多的叫法。
這裡重點提一下微信,微信的口号是連接配接一切,作為物聯網大海中的一艘航空母艦,自然也想在WiFi快連這塊實作大一統。我想京東、蘋果應該都有出了相關的标準方案,但我還沒做過接入,這裡就先不說。AirKiss的相關資料都列在網站上:http://iot.weixin.qq.com/ 。可以看到他已經與主流的子產品都做了對接,使用對應晶片方案的硬體都可以通過微信實作快連。附上AirKiss的一篇解析https://www.kancloud.cn/yueqian_scut/iot-wechat/107388
三、WiFi快連技術的縱向了解-實作原理
到了最重頭的部分,用通俗易懂的方式講解理論知識,一直是本尊的強項。
實作原理是這樣:手機通過UDP廣播,将AP的相關資訊組幀發出。而WiFi子產品一直處于UDP監聽狀态。擷取到AP資訊之後,WiFi子產品便可以接入AP了。
這裡有一個難點是,如果WLAN都是不加密的話,那UDP直接把路由器的SSID和entrycode發出來就好,但可惜路由器AP的加密方式是不固定的,子產品沒法知道UDP資料是何種加密方式,是以沒辦法解析出DATA資訊。
如下是802.2的封裝格式。
是以,DATA不行,聰明的人類打算從其他字段下手,大部分字段手機端無法獲得權限,最适合的隻剩下長度字段。
這裡舉個例子,比如要發送“1,2,3”,即[0x31, 0x32, 0x33]。那麼應該發送如下資料:
四、WiFi快連的衍生
BroadLink早期過度宣傳,将WiFi快連技術申請專利,目前還在實審中,以我看來BroadLink采用的是CC3000方案,這個技術是TI的,是以我覺得它應該不會通過。
現在還能查到他們的專利:
當然,國内還有許多的廠家将這項技術進行了專利申請,還真是一種好玩的現象。