Hi,
My company has a product that recently started experiencing issues with the OTA update feature. It looks like Particle is moving towards Intellegent Firmware Releases, but only to Enterprise-level customers. As a non-Enterprise level customer this has broken the OTA update method we have relied on. I’m hoping that someone can help me troubleshoot a transition plan to provide OTA updates to our customers
What we have been doing:
- Running Device OS v1.4.4
- A user interacts with our iot product to select an “Update Firmware” option. When they select this, the following is run to allow the device to accept updates and trigger a handshake event.
System.enableUpdates();
System.enableReset();
Particle.publish("spark/device/session/end", "");
System.enterSafeMode();
What we have tried
This no longer works, so we’re trying to update a particle device from our custom web app. This guide indicates that it is possible to flash firmware binaries from the Cloud API (but only for Development devices?).
$ curl -X PUT "https://api.particle.io/v1/devices/0123456789abcdef01234567?access_token=1234" \
-F file=@my-firmware-app.bin \
-F file_type=binary
I can’t get this to work, even for flagged Development devices. I get a cryptic "{\"error\":\"Nothing to do?\"}"
response. I expand on this in this post
What am I missing? Is there an easier way to approach this migration?