【发布时间】:2019-10-09 01:12:08
【问题描述】:
我有一个没有屏幕的设备 + 一个微控制器 + 一个 wifi 模块。
到目前为止一切顺利,但基本上我想设置我的设备以便它可以连接到 wifi 网络,所以我制作了一个应用程序来做到这一点。
策略是:
- 使用自定义 ssid(如“设备 XXXX”)将设备置于 wifi AP 模式
- 连接到这个 ssid“设备 XXXX”
- 向用户询问其家庭 wifi 凭据
- 将凭据发送到设备(例如使用 http)->
POST http://x.x.x.x/wifi_creds "Home" "homepassword" - 轮询设备以检查它是否可以连接到“家庭”网络 ->
GET http://x.x.x.x/conn_status - 一旦连接上,停止AP模式 ->
POST http://x.x.x.x/wifi_ap_mode 0
这很好用,但它需要用户手动连接到“设备 XXXX”ssid。 实际上,在 Android 上,我可以通过自动连接到这个 ssid 来让事情变得更简单,但我需要先找到 ssid。
所以我的想法是扫描所有 ssid 并连接到第一个匹配模式 /^Device [0-9a-zA-Z]{4}/(如设备 1234)的 ssid。
不过,这看起来不是找到热点的好方法,可能还有更好的方法。 另外,我不想给它一个默认名称,因为它可能与另一个 ssid 冲突。
有没有其他方法可以在没有这个技巧的情况下找到我的设备(或我的设备 ssid)?
我知道 Google Home 能够连接到 Chromecast,允许您在 Chromecast 处于 AP 模式时对其进行配置,其 ssid 看起来像“Chromecast XXXX”(禁用蓝牙时 ),我不确定他们是怎么做到的
【问题讨论】:
-
你看过Wi-Fi P2P(Wi-Fi Direct™,不要与自组织网络混淆)吗?
标签: android wifi iot chromecast