grobasoz / zigbee-firmware

ZigBee Development Firmware
GNU General Public License v3.0
107 stars 23 forks source link

[DISCUSSION] EFR32 BTL_INT (BTL INT) "application" bootloader with support for updates via OTA (Over-The-Air) and BLE interface #9

Closed Hedda closed 3 years ago

Hedda commented 3 years ago

Originally posted by @grobasoz in https://github.com/grobasoz/zigbee-firmware/issues/8#issuecomment-781671868

There are also a couple bootloader options... _1. The "standalone" bootloader (I call BTLSTD) like EZSP uses and allows XModem uploads. _2. The "application" bootloader (I call BTLINT) that uses the device application and can support over the air (OTA) updates.

_I prefer the latter (BTLINT) as it means the firmware can be uploaded to flash without interfering with the functioning of the Zigbee device and supports OTA updates from a gateway - it also allows for me to implement a BLE based flashing interface so mobile phones can be used for OTA updates.

Hedda commented 3 years ago

Would having such OTA ability in the bootloader also mean that EFR32 Zigbee Coordinator firmware and Zigbee Router firmware could be upgraded via the OTA capabilities in zigpy and zigbee2mqtt as long as code OTA providers for them?

For zigpy that would be by extending https://github.com/zigpy/zigpy/tree/dev/zigpy/ota

By the way, there is a long discussion about zigpy OTA support and OTA providers in https://github.com/zigpy/zigpy/issues/154

grobasoz commented 3 years ago

@Hedda - yes, OTA is a standard ZCL command - if implemented...