meshtastic / firmware

Meshtastic device firmware
https://meshtastic.org
GNU General Public License v3.0
3.3k stars 800 forks source link

[Feature Request]: Remote Updates via IP #2409

Closed Noki closed 9 months ago

Noki commented 1 year ago

Platform

ESP32

Description

We installed a node at the top of the tower of a church, which has excellent area coverage, but is really hard to reach for updates. The node is connected to a wireless network so the web interface of the ESP32 is reachable via remote. It would be really helpful to enable remote updates directly via IP. Currently the only solution is to attach a computer running 24/7 only to allowing remote updates. We want to eliminate that computer because it is quite power hungry compared to the ESP32.

The update feature could probably be implemented in the same way it is done for OpenMQTTGateway 1.5.0+.

caveman99 commented 1 year ago

OTA updates through wifi can not be added due to size constraints, sorry. we spport updating through bluetooth in the future.

Noki commented 1 year ago

@caveman99 Can you please explain the size constraints in more detail? I agree that some modules might not be able to support this feature, but different modules have different amounts of flash so at least products like the Wireless Stick Lite V3 should be capable of handling OTA updates via WiFi.

caveman99 commented 1 year ago

We currently have about 650k available for the OTA firmware, which is used up to 93%. Adding Wifi OTA capability to the existing firmware will run into this size constraint. If someone could come up with an implemntation to replace (not add to) the OTAfirmware with a Wifi OTA Version, you could select either/or by replacing the OTA firmware on the board.

caveman99 commented 1 year ago

A lot of ideas and pointers for this are in https://github.com/meshtastic/firmware-ota - the new firmware will need to support ESP32 and ESP32S3 boards.

ajmcquilkin commented 1 year ago

Not sure if this is in scope of this ticket, but would exposing a radio via PoE make any of the challenges of this PR easier? I'm working with a user with a similar use case but instead of using an ESP32 is using a RAK connected via Ethernet

caveman99 commented 1 year ago

The Updates for RAK boards (nRF52) are even less likely to work, because DFU updates are handled by the bootloader and it doesn't know about IP at all.

ajmcquilkin commented 1 year ago

Ah yeah that's what I figured, figured it was worth a shot. Thanks for the context!

goatzillax commented 6 months ago

Could this be enabled on devices with sdcards by just using a web server to upload to the sdcard and then initiate the update from there?

KyleMaas commented 4 months ago

This would be really, really useful for situations where a node is deployed in a remote area.