ETA8266 OTA обновление с новым паролем Wi-Fi
Привет всем, у меня есть программа на C#, которая позволяет загружать файл.BIN на мою плату ESP8266 (Wemos D1 mini) и прекрасно справляется с обновлением кода.ino, если требуется обновление.
Тем не менее, мне интересно, как бы я поступил так, если моя сеть Wi-Fi изменит пароль для доступа к Wi-Fi?
Я использую mDNS, чтобы не заботиться об IP-адресе Wi-Fi, но я еще не нашел ничего, что позволило бы мне сделать OTA-обновление, когда Wi-Fi изменил свой пароль с того, который закодирован в файле.ino.
Поэтому, если я сохраню пароль в SPIFF, как я получу доступ к Wemos D1 mini, если пароль изменится, и мне нужно будет обновить пароль на Wemos D1 mini, чтобы отразить это изменение пароля? Мне кажется, что он не будет подключаться, так как старый пароль будет использоваться при запросе на обновление OTA?
Я, возможно, слишком обдумал это - или пропустил что-то очень очевидное, что я смотрю, но любые идеи о том, как решить эту проблему, были бы отличными!
1 ответ
Если ESP8266 больше не может подключаться к вашей сети Wi-Fi, вы всегда можете запустить собственную точку доступа. Я сделал что-то похожее и запустил Soft AP через пару минут после невозможности подключения. Это позволит вам загружать обновления микропрограммы или изменять пароль через веб-API.
Пример обновления прошивки через сервер обновлений Soft AP +: https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266HTTPUpdateServer/examples/WebUpdater/WebUpdater.ino
ArduinoOTA должен работать как обычно в режиме Soft AP.
Кроме двух вышеупомянутых, вы всегда можете использовать режим "SmartConfig" ESP8266, который позволяет вам установить пароль без привязки к точке доступа через мобильное приложение. При этом вам не нужно требовать обновления прошивки просто для смены пароля.
Чтобы включить режим SmartConfig:
WiFi.beginSmartconfig()
...
WiFi.stopSmartConfig()