ETA8266 OTA обновление с новым паролем Wi-Fi - PullRequest
0 голосов
/ 05 сентября 2018

Привет всем, у меня есть программа на 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 Ответ

0 голосов
/ 06 сентября 2018

Если 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()
...