Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp56 [2020/06/12 12:44] labuser29products:laboratory_iot:exp56 [2024/12/04 20:33] (текущий) – [Программный код эксперимента] labuser30
Строка 1: Строка 1:
 ===== Эксперимент 56. Просмотр списка WiFi сетей ===== ===== Эксперимент 56. Просмотр списка WiFi сетей =====
  
-Начинаем раздел экспериментов, посвещенных работе с сетью и интернет. Наш конструктор имеет микроконтроллер со встроенной поддержкой Wi-Fi. Работу с сетью начнем с того, что посмотрим какие Wi-Fi сети находятся в зоне доступа.+Начинаем раздел экспериментов, посвященных работе с сетью и интернет. Наш конструктор имеет микроконтроллер со встроенной поддержкой Wi-Fi. Работу с сетью начнем с того, что посмотрим какие Wi-Fi сети находятся в зоне доступа.
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Строка 7: Строка 7:
 </WRAP> </WRAP>
  
 +==== Программный код эксперимента ====
 +
 +<file python Exp56.py[enable_line_numbers="2", start_line_numbers_at="1"]>
 +import network
 +
 +wlan = network.WLAN(network.STA_IF) # create station interface
 +wlan.active(True)       # activate the interface
 +wlans = wlan.scan()             # scan for access points
 +
 +for i in wlans:
 +    print(i)
 +</file>
 +
 +Сначала мы подключаем стандартную библиотеку ''network''
 +Создаем интерфейс в режиме клиента (наш микроконтроллер может работать и сам как точка доступа, работа в таком режиме будет рассмотрена позже).
 +<code python[enable_line_numbers="2", start_line_numbers_at="3"]>
 +wlan = network.WLAN(network.STA_IF)
 +</code>
 +
 +Активируем интерфейс
 +<code python[enable_line_numbers="2", start_line_numbers_at="4"]>
 +wlan.active(True)  
 +</code>
 +
 +Получаем список доступных сетей
 +<code python[enable_line_numbers="2", start_line_numbers_at="5"]>
 +wlans = wlan.scan()
 +</code>
 +
 +Выводим список доступных сетей в терминал
 +<code python[enable_line_numbers="2", start_line_numbers_at="7"]>
 +for i in wlans:
 +    print(i)
 +</code>
 +
 +После этого в терминал будет выведен список сетей. В нашем случае это 
 +<code>
 +(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)
 +</code>
 +
 +По каждой сети отображается информация:
 +  * 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, то сигнал слабый и соединение с такой точкой не может быть стабильным. В таком случае необходимо переместиться ближе к точке доступа.