• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 адрес, заняло другое устройство?
 
Сверху Снизу