[英]Connect to a WiFi-Direct Network with a device which doesn't have the WiFi-Direct feature
[英]Setup a headless device to connect to a wifi network
我有一台沒有屏幕的設備+一個微控制器+一個wifi模塊。
到目前為止,還算不錯,但是基本上我想設置我的設備,使其可以連接到wifi網絡,因此我制作了一個應用來實現這一目的。
該策略是:
POST http://xxxx/wifi_creds "Home" "homepassword"
GET http://xxxx/conn_status
POST http://xxxx/wifi_ap_mode 0
這工作得很好,但是需要用戶手動連接到“ Device XXXX” ssid。 實際上,在Android上,我可以通過自動連接到此ssid來簡化事情,但是我需要先找到ssid。
因此,我的想法是掃描所有ssid,並連接到與模式/^Device [0-9a-zA-Z]{4}/
匹配的第一個(如Device 1234)。
但是,這似乎不是查找熱點的好方法,並且可能會有更好的方法。 另外,我不想給它一個默認名稱,因為它可能與另一個ssid沖突。
沒有這種技巧,還有另一種方法可以找到我的設備(或設備ssid)嗎?
我知道Google home可以連接到Chromecast,允許您在Chromecast處於AP模式時使用看起來像“ Chromecast XXXX”( 禁用藍牙 )的ssid對其進行配置,但我不確定它們如何做吧
*我假設(也許是錯誤地)您的無頭設備基於Android。 如果它是Android且具有藍牙,尤其是低功耗藍牙並且高於Android 5.0:
您可以讓該設備充當藍牙信標,並不斷廣播其SSID。
因此,您的應用程序首先掃描藍牙信標-信標有效載荷可以是任意數據-也許是一些已知的硬編碼GUID,以確保您正在與正確的藍牙信標通信,並且還嵌入了SSID。
現在去掃描SSID並連接到它。
有關如何執行此操作的詳細信息,請參見此庫 。
我相信您甚至可以配置一種“地理信息”,以便一旦進入信標范圍,您的應用程序就會喚醒並進行配對。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.