Начинаем раздел экспериментов, посвященных работе с сетью и интернет. Наш конструктор имеет микроконтроллер со встроенной поддержкой Wi-Fi. Работу с сетью начнем с того, что посмотрим какие Wi-Fi сети находятся в зоне доступа.
Если у тебя дома нет Wi-Fi, то не беда. Любой Android или iOS смартфон может выполнять роль Wi-Fi роутера. В зависимости от версии операционной системы и графической оболочки, данная функция может включаться по- разному. За справкой обратись к инструкции от своего смартфона.
#include <ESP8266WiFi.h> void setup() { WiFi.mode(WIFI_STA); WiFi.disconnect(); } void loop() { int n = WiFi.scanNetworks(); if (n == 0) { } else { for (int i = 0; i < n; ++i) { switch(WiFi.encryptionType(i)) { } } } }
Сначала мы подключаем стандартную библиотеку ESP8266WiFi
.
Устанавливаем режим клиента (наш микроконтроллер может работать и сам как точка доступа, работа в таком режиме будет рассмотрена позже).
WiFi.mode(WIFI_STA);
Принудительно отключается от сети.
WiFi.disconnect();
В основном цикле получаем список доступных сетей
int n = WiFi.scanNetworks();
Выводим список доступных сетей в терминал и ждем 30 секунд.
После этого в терминал будет выведен список сетей. В нашем случае это
Scan start Scan done 7 networks found 1: TP-LINK_CF44_Ext (00:E0:20:68:5C:73, 2, -78, WPA/WPA2-PSK, 0) 2: TP-LINK_CF44 (C0:25:E9:38:CF:44, 2, -85, WPA/WPA2-PSK, 0) 3: 1125 (50:FF:20:0D:01:25, 7, -71, WPA/WPA2-PSK, 0) 4: Freedom (18:31:BF:02:A2:00, 8, -47, WPA/WPA2-PSK, 0) 5: TP-Link_CFBB (B0:BE:76:88:CF:BB, 1, -90, WPA/WPA2-PSK, 0) 6: NEW_ASUS (04:D9:F5:ED:31:A0, 13, -80, WPA/WPA2-PSK, 0) 7: NEW_ASUS (54:A0:50:71:9E:B0, 13, -90, WPA/WPA2-PSK, 0)
По каждой сети отображается информация:
Примерные значения соответствия силы сигнала Wi-Fi и его качества:
Возможные варианты authmode:
Из всех этих данных нас в первую очередь интересует, конечно, имя сети. Мы должны убедиться, что нужная нам сеть доступна (домашний Wi-Fi или точка доступа на базе смартфона). Кроме того нужно убедиться, что сигнал достаточно сильный. Если уровень сигнала менее -70, то сигнал слабый и соединение с такой точкой не может быть стабильным. В таком случае необходимо переместиться ближе к точке доступа.