微信wifi airkiss一鍵配網(wǎng) Demo和關(guān)鍵點(diǎn)【iOS】

配網(wǎng)優(yōu)化關(guān)鍵點(diǎn)

  • 1配乓、100%配不上:路由器禁止了廣播端口(防止網(wǎng)絡(luò)風(fēng)暴)纠炮,添加組播方式解決
  • 2惕澎、弱網(wǎng)今豆、網(wǎng)絡(luò)環(huán)境復(fù)雜配網(wǎng)成功率低 嫌拣。按照配網(wǎng)的步驟主要現(xiàn)象有
    • 信道鎖定不了-設(shè)備端未收到app端的數(shù)據(jù):
    • 設(shè)備端未解析出app端的數(shù)據(jù)
    • app端未收到設(shè)備端的數(shù)據(jù)
      時(shí)間錯(cuò)開了,沒有碰撞以及超時(shí)問題
      有一個(gè)重要的問題信道堵塞呆躲,造成數(shù)據(jù)包丟包不完整异逐,解析不出來,所以這些間隔插掂,需要錯(cuò)開灰瞻,頻率最好不要太高

一.airKiss配網(wǎng)iOS Demo

  • airKissDemo:點(diǎn)擊下載
  • 備注
    • demo中收到設(shè)備端發(fā)的數(shù)據(jù)解析是按照自定義的格式解析的凡纳,所以解析部分需要自己根據(jù)自己的協(xié)議解析

二.實(shí)現(xiàn)圖

3181558177193_.pic_hd.jpg

備注
* 圖中的流程是根據(jù)我的項(xiàng)目畫的整個(gè)交互期虾,airKiss配網(wǎng)在第七步移動端接收到報(bào)文就結(jié)束了
* airkiss也只是設(shè)備端和手機(jī)端的交互,沒有云端

三.重點(diǎn)知識

3.1.關(guān)于設(shè)備端--輪詢信道的機(jī)制

  • 首先掃描出周圍有那幾個(gè)信道的rounter楼入,比如有1璃弄,3要销,6信道,然后按照從下到大排序保存
  • 然后在超時(shí)時(shí)間內(nèi)就一直輪詢著三個(gè)信道夏块,間隔時(shí)間硬件可設(shè)置疏咐,默認(rèn)為60s
  • 超時(shí)時(shí)間一過纤掸,又要開始掃描周圍的信道,重復(fù)1浑塞,2步驟(超時(shí)時(shí)間可設(shè)置借跪,默認(rèn)時(shí)間為60s)
  • 設(shè)備端先鎖定信道,然后就只接收此信道的數(shù)據(jù)缩举,解析數(shù)據(jù)垦梆,超時(shí)時(shí)間內(nèi)未解析出ssid和pwd就又開始重新鎖定信道。判斷是否鎖定信道是和協(xié)議包的前導(dǎo)域有關(guān)的仅孩。了解此機(jī)制托猩,可以更好的優(yōu)化程序

3191558177256_.pic_hd.jpg

備注

3.2.關(guān)于手機(jī)端發(fā)送協(xié)議包--關(guān)于前導(dǎo)域

協(xié)議包前面有個(gè)前導(dǎo)域,設(shè)備端根據(jù)這個(gè)來鎖定信道辽慕,判斷這個(gè)信道正在進(jìn)行airkiss配網(wǎng)
所以這個(gè)前導(dǎo)域的數(shù)量確定需要根據(jù)設(shè)備端的信道輪詢間隔和手機(jī)端發(fā)送數(shù)據(jù)包的間隔來確定京腥,
信道一共有1-14個(gè),但是常用的一般就那么幾個(gè)溅蛉,網(wǎng)絡(luò)環(huán)境也一般很少集齊14個(gè)信道公浪,所以一般考慮8個(gè)信道足以,考慮到手機(jī)端和設(shè)備端不同步問題船侧,所以考慮數(shù)量考慮多一些欠气;
假設(shè)設(shè)備端的信道輪詢間隔為50ms,手機(jī)端發(fā)送數(shù)據(jù)包的間隔為5ms(也就是發(fā)送完一個(gè)前導(dǎo)域至少需要20ms),那么發(fā)送50個(gè)前導(dǎo)域镜撩,需要1s,足夠設(shè)備端輪詢20個(gè)信道

