#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 я думаю, что кэширование соединения имеет слишком много смысла, чтобы не делать этого — именно так, как вы сказали.