https://developer.espressif.com/blog/ota-updates-framework/