二.SmartConfig
樂鑫官網(wǎng)有下載ESPTouch , SmartConfig具體傳遞秘鑰之類的亂七八糟的原理請(qǐng)自行百度柜某,只交接實(shí)現(xiàn)嗽元。
使用上,直接按著ESPTouch提供的demo進(jìn)行修改就行了喂击,此處也不做過多的交接剂癌,詳情請(qǐng)查看demo,同事翰绊,別問我demo在哪佩谷,官方自行搜索,謝謝监嗜。
SmartConfig和熱點(diǎn)直連的兩個(gè)項(xiàng)目中谐檀,我們公司SmartConfig項(xiàng)目使用TCP協(xié)議通訊,而熱點(diǎn)直連使用的是UDP協(xié)議通訊裁奇。下面是SmartConfig項(xiàng)目:
1.搜桐猬,upd廣播搜,看看能不能搜索出已經(jīng)配網(wǎng)Wi-Fi模塊框喳,如果搜不出已配網(wǎng)的Wi-Fi模塊則判定為沒有已配網(wǎng)模塊(總感覺很不嚴(yán)謹(jǐn)课幕,但這個(gè)請(qǐng)找產(chǎn)品和設(shè)計(jì),歡迎吊打他們)五垮;全域udp廣播$identify乍惊,看看有沒有回應(yīng)的設(shè)備,同事,別問我為啥是$identify放仗,我們用的這廠家人家就是要你搜$identify润绎,你不喜歡可以找廠家出來吊打他們;
怎樣搜得更合理,更科學(xué)更嚴(yán)謹(jǐn)莉撇,歡迎指導(dǎo)呢蛤,我們用最屌絲最土的做法
2.問嵌入式工程師ip地址和port,不給直接吊打,連上socket棍郎,開啟tcp通訊之旅其障;
2.數(shù)據(jù)發(fā)送,請(qǐng)記得writeData:withTimeout:tag與readDataWithTimeout:tag都要調(diào)取涂佃,若不調(diào)取readDataWithTimeout:tag励翼,數(shù)據(jù)發(fā)出去,然而接收不到response;
3.數(shù)據(jù)成功發(fā)出后辜荠,會(huì)觸發(fā)GCDAsyncSocketDelegate的回調(diào),回調(diào)里block返回控制器/數(shù)據(jù)處理等自行發(fā)揮汽抚;
至此,基于SmartConfig方案的Wi-Fi完成伯病,后面的都是邏輯處理問題了造烁。
補(bǔ)充:iOS12中,要獲取Wi-Fi的SSID午笛,一定要打開access wifi information