Hi there. I have around 100 Electron-based devices in the field which are put to sleep with:
System.sleep(WKP, RISING, 30, SLEEP_NETWORK_STANDBY);
…i.e. they may only wake up every 30 seconds (if WKP doesn’t happen to rise) and the cellular modem remains attached to the network all of the time.
I would like to flash a new version of my application to all of these devices over the air. Is there a way of doing such a batch update with devices that wake-up at this kind of rate?
Hey @RobMeades – great question. We have a mechanism to queue firmware updates (it’s how we do System updates), but it’s not very well exposed and probably needs some more love before it’s ready to become a widely available firmware feature. I know that this is something that’s important to product creators, since they can’t guarantee that their customers’ devices will be online when they want to roll out updates.
I can think of a clever way to do this in firmware which would essentially check a server side variable flag that controls whether the device stays online or should go back to sleep for another cycle. This flag could be changed to a “1” when you wanted to process an update, and back to a “0” when the update is complete. This would give you manual control over the wake/sleep loop of the device and allow you to remotely keep the device online long enough to process an update.
Hey @RobMeades, you can add them to a Product in dashboard.particle.io and they’ll all automatically update to whatever your most recent Release Firmware is!
@Dick Was this batch firmware update process just rolled out and documented or has this been possible before now? I think it’s new but wanted to make sure. It looks like a great way to keep all deployed devices updated with the latest firmware.
Yup, about a year old now
Ah, so I get this if I setup an organisation? Probably worth the money. Thanks.
Great! We think so. I think you’ll be excited by an upcoming announcement, too.