我正在寻找从移动应用程序发送WiFi SSID和密码短语到一组覆盆子设备的方法。更具体地说:-树莓将在可能有多个可用的WiFi网络的环境中打开。-从应用程序中,用户将选择这些WiFis中的一个并提供密码短语-树莓将接收信息并连接到WiFi
一种方法是使树莓形成WiFi网络,其中一台机器充当接入点。据我所知,这种方法的问题是,IOS应用程序不可能使用苹果的公共接口在代码中连接到特定的WIFI在本例中是由raspberry运行的。
我最近买了一台Google Chromecast,用它的iOS应用程序很容易地把我的WiFi的SSID和通行短语发送给它。我想我正在寻找一种类似的方法。
谢谢
发布于 2016-09-23 21:40:39
我假设大多数繁重的工作(复制要发送到设备的SSID/passphrase )将由应用程序完成。
当涉及到设备(RPi)时,您需要用bash或python (或任何其他语言)编写一个自定义脚本,该脚本将在设备启动时由crontab/systemd执行。然后,根据设备的数量,您需要设置一个创建公共WiFi网络的主机,以便其他人可以通过WiFi SSID轮询连接到该网络。
这样,您就有了一个Raspberry Pi网络,可以接受来自网络上的任何设备(例如您的iPhone )的请求。
要真正让他们接受数据并重新连接到有效的网络,你需要设置一个服务器-要么使用node.js/tornado/flask侦听特定的端口(你的应用程序将把数据发送到这个端口),如果成功通过身份验证(假设你想要身份验证),它会执行一个函数,从他们当前的WiFi网络断开连接,并连接到你指定的新端口。我还鼓励他们回头寻找主节点,并重新连接到旧网络,以防他们无法连接到您要求他们连接的网络。
您也可以使用其他方法,如bluetooh或NFC来推送数据。
编辑:当你的手机自动连接到Pi网络时,我想最简单的方法是要求用户手动更改网络。我没有自己的iPhone,或者从来没有开发过,所以不能帮助你,对不起。
https://stackoverflow.com/questions/39661118
复制相似问题