本文來源電子發(fā)燒友社區(qū),作者:cszzlsw, 帖子地址:https://bbs.elecfans.com/jishu_2037265_1_1.html
1.前情提要
繼上次重磅發(fā)布對接騰訊云的帖子之后,地址在這:https://bbs.elecfans.com/jishu_2032877_1_1.html
有一個問題沒有解決,那就是wifi聯(lián)網(wǎng)問題,本期就來介紹一下不要任何app,直接用系統(tǒng)原生的功能實現(xiàn)配網(wǎng),快來連接一下吧
2.初衷
傳統(tǒng)的配網(wǎng)方式一般是搭配一個專用的app,操作比較繁瑣,用戶體驗不太好,彈出式配網(wǎng)就是為了解決這個問題開發(fā)的,而且有種很酷炫的感覺而且學(xué)會了原理,把網(wǎng)頁文件一換,換成一個創(chuàng)意動畫神馬的哄女朋友開心也是不錯的
3.原理
其實彈出式配網(wǎng)的原理并不復(fù)雜,整體的原理是先創(chuàng)建一個熱點讓手機(jī)連接到熱點,然后開啟dns劫持,利用web服務(wù)器將訪問地址跳轉(zhuǎn),然后把預(yù)先準(zhǔn)備好的網(wǎng)頁文件發(fā)送到連接熱點的設(shè)備上,在網(wǎng)頁上提供按鈕點擊操作讀取wifi列表,然后輸入密碼,發(fā)送到板子去連接,保存,連接的設(shè)備可以是手機(jī),電腦等等,連接完成之后就可以重啟開發(fā)板執(zhí)行真正的任務(wù)了.
4.實現(xiàn)
1).參考了潤和倉庫里的demo代碼很快就創(chuàng)建好了熱點:
https://gitee.com/hihopeorg/HarmonyOS-IoT-Application-Development/tree/master/04_wifi
創(chuàng)建熱點之后測試一下手機(jī)能連接熱點第一步就成功了
2).參考潤和倉庫的udp和tcp的代碼demo也比較快的就搞好了dns劫持和web服務(wù)器:
https://gitee.com/hihopeorg/HarmonyOS-IoT-Application-Development/tree/master/05_network,這一步做好之后就可以出現(xiàn)彈窗了
3).彈窗出現(xiàn)之后下一步就是下發(fā)網(wǎng)頁文件到手機(jī),這一步著實花費了一些時間,倒不是網(wǎng)頁的發(fā)送,而是網(wǎng)頁文件的存儲,整整花了我5,6個小時之久,到處問人也沒問到,查閱了海量的官方文檔,最后還是誤打誤撞(串口抓包研究固件下載流程發(fā)現(xiàn)的)找到了方法,具體是什么大家在視頻中也可以看到
4).后面就是用戶點擊手機(jī)上的網(wǎng)頁來搜索網(wǎng)絡(luò)和配網(wǎng)了,板子接收到手機(jī)發(fā)過來的用戶名和密碼就嘗試連接對應(yīng)的wifi,如果連接成功就保存起來,然后重啟板子就行了,這里還有一個問題就是配網(wǎng)的ssid和密碼的保存和讀取,這里有兩種方法,一種是利用鴻蒙自帶的kv系統(tǒng)來實現(xiàn),第二種就是直接讀寫flash,這里我采用的是kv系統(tǒng),之前參考了連老師的帖子:https://zhuanlan.zhihu.com/p/274411574
發(fā)現(xiàn)不行,根本沒有存儲到flash中去,后面我自己在代碼里找,終于找到了真正的接口,見圖片:

在代碼中是這樣:
?
如果是直接用官方的flash存儲是長這樣:

