最近因為項目需要史汗,開始做硬件項目蛮艰。項目的大體流程就是現(xiàn)在手機上輸入wifi名稱和wifi密碼,然后硬件就會根據(jù)你輸入的東西就會自動的連上wifi勒虾,然后想服務(wù)器發(fā)送指令纺阔。連接上wifi之后可以根據(jù)需求對硬件進行操作,具體的操作方式就不在細說了修然。當時我的反應(yīng)就是窩草笛钝?還有這種操作?這么牛逼愕宋?我怎么不知道還可以這么玩玻靡?
額,是不是感覺很高大上中贝,很黑科技囤捻,很牛逼?然而事實上邻寿,你會感覺很蛋疼蝎土。下面細細道來這里面的坑
(1)首先這個技術(shù)呢,是用Ti的smartconfig绣否,就是德州儀器出品的SmartConfig軟件誊涯,硬件也是德州儀器的cc3200,網(wǎng)上百度一把枝秤,真嗶嗶嗶的鬼醋拧,就是這么個東西
具體的東西按照每家的需求是不太一樣的淀弹,這個硬件的價格大概在300左右吧丹壕,現(xiàn)在想想看,感覺這么玩好像也不是太好薇溃,數(shù)據(jù)不是太安全菌赖,它的運行原理大致就是將你輸入的wifi名稱和密碼按照一定的順序插在wifi信號中,然后硬件解析出來這部分沐序,根據(jù)解析出來的數(shù)據(jù)琉用,連上WiFi,組建socket通道策幼,具體的百度一搜一大把邑时,我也不再細說了,浪費各位看官的時間特姐。
(2)講講這個里面的坑吧
? ? ? ? ?剛上手的時候甲方提供的demo運行不起來晶丘,sdk也有問題,就自己去ti的官網(wǎng)上下載一把,浪費了兩天的時間浅浮,終于找到了相對應(yīng)的sdk沫浆,因為是cc3200wifi模組,并不是完整的ti硬件滚秩,找起來有點困難专执,不過總算是能用了(在此提醒各位看官,一定要看好硬件再去下相對應(yīng)的軟件郁油,要不然呵呵噠了本股,不要模棱兩可!M╇纭H),運行一遍哩掺,沒問題,成功率一般般吧涩笤,當時看完效果之后嚼吞,從心里認為這個東西好像達不到客戶的要求的成功率,連接wifi的成功率不到20%蹬碧,成功回調(diào)的幾率更是可憐的很舱禽。但是客戶爸爸指定用這個,沒辦法硬著頭皮上吧恩沽,花了好久的時間誊稚,廢了九牛二虎之力,終于B扌摹@锊!2趁啤疾瓮!失敗了,官方給的demo比較嗶嗶(cao dan)飒箭,連運行都是問題狼电,沒辦法,只能把demo中所有的東西在扒一遍弦蹂。這回好了肩碟,本想著能高高興興的去把妹了,結(jié)果卻反過來給了你一巴掌凸椿,連接成功之后居然不回調(diào)O髌怼!O鞫Q沂荨未巫!,上兩張原諒色
這個是smartconfig的連接步驟启昧,里面的listener并沒有什么卵用叙凡,至少本項目暫時用不上
這個里面是主要的回調(diào),設(shè)備連接上wifi之后密末,會走這里的回調(diào)握爷,傳回來的json串是設(shè)備的mac地址和設(shè)備所在WiFi的ip地址,需要說明的是一旦這個回調(diào)走了之后一定要關(guān)閉smartconfgi严里,不然會一直發(fā)送信號新啼,什么時候smartconfig被銷毀,信號才會消失刹碾,這會導致一些其它的問題燥撞,比如說這個回調(diào)會被調(diào)用好幾次,或者會獲取到其它設(shè)備的mac地址迷帜。另外再次需要注意的是物舒,這個回調(diào)是在子線程中回調(diào)的,在子線程戏锹,子線程冠胯,子線程!=跽搿荠察!重要的事情說三遍,一開始你所有的不正常的認識都是在這里發(fā)生的奈搜,什么連接之后不回調(diào)啊悉盆,或者回調(diào)之后莫名其妙的掛掉,就是在這里發(fā)生的馋吗,官方的demo成功率不是非常高是因為它在這里做了幾個判斷舀瓢,你集成到項目中的時候需要將判斷去調(diào),事實證明去調(diào)之后耗美,10s之內(nèi)的連接成功率在70%京髓,1分鐘之內(nèi)的連接成功率在90%左右
(3)所有的所有都是建立在你的wifi環(huán)境很好,或者說是你的wifi連接數(shù)量很少商架,這樣的成功率是非常高的堰怨,好了就說這么多,希望各位看官能夠吸取我接入smartconfig的教訓不要在走錯路蛇摸。好备图,打完收工,回家泡妹子去