Проверьте статус, если Raspberry Pi подключен к какой-либо сети WiFi (не обязательно Интернет) с использованием Python - PullRequest
0 голосов
/ 17 мая 2018

Я не хочу проверять наличие подключения к Интернету! Я просто хочу проверить, подключен ли он к сети Wi-Fi (я бы уже указал его SSID в файле WPA_supplicant). В этой сети не будет доступа в Интернет.

Ответы [ 3 ]

0 голосов
/ 01 ноября 2018

вы можете использовать следующие строки кода для проверки IP-адреса, назначенного для RPI

t="$(ifconfig wlan0 | awk '/inet addr/{print substr($2,6)}')"
echo $t
w=${#t}
echo $w

использовать любую проверку состояния после этого, например, для проверки ширины.

0 голосов
/ 23 марта 2019

Задача

iwconfig не работал для меня, но iwgetid работал.

Как мне решить эту проблему?

код

import subprocess
ps = subprocess.Popen(['iwgetid'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
try:
    output = subprocess.check_output(('grep', 'ESSID'), stdin=ps.stdout)
    print(output)
except subprocess.CalledProcessError:
    # grep did not match any lines
    print("No wireless networks connected")
0 голосов
/ 17 мая 2018

Предполагая, что вы используете какой-то тип Linux (например, raspbian), вам не нужно использовать Python для этого, проще всего было бы:

iwconfig 2>&1 | grep ESSID

из командной строки или сценария оболочки,Будет вывод, если вы подключены к беспроводной сети, и не будет, если нет.Вы можете обернуть это в subprocess, если вы хотите запустить его из Python:

import subprocess
ps = subprocess.Popen(['iwconfig'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
try:
    output = subprocess.check_output(('grep', 'ESSID'), stdin=ps.stdout)
    print(output)
except subprocess.CalledProcessError:
    # grep did not match any lines
    print("No wireless networks connected")
...