Откуда NodeMCU получает ip-адрес?

#nodemcu

#nodemcu

Вопрос:

С пробелом init.lua всякий раз, когда я перезагружаю NodeMCU :

=wifi.sta.getip()
192.168.1.108 255.255.255.0 192.168.1.1

Откуда он это получает 192.168.1.108 ?
Однажды, пару недель назад, я тестировал wifi модуль.
Когда он подключался, он был с этим ip.

Как эта информация может находиться поблизости?
Или
это какой-то внутренний ip, который NodeMCU использует?

Ответ №1:

Ответ содержится в документах для wifi.sta.config :

Конфигурация станции будет сохранена до изменения, даже если устройство выключено.

Итак, если вы использовали wifi.sta.config("ssid", "password") в прошлом, устройство будет пытаться подключиться к Wi-Fi «ssid» и получать IP-адрес (от DHCP-сервера) при каждой загрузке.

Комментарии:

1. как вау! для меня это настолько нелогично и противоречит практике безопасности, что я бы никогда этого не ожидал.

2. итак, каков был бы наилучший способ очистить этот кэшированный ssid / пароль?

3. ОК. можно позже wifi.sta.config('nowhere','nowwayjose') . при перезагрузке запоминается последняя попытка, поэтому wifi.sta.getip() => nil

4. «настолько нелогично и противоречит методам обеспечения безопасности» — я не согласен. Вы храните / запоминаете пароль Wi-Fi на своем ноутбуке? Как насчет вашего мобильного телефона? Запрашивает ли он у вас пароль от домашнего Wi-Fi каждый раз, когда вы входите в свою квартиру / дом? Было бы немного громоздко, если бы вам пришлось подключать ESP8266 к последовательной консоли только для ввода пароля при перезагрузке. Вы можете сбросить его при перезагрузке, а затем запустить EUS для беспроводной настройки.

5. Я согласен с вами. В веб-разработке одно из моих эмпирических правил заключается в том, чтобы не хранить или кэшировать конфиденциальную информацию, если вы можете обойти это. Однако в контексте NodeMCU я думаю, что кэширование соединения имеет слишком много смысла, чтобы не делать этого — именно так, как вы сказали.