• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Чудеса с WiFi.config в Arduino IDE

uanik

New member
Уважаемые форумчане, помогите!
Мне нужно использовать фиксированный ip адрес
Вот часть моего кода:
.....
IPAddress ip (192,168,0,177);
IPAddress dns (8, 8, 8, 8);
IPAddress gateway (192, 168, 0, 1);
IPAddress mask (255, 255, 255, 0);
ESP8266WebServer server(80);
....
WiFi.begin(ssid, password);
WiFi.config(ip, dns, gateway, mask);
....
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}
.......
void loop(void){
delay (200);
server.handleClient();
if (WiFi.status() != WL_CONNECTED){
Serial.println("?");
}
..........

Сначала несколько дней все работало на отлично. Но в какой-то момент, после перезагрузки ESP8266, я перестал ее видеть. Сканирование всей подсети Lan Spy-ем тоже ничего не дало.
При этом в UART все также выдавалось "Connected to dlink-ua", "IP address: 192.168.0.177".
При выключении роутера в цикле loop в UART выдавался "?" (проверка WiFi статуса), обратном его включении, как положено "?" пропадал.
Затем я закомментировал строчку "WiFi.config(ip, dns, gateway, mask);" ESP-шка стала получать адрес по dhcp и стала видеться как по ip, так и по dns имени esp8266.local
Может быть что то я пропустил в WiFi.config или это глюки ESP-шки или Arduino IDE?
 

CodeNameHawk

Moderator
Команда форума
Не знаю актуально ли, но
Код:
WiFi.config(ip, dns, gateway, mask);
должна выполняться перед
Код:
WiFi.begin(ssid, password);
Причем у меня вместо
Код:
WiFi.config(ip, dns, gateway, mask);
Код:
WiFi.config(ip, gateway, mask, dns1,dns2);
Возможно потому, что версия платы поновее.
 

CodeNameHawk

Moderator
Команда форума
@Victor Я про это, что установлена новая версия "esp8266 by ESP8266 community версия 2.1.0"
plata.jpg
 
Последнее редактирование:

tretyakov_sa

Moderator
Команда форума
При этом в UART все также выдавалось "Connected to dlink-ua", "IP address: 192.168.0.177".
При выключении роутера в цикле loop в UART выдавался "?" (проверка WiFi статуса), обратном его включении, как положено "?" пропадал.
Затем я закомментировал строчку "WiFi.config(ip, dns, gateway, mask);" ESP-шка стала получать адрес по dhcp и стала видеться как по ip, так и по dns имени esp8266.local
Может быть что то я пропустил в WiFi.config или это глюки ESP-шки или Arduino IDE?
Может на роутере 177 адрес, заняло другое устройство?
 
Сверху Снизу