有没有一种方法可以通过互联网更新适用于esp32的固件?

问题描述 投票:0回答:4

我们可以使用 OTA 更新来无线更新固件。但要更新固件,esp32 设备需要位于本地网络上。 有什么方法或来源可以更新不在本地网络上的设备的固件吗?

arduino firmware ota esp32
4个回答
1
投票

还有一种通过互联网更新 ESP32 固件的方法,无需任何额外的更新服务器(具有公共和静态 IP 地址),也无需端口转发。它基于 Husarnet p2p VPN 服务。

说明在这里:https://docs.husarnet.com/blog/internet-ota-esp32


1
投票

是的,绝对如此。 OTA 不要求设备位于本地网络上。您只需将固件 .bin 文件托管在 Web 服务器上,然后让 ESP32 连接到服务器并发送 GET 请求。 Espressif 的 OTA 示例项目非常好,但我假设您使用的是 ESP32 Arduino 库,而不是 ESP-IDF。

我猜你正在使用this。我会看一下 AWS OTA 示例,我相信它是标准 ESP32 Arduino 示例之一。它位于示例、SparkFun ESP32 Thing 示例、更新、AWS_S3_OTA_Update 下。看起来它允许您从 Amazon Web Services 托管服务器进行 OTA,这应该完全符合您的要求。


0
投票

假设 ESP32 OTA 的工作原理与我使用过的 ESP8266 非常相似。 这至少可以通过两种方式来实现。

此链接:http://esp8266.github.io/Arduino/versions/2.1.0/doc/ota_updates/ota_updates.html

提供有关使用浏览器将更新部署到设备的详细信息。 您需要将端口 80 流量从公共 IP 转发到内部设备 IP 地址。 然后您可以通过浏览器和您的公共 IP 地址访问您的 ESP。 更好的选择是将更新的固件发布到外部可用的 HTTP 服务器,并更改 ESP OTA 代码以检查该外部服务器是否有更新。 此方法在上述文档的“HTTP 服务器”部分中有详细介绍。 这只是对您提出的一般问题的一般指导。 我相信上面的解决方案是可行的,但我自己还没有尝试过。


0
投票

您可以制作一个从互联网或其他地方获取更新文件的应用程序,然后通过 BLE 将文件传输到 ESP32。在这种情况下,ESP32 将需要仅通过 BLE 连接到手机(不需要 WIFI)。

这里是 ESP32 的示例 Arduino 代码和 Android 应用程序 代码

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.