Эксперимент 56. Просмотр списка WiFi сетей

Начинаем раздел экспериментов, посвященных работе с сетью и интернет. Наш конструктор имеет микроконтроллер со встроенной поддержкой Wi-Fi. Работу с сетью начнем с того, что посмотрим какие Wi-Fi сети находятся в зоне доступа.

Если у тебя дома нет Wi-Fi, то не беда. Любой Android или iOS смартфон может выполнять роль Wi-Fi роутера. В зависимости от версии операционной системы и графической оболочки, данная функция может включаться по- разному. За справкой обратись к инструкции от своего смартфона.

Программный код эксперимента

Exp56.py
  1. import network
  2.  
  3. wlan = network.WLAN(network.STA_IF) # create station interface
  4. wlan.active(True) # activate the interface
  5. wlans = wlan.scan() # scan for access points
  6.  
  7. for i in wlans:
  8. print(i)

Сначала мы подключаем стандартную библиотеку network. Создаем интерфейс в режиме клиента (наш микроконтроллер может работать и сам как точка доступа, работа в таком режиме будет рассмотрена позже).

  1. wlan = network.WLAN(network.STA_IF)

Активируем интерфейс

  1. wlan.active(True)

Получаем список доступных сетей

  1. wlans = wlan.scan()

Выводим список доступных сетей в терминал

  1. for i in wlans:
  2. print(i)

После этого в терминал будет выведен список сетей. В нашем случае это

(b'SmartLife-8764', b'\x82}:{\x87d', 1, -82, 0, 0)
(b'LakisAir', b'\xbc\xee{\x97\xb5\x1a', 1, -91, 3, 0)
(b'DIRECT-02-HP OfficeJet Pro 7740', b'\x1a`$gB\x02', 6, -72, 3, 0)
(b'HP-Print-DF-Officejet 7610', b'\x10\xe7\xc6\xbb\x1a\xdf', 6, -75, 3, 0)
(b'RTN16Log', b'\xbc\xee{\x97\xad\x10', 6, -84, 3, 0)
(b'Calcifer', b'((]\x86\xf3\x98', 6, -90, 3, 0)
(b'HUAWEI Y6 2019', b'v`\xfap\\G', 11, -92, 3, 0)

По каждой сети отображается информация:

  • SSID — Символическое имя точки доступа
  • BSSID — MAC адреса точки доступа
  • Channel — номер радио канала WiFi
  • RSSI — мощность сигнала
  • authmode - Шифрование
  • hidden - видимость точки доступа. 0 - видимая, 1 - скрытая

Примерные значения соответствия силы сигнала Wi-Fi и его качества:

  • Отличные показатели: от -35 до -50 дБм
  • Хорошие показатели: от -50 до -65 дБм
  • Удовлетворительные показатели: от -65 до -75 дБм
  • Плохие показатели: от -75 до -85 дБм
  • Неприемлемые значения: от -85 до -100 дБм

Возможные варианты authmode:

  • 0 – open
  • 1 – WEP
  • 2 – WPA-PSK
  • 3 – WPA2-PSK
  • 4 – WPA/WPA2-PSK

Из всех этих данных нас в первую очередь интересует, конечно, имя сети. Мы должны убедиться, что нужная нам сеть доступна (домашний Wi-Fi или точка доступа на базе смартфона). Кроме того нужно убедиться, что сигнал достаточно сильный. Если уровень сигнала менее -70, то сигнал слабый и соединение с такой точкой не может быть стабильным. В таком случае необходимо переместиться ближе к точке доступа.