我正在研究使IoT设备访问用户的wifi网络的方法。
我了解WPS方式,在这种方式下,设备被命令收听,接收后,“广播”信号和路由器。并赋予设备访问权限。
设备还有一种创建自己的访问点的方法,用户连接到该设备即可传递家庭网络的SSID和密码。
还有其他方法

我已经读过这篇文章,讨论了这种'ProbMe'方法:

我可能是错的,但是Broadlink Rm Pro可能会做这样的事情。最近,我配置了其中之一,而我只需要:


将智能手机连接到wifi
扫描QR码或在Broadlink App中键入代码
输入我在Broadlink应用程序中的网络SSID和密码
,而且我不知道如何将设备连接到我的网络,该应用程序甚至具有其MAC地址。

您是否了解有关此ProbMe方法和/或其他替代方法的更多信息,以便使IoT设备可以访问用户wifi网络?

编辑:搜索ProbMe,我发现这是一家名为Econais的公司的技术,只是分享您是否要开发/生产类似的东西,该公司可以使用IoT软件/硬件。
免责声明:我不从事Econais也不以任何方式参与其中。

评论

这里有点回答。许多wifi芯片都有能力在客户端模式和接入点模式之间切换。 ESP8266有能力iot.stackexchange.com/questions/2568/…

感谢您的评论@ GusGorman402。客户端模式/接入点模式是解决我的问题的好方法。无论如何,我想指出的是,我指的是我的问题的Broadlink设备没有使用类似的东西,至少我不认为是那样,因为我的智能手机没有切换wifi,因此它既没有手动连接也无法通过编程方式连接。我敢打赌,它类似于ProbMe方法。

我认为这使用的是乐鑫开发的ESP-Touch协议。本文提供了一些细节和一些Arduino代码,可通过WiFi.beginSmartConfig()函数使用它。我还没有亲自测试过,因此还没有将其作为答案,但是如果/当我可以使用时,我将提供任何详细信息。

#1 楼

如果您使用的是ESP8266,内置的Smart Config功能可以实现这一点。可以在这里找到一个示例:ESP8266 Arduino WiFiSmartConfig.ino。

重要的步骤是将其设置为STA模式:WiFi.mode(WIFI_STA);

然后开始寻找智能配置数据包:WiFi.beginSmartConfig();

最后检查配置是否完整:WiFi.smartConfigDone()

然后可以使用iPhone或Android Ap在设备上配置wifi,也可以从Espressif iOS Ap或Android Ap。

ESP32还具有此功能;请参阅演示11:如何在Arduino ESP32上使用SmartConfig。

#2 楼

我购买的大多数设备(IP摄像机,电灯开关,电源插座)都在后台使用超声波通信。看看诸如Chromecast,Lisnr和Chirp之类的品牌。

当设备处于配置模式时,您必须将智能手机靠近设备,客户端应用会发出音频信号( (可以听见或听不到),并调制了SSID和密码。听起来像石器时代,但没有多余的装饰:)