Я не знаю ни одного готового -инструмента, который можно было бы использовать для ваших целей, но вы могли бы сделать его сами.
Необходимые инструменты и программы доступны на Raspbian.
К счастью, wpa-supplicant
позволяет интерактивно управлять сканированием сетей и ручным подключением к сетям.
Если быть точным, вы можете либо использовать программу wpa_cli
, либо использовать wpa _ctrl API в c , который также является основой для wpa_cli
.
wpa_cli
позволяет
поиск SSID и отображение результатов:
wpa_cli -i wlan0 SCAN
wpa_cli -I wlan0 SCAN_RESULTS
получить подробную информацию об идентификаторах SSID (, включая мощность сигнала, шифрование и т. д.):
wpa_cli -i wlan0 BSS 0
Подсказка :замените 0
на idx SSID из выходных данных SCAN _RESULTS, о которых вы хотите узнать больше.
подключитесь к определенному SSID, соответствующему вашим критериям
sudo wpa_cli -i wlan0 ADD_NETWORK
sudo wpa_cli -i wlan0 SET_NETWORK 0 ssid "SSID"
sudo wpa_cli -i wlan0 SET_NETWORK 0 psk "passphrase"
sudo wpa_cli -i wlan0 ENABLE_NETWORK 0
Примечание. :замените 0
числом, которое выводится на стандартный вывод после ADD_NETWORK
отключиться от SSID
sudo wpa_cli -i wlan0 DISCONNECT
Очевидно, вам придется проанализировать вывод этих команд.
Чтобы проверить, возможно ли подключение к вашему серверу после подключения к SSID,вы можете просто оценить результаты вызова ping.
А теперь вам просто нужно собрать все воедино.
Now I need to upgrade it to Python 3.9. What should I do? Can I just download the source of 3.9 and install as if I'm installing it for the 1st time?
sudo mv /usr/local /usr/local.bak
sudo mkdir /usr/local
./configure && make -j $(nproc) && sudo make install