5).到這里我們的彈出式配網(wǎng)就已經(jīng)完成了,后面就是添加板子啟動的時候讀取kv系統(tǒng)里面有沒有保存賬號密碼,如果沒有就啟動熱點模式讓用戶配網(wǎng),如果有就直接用sta模式連接對應(yīng)的wifi,然后該干啥干啥就行了
6).如果想重新配網(wǎng)就搞一個按鈕長按恢復(fù)出廠就行,這個不用我來說了吧,大家應(yīng)該都會.
怎么樣,是不是挺簡單的,具體的細(xì)節(jié)我就不過多碼字了,這里我就直接把視頻放出來,大家感受一下最終的效果就行.
5.來談?wù)剰棾鍪脚渚W(wǎng)的小缺點:
1.跟手機(jī)兼容性有關(guān),可能有的手機(jī)不會自動彈出配網(wǎng)界面,而是在系統(tǒng)通知欄出現(xiàn)一個通知,然后手機(jī)點擊通知才能跳轉(zhuǎn)到對應(yīng)的網(wǎng)頁,關(guān)于手機(jī)的兼容報告還有待大家共同測試,畢竟個人力量有限
2.需要占用比較大的flash空間,因為彈出式配網(wǎng)有一個網(wǎng)頁要存儲在芯片上,然后這個網(wǎng)頁因為渲染和js腳本會占用比較多的字節(jié),對于flash吃緊的設(shè)備不是那么友好
6.最后
有感興趣想了解的同學(xué)可以跟我或者版主綠波電龍聯(lián)系,視大家的意愿再公開源碼,以免被yxh盜用
1.前情提要
繼上次重磅發(fā)布對接騰訊云的帖子之后,地址在這:https://bbs.elecfans.com/jishu_2032877_1_1.html
有一個問題沒有解決,那就是wifi聯(lián)網(wǎng)問題,本期就來介紹一下不要任何app,直接用系統(tǒng)原生的功能實現(xiàn)配網(wǎng),快來連接一下吧
2.初衷
傳統(tǒng)的配網(wǎng)方式一般是搭配一個專用的app,操作比較繁瑣,用戶體驗不太好,彈出式配網(wǎng)就是為了解決這個問題開發(fā)的,而且有種很酷炫的感覺而且學(xué)會了原理,把網(wǎng)頁文件一換,換成一個創(chuàng)意動畫神馬的哄女朋友開心也是不錯的
3.原理
其實彈出式配網(wǎng)的原理并不復(fù)雜,整體的原理是先創(chuàng)建一個熱點讓手機(jī)連接到熱點,然后開啟dns劫持,利用web服務(wù)器將訪問地址跳轉(zhuǎn),然后把預(yù)先準(zhǔn)備好的網(wǎng)頁文件發(fā)送到連接熱點的設(shè)備上,在網(wǎng)頁上提供按鈕點擊操作讀取wifi列表,然后輸入密碼,發(fā)送到板子去連接,保存,連接的設(shè)備可以是手機(jī),電腦等等,連接完成之后就可以重啟開發(fā)板執(zhí)行真正的任務(wù)了.
4.實現(xiàn)
1).參考了潤和倉庫里的demo代碼很快就創(chuàng)建好了熱點:
https://gitee.com/hihopeorg/HarmonyOS-IoT-Application-Development/tree/master/04_wifi
創(chuàng)建熱點之后測試一下手機(jī)能連接熱點第一步就成功了
2).參考潤和倉庫的udp和tcp的代碼demo也比較快的就搞好了dns劫持和web服務(wù)器:
https://gitee.com/hihopeorg/HarmonyOS-IoT-Application-Development/tree/master/05_network,這一步做好之后就可以出現(xiàn)彈窗了
3).彈窗出現(xiàn)之后下一步就是下發(fā)網(wǎng)頁文件到手機(jī),這一步著實花費了一些時間,倒不是網(wǎng)頁的發(fā)送,而是網(wǎng)頁文件的存儲,整整花了我5,6個小時之久,到處問人也沒問到,查閱了海量的官方文檔,最后還是誤打誤撞(串口抓包研究固件下載流程發(fā)現(xiàn)的)找到了方法,具體是什么大家在視頻中也可以看到
4).后面就是用戶點擊手機(jī)上的網(wǎng)頁來搜索網(wǎng)絡(luò)和配網(wǎng)了,板子接收到手機(jī)發(fā)過來的用戶名和密碼就嘗試連接對應(yīng)的wifi,如果連接成功就保存起來,然后重啟板子就行了,這里還有一個問題就是配網(wǎng)的ssid和密碼的保存和讀取,這里有兩種方法,一種是利用鴻蒙自帶的kv系統(tǒng)來實現(xiàn),第二種就是直接讀寫flash,這里我采用的是kv系統(tǒng),之前參考了連老師的帖子:https://zhuanlan.zhihu.com/p/274411574
發(fā)現(xiàn)不行,根本沒有存儲到flash中去,后面我自己在代碼里找,終于找到了真正的接口,見圖片:

