-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathWiFi.ino
47 lines (46 loc) · 1.79 KB
/
WiFi.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
void WIFIinit() {
// Попытка подключения к точке доступа
Serial.println("");
WiFi.mode(WIFI_STA);
byte tries = 11;
String _ssid = jsonRead(configSetup, "ssid").c_str();
String _password = jsonRead(configSetup, "ssidPass").c_str();
WiFi.begin(_ssid.c_str(), _password.c_str());
// Делаем проверку подключения до тех пор пока счетчик tries
// не станет равен нулю или не получим подключение
while (--tries && WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(1000);
}
if (WiFi.status() != WL_CONNECTED)
{
// Если не удалось подключиться запускаем в режиме AP
Serial.println("");
Serial.println("WiFi up AP");
StartAPMode();
}
else {
// Иначе удалось подключиться отправляем сообщение
// о подключении и выводим адрес IP
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
}
bool StartAPMode() {
IPAddress apIP(192, 168, 4, 1);
// Отключаем WIFI
WiFi.disconnect();
// Меняем режим на режим точки доступа
WiFi.mode(WIFI_AP);
// Задаем настройки сети
WiFi.softAPConfig(apIP, apIP, IPAddress(255, 255, 255, 0));
// Включаем WIFI в режиме точки доступа с именем и паролем
// хронящихся в переменных _ssidAP _passwordAP
String _ssidAP = jsonRead(configSetup, "ssidAP").c_str();
String _passwordAP = jsonRead(configSetup, "ssidApPass").c_str();
WiFi.softAP(_ssidAP.c_str(), _passwordAP.c_str());
return true;
}