我在同一个房间里有 10 台相同的设备(snappy ubuntu core 是操作系统,尽管任何关于 Windows 或操作系统无关的建议 [例如源代码] 都欢迎)。每台设备都有一个相同的 10 个隐藏网络 SSID 和密码组合列表。打开后,它们会自动搜索这些隐藏的 SSID 中的任何一个(只需按顺序尝试连接到列表中的每个 SSID,或者是否有真正的方法来搜索隐藏的 SSID?)。重复搜索(如果需要)直到找不到隐藏的 SSID,在这种情况下,设备将使用无法从列表中找到的 SSID 创建隐藏网络。因此:
- 设备 1 开启后,在列表中搜索 SSID 1。未找到,因此创建一个隐藏网络,其中包含列表中 SSID 1 的详细信息。
- 设备 2 开启并在列表中搜索 SSID 1。由于设备 1 已经创建了这个隐藏网络,设备 2 检测到了这一点并继续搜索未使用的隐藏 SSID(它搜索 SSID 2 列表)。由于它没有发现正在使用的 SSID,因此它创建了这个隐藏网络。
这些设备无法单独编程来使用列表中的 10 个 SSID 之一来创建网络 - 这里的重点是,相同的设备能够在没有用户输入的情况下找到列表中未使用的 SSID。
到目前为止,我的研究发现了一个尝试连接到 SSID 的脚本:
#!/bin/sh
#
# Automatically try to connect to 'MyWiFi' when WiFi is enabled
#
# the output of nmcli should be in English
LC_ALL=C
# loop for a while until NetworkManager is accepting commands
while [ "$(nmcli -t -f WIFI,STATE nm)" = 'enabled:disconnected' ]
do
nmcli con up id MyWiFi
sleep 5
done
exit 0
我该如何调整它以达到上述目的?