是否可以更新 NodeMCU Lua 文件 OTA?

Is it possible to update NodeMCU Lua files OTA?

我希望能够更新我的 NodeMCU ESP8266-01 OTA,因为它们位于尴尬的地方。我绝不是 ESP 或 NodeMCU 方面的专家,但我没能找到任何关于 OTA 更新的最新信息。我发现一些关于它的讨论可以追溯到 2015 年,但它似乎从未实施过。

我使用带有 NodeMCU 的 ESP 来控制 PWM 调光器。我使用 NodeMCU 固件 FLasher 上传了一个预编译版本的 NodeMCU,然后使用 ESPlorer 上传了一个名为 'init.lua' 的自定义 lua 文件。我什至不确定这是否是正确的处理方式,但它确实有效。

所以主要问题是:OTA 更新是否已实施,或者是否可以通过某种方式实施?


澄清一下,我不想更新固件。据我了解,固件是您自己构建的,或者在 https://nodemcu-build.com 这样的网站上构建的。我想更新 ESP 上 运行 的 lua 文件,您通常通过 ESPlorer 等程序上传这些文件。

I found some discussions about it going back to 2015, but it never seems to have been implemented.

的确,固件OTA还没有。但是,正如您可能知道的那样,与 NodeMCU 固件相比,固件 OTA 的 需要 要低得多。使用 Arduino 平台。我认为与在其上运行的应用程序代码相比,您需要 replace/upgrade/extend 具有内置模块的固件的可能性要小得多。

幸运的是,替换设备上的一个或多个 Lua 脚本(已编译或未编译)并重新启动它非常简单。 https://frightanic.com/iot/tools-ides-nodemcu/ offer this. There's even a pending PR 中列出的所有 Web 和云 IDE 将为 NodeMCU 带来 FTP 支持。

要获得完整的 Lua 配置系统,请查看@TerryE 在 https://github.com/nodemcu/nodemcu-firmware/tree/master/lua_examples/luaOTA

中提供的内容

事实上,有一个 class 用于在 NodeMCU 中实现 OTA,它称为 ESPhttpUpdate 您可以参考 ESPhttpUpdate 了解更多详情。

我曾尝试使用 中提供的 link 中列出的两个 Web IDE,但老实说,我无法理解如何使用 IDE ].他们似乎也不是我要找的东西,需要连接服务器或额外的程序,我想避免。

编辑:显然,我最终确实使用了列表中的两个 Web IDE 之一。好久没做这些了,脑子里有点模糊。

我最终偶然发现了 this GitHub page,它似乎提供了我正在寻找的东西:通过网络浏览器访问 ESP 上的 Lua 文件的能力。我个人完全更改了 ide.lua 文件,因为我需要在 init.lua 脚本中调用它的函数。但是,我认为您可以将 ide.lua 脚本上传到 ESP,并在 init.lua 文件中添加包含 dofile("ide.lua") 的行。

如果有人对我对 ide.lua 脚本所做的更改或我的实现感兴趣,您可以查看我的存储库 Timmiej93 / QuinLED / Program code.