3.3.關(guān)于手機(jī)端發(fā)送協(xié)議包次數(shù)或說超時(shí)

按照airKiss協(xié)議的糾錯(cuò)分析预柒,最壞的情況下,最多需要5次就可以完成信息的發(fā)送袁梗,發(fā)送五次后糾錯(cuò)成功率99.999%宜鸯,發(fā)送五次后再發(fā)送意義不大。
5次的時(shí)間 = 5(協(xié)議包間隔+數(shù)據(jù)量數(shù)據(jù)包間隔)
假設(shè)遮怜,協(xié)議包間隔:100ms淋袖,數(shù)據(jù)包間隔:5ms,數(shù)據(jù)量:835 (假設(shè)50個(gè)前導(dǎo)域,ssid:helloword pwd:csy10841054)
5次的時(shí)間 = 5(100+8355) = 21.375s
這樣看超時(shí)時(shí)間30s足夠锯梁,但是還要以下因素

  • 考慮手機(jī)和設(shè)備端不同步(發(fā)5次不夠
  • ssid和pwd較長
  • 網(wǎng)絡(luò)不好即碗,設(shè)備端連接路由的速度慢,(只有設(shè)備端連接上路由了陌凳,才回發(fā)數(shù)據(jù))
  • 還要在加上被設(shè)備要回發(fā)數(shù)據(jù)給手機(jī)端(如隨機(jī)數(shù)拜姿,設(shè)備ID等)的時(shí)間

綜合這些考慮30s是不夠的,所以建議可以設(shè)置60s冯遂。

3.4.關(guān)于airKiss協(xié)議

    * demo中有詳細(xì)的注釋

3.5.關(guān)于丟包和收不到包

關(guān)于丟包和收不到包蕊肥,除了上面說的時(shí)間錯(cuò)開了,沒有碰撞以及超時(shí)問題。還有一個(gè)重要的問題信道堵塞壁却,造成數(shù)據(jù)包丟包不完整批狱,解析不出來,所以這些間隔展东,需要錯(cuò)開赔硫,頻率最好不要太高。

手機(jī)端參數(shù)如下:

超時(shí)時(shí)間 協(xié)議包間隔 數(shù)據(jù)包間隔
60000ms 100ms 5ms

設(shè)備端參數(shù)如下:

掃描信道間隔 回發(fā)數(shù)據(jù)給手機(jī)端間隔 回發(fā)數(shù)據(jù)給手機(jī)端次數(shù)
100ms 80ms 60
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盐肃,一起剝皮案震驚了整個(gè)濱河市爪膊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌砸王,老刑警劉巖推盛,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谦铃,居然都是意外死亡耘成,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門驹闰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瘪菌,“玉大人,你說我怎么就攤上這事嘹朗∈γ睿” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵屹培,是天一觀的道長疆栏。 經(jīng)常有香客問我,道長惫谤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任珠洗,我火速辦了婚禮溜歪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘许蓖。我一直安慰自己蝴猪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布膊爪。 她就那樣靜靜地躺著自阱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪米酬。 梳的紋絲不亂的頭發(fā)上沛豌,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼加派。 笑死叫确,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的芍锦。 我是一名探鬼主播竹勉,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼娄琉!你這毒婦竟也來了次乓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤孽水,失蹤者是張志新(化名)和其女友劉穎票腰,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匈棘,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丧慈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了主卫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逃默。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖簇搅,靈堂內(nèi)的尸體忽然破棺而出完域,到底是詐尸還是另有隱情,我是刑警寧澤瘩将,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布吟税,位于F島的核電站,受9級特大地震影響姿现,放射性物質(zhì)發(fā)生泄漏肠仪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一备典、第九天 我趴在偏房一處隱蔽的房頂上張望异旧。 院中可真熱鬧,春花似錦提佣、人聲如沸吮蛹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽潮针。三九已至,卻和暖如春倚喂,著一層夾襖步出監(jiān)牢的瞬間每篷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雳攘,地道東北人带兜。 一個(gè)月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像吨灭,于是被迫代替她去往敵國和親刚照。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容