【问题标题】:ESP8266 OTA update with new wifi passwordESP8266 OTA 更新使用新的 wifi 密码
【发布时间】:2019-02-10 23:12:09
【问题描述】:

大家好,我有一个 C# 程序,它允许我将 .BIN 文件上传到我的 ESP8266 (Wemos D1 mini) 板上,如果需要更新,它可以很好地更新 .ino 代码。

但是,我想知道如果我的 wifi 网络更改了访问 wifi 的密码,我该怎么做?

我使用 mDNS 是为了不关心 wifi 的 IP 地址,但是当 wifi 从 .ino 文件中编码的密码更改密码时,我还没有找到任何仍然允许我进行 OTA 更新的东西。

如果我将密码保存到 SPIFF,如果密码更改并且我需要更新 Wemos D1 mini 上的密码以反映密码更改,我将如何访问 Wemos D1 mini?在我看来它无法连接,因为在要求进行 OTA 更新时会使用旧密码?

我可能想多了 - 或者错过了一些我正在查看的非常明显的东西,但是关于如何解决这个问题的任何想法都会很棒!

【问题讨论】:

    标签: esp8266 arduino-esp8266 ota spiffs


    【解决方案1】:

    如果 ESP8266 无法再连接到您的 WiFi 网络,您可以随时启动它自己的接入点。我做了类似的事情,并在几分钟无法连接后启动软 AP。然后它将允许您向其推送固件更新,或通过 Web API 更改密码。

    通过 Soft AP + 更新服务器更新固件的示例: https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266HTTPUpdateServer/examples/WebUpdater/WebUpdater.ino

    ArduinoOTA 应该在软 AP 模式下正常工作

    除了以上两种之外,您还可以随时使用 ESP8266 的“SmartConfig”模式,该模式允许您通过移动应用程序设置密码而无需与接入点关联。有了这个,您不应该仅仅为了更改密码而要求更新固件。

    启用 SmartConfig 模式:

    WiFi.beginSmartconfig()
    ... 
    WiFi.stopSmartConfig()
    

    【讨论】:

    • 感谢黎明的回复。您介意提供代码或指向此代码示例的链接吗?
    • @StealthRT - 添加了上述每个示例。我会说你最好的选择是通过更新服务器 - 根据我的经验,smartconfig 模式并不是非常可靠,但是,我从来没有遇到过服务器问题。
    • 哼,WebUpdater 似乎行不通。看起来它只是循环直到连接,但它使用的是硬编码的 ssid 和密码,所以当它们发生变化时它永远不会?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多