在代碼中是這樣:
?
如果是直接用官方的flash存儲是長這樣:

5).到這里我們的彈出式配網(wǎng)就已經(jīng)完成了,后面就是添加板子啟動的時候讀取kv系統(tǒng)里面有沒有保存賬號密碼,如果沒有就啟動熱點模式讓用戶配網(wǎng),如果有就直接用sta模式連接對應(yīng)的wifi,然后該干啥干啥就行了
6).如果想重新配網(wǎng)就搞一個按鈕長按恢復(fù)出廠就行,這個不用我來說了吧,大家應(yīng)該都會.
怎么樣,是不是挺簡單的,具體的細(xì)節(jié)我就不過多碼字了,這里我就直接把視頻放出來,大家感受一下最終的效果就行.
5.來談?wù)剰棾鍪脚渚W(wǎng)的小缺點:
1.跟手機(jī)兼容性有關(guān),可能有的手機(jī)不會自動彈出配網(wǎng)界面,而是在系統(tǒng)通知欄出現(xiàn)一個通知,然后手機(jī)點擊通知才能跳轉(zhuǎn)到對應(yīng)的網(wǎng)頁,關(guān)于手機(jī)的兼容報告還有待大家共同測試,畢竟個人力量有限
2.需要占用比較大的flash空間,因為彈出式配網(wǎng)有一個網(wǎng)頁要存儲在芯片上,然后這個網(wǎng)頁因為渲染和js腳本會占用比較多的字節(jié),對于flash吃緊的設(shè)備不是那么友好
6.最后
有感興趣想了解的同學(xué)可以跟我或者版主綠波電龍聯(lián)系,視大家的意愿再公開源碼,以免被yxh盜用
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
wi-fi
+關(guān)注
關(guān)注
15文章
2424瀏覽量
129570 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2153瀏覽量
36058 -
HiSpark
+關(guān)注
關(guān)注
1文章
156瀏覽量
7758
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
物聯(lián)網(wǎng)浪潮下,如何精準(zhǔn)選型Wi-Fi模塊?
Wi-Fi模塊選型的關(guān)鍵要點。 一:選擇用模塊的理由: 選擇Wi-Fi模塊,核心優(yōu)勢在于極大地方便了電路集成設(shè)計,特別是硬件兼容集成設(shè)計。只要產(chǎn)品前期完成綜合設(shè)計,后續(xù)無論是產(chǎn)品設(shè)計環(huán)節(jié),還是應(yīng)用端的靈活選擇,都能享受極大便利。
一鍵配網(wǎng)失敗怎么辦?機(jī)智云熱點配網(wǎng)全攻略
在使用機(jī)智云APP進(jìn)行一鍵配網(wǎng)時,常見的失敗原因之一是WiFi頻段不匹配。許多機(jī)智云入門設(shè)備(如ESP8266)僅支持2.4GHz的WiFi
Wi-Fi模塊選型指南 | 低功耗藍(lán)牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略
物聯(lián)網(wǎng)的快速發(fā)展,Wi-Fi技術(shù)的成熟的情況下,越來越多的場景需要用到Wi-Fi來無線傳輸數(shù)據(jù),尤其是移動設(shè)備中,怎么再設(shè)備中選擇合適的Wi-Fi模塊呢?下面我們來介紹
Wi-Fi信號滿格但實際上不了網(wǎng),一文搞定
”“網(wǎng)絡(luò)權(quán)限”或“設(shè)備設(shè)置”上,不用等運營商上門,自己按步驟排查就能快速恢復(fù)網(wǎng)絡(luò)。? 一、排查驗證,網(wǎng)絡(luò)是否真斷了?? 1.測試其他設(shè)備,區(qū)分是“單設(shè)備問題”還是“全局?jǐn)?b class='flag-5'>網(wǎng)”?? 測試操作:用手機(jī)、平板、電腦等多臺設(shè)備連接同一
有沒有什么修復(fù)方法可以確保 AP 模式下的 Wi-Fi 和 BLE 連接同時正常工作?
我正在使用 CYBSYSKIT DEV 01 套件。我嘗試在 AP 模式下打開 Wi-Fi 并宣傳 BLE。我可以宣傳 SoftAP 和 BLE。但是,我無法從中央設(shè)備連接到 BLE。它可以立即連接并斷開連接。有沒有什么修復(fù)方法
發(fā)表于 07-17 06:13
Air8000核心板SoftAP配網(wǎng)方案:快速構(gòu)建無線接入點
通過HTTP請求控制LED的開關(guān)、發(fā)送任意消息、掃描可用的Wi-Fi網(wǎng)絡(luò)、獲取AP列表,以及連接到新的Wi-Fi網(wǎng)絡(luò)。 實際應(yīng)用中可基于LuatOS二次開發(fā),實現(xiàn)Wi-Fi設(shè)備快速配網(wǎng)
Air8000核心板Wi-Fi應(yīng)用之SoftAP配網(wǎng)方案詳解!
本文深入探討Air8000核心板在Wi-Fi應(yīng)用中的SoftAP配網(wǎng)方案,通過該方案可快速搭建無線接入點,實現(xiàn)設(shè)備與網(wǎng)絡(luò)的便捷連接,為物聯(lián)網(wǎng)場景下的快速配置提供高效解決方案。 下面以A
BW20雙頻WiFi模塊,可支持Wi-Fi Mesh 組網(wǎng):二次開發(fā)環(huán)境搭建教程
連接一個SSID就可以完成配網(wǎng),不僅簡化了配網(wǎng)流程,也提升了配
SoftAP方案:Wi-Fi配網(wǎng)的黃金法則“100%成功”
遵循SoftAP方案的“黃金法則”,Wi-Fi配網(wǎng)將不再有失敗風(fēng)險。設(shè)備自組網(wǎng)機(jī)制讓連接過程變?yōu)椤皢蜗蛞龑?dǎo)”——設(shè)備主動開放熱點并智能適配,確保每次配
一篇帶你搞定!Air8101:物聯(lián)網(wǎng)設(shè)備AirKiss配網(wǎng)方案
AirKiss通過免交互配網(wǎng)方案降低了用戶操作門檻,同時兼容微信生態(tài)實現(xiàn)快速商業(yè)化部署 ——已滲透至智能家居、工業(yè)控制、醫(yī)療健康等多元化場景,成為物聯(lián)網(wǎng)設(shè)備配網(wǎng)的核心技術(shù)方案。 ?
nRF Cloud Wi-Fi 定位服務(wù)
客戶云或返回到設(shè)備。
Nordic Semiconductor 于今年年初發(fā)布了我們的 Wi-Fi 產(chǎn)品系列 nRF70 系列。該系列推出的首款芯片是 nRF7002,它是一款超低功耗雙頻無線協(xié)同 IC
發(fā)表于 04-17 15:07
Wi-Fi 定位服務(wù)
Wi-Fi 是一種著名的無線網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過 Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的
發(fā)表于 04-17 15:01
拯救急性子!涂鴉推出快連Plus配網(wǎng)方案,批量配網(wǎng)速度猛增5倍
一、什么是Wi-Fi配網(wǎng)設(shè)備配網(wǎng)是智能家居系統(tǒng)關(guān)鍵的一
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】放大招啦,卸載你的配網(wǎng)app,wifiiot彈出式配網(wǎng)了解一下
評論