Programming OTA a Very Remote Sleeping Boron Device

If I need to do an over the air update of a very remote sleeping Boron, what is the procedure to wake the device and download software?

There is no procedure for doing that.

The recommended method is to use a product. When in a product, it can upgrade the firmware shortly after connecting to the cloud. This happens within the first 8 seconds or so after connecting. Your firmware should also delay sleep if an upgrade is in progress. This example shows how to do it.

However you need to do that before you deploy the device. There’s no way to wake a device in normal sleep mode remotely since the cellular modem is turned off to save power. It is possible to wake a device over WAN when using cellular standby mode, but this mode generally uses too much power except for remote devices that also have external power, such a large solar panel.

If I put the Boron in a product, does not that mean all members of the product have identical software.

My Boron devices control data from remote tanks that have different physical dimensions, therefore different measurement values. Other than the physical dimensions embedded in software, the software is identical.

Thanks

A product is always recommended. To solve your problem, there are several options:

  • If every device must have unique firmware, you can use Mark as Development Device on every device in your product. You will need to flash each device independently, and you will not be able to use fleet firmware upgrades on wake, so this isn’t that much different than not using a product.
  • You can assign a device group to each device. This is the recommended method if you need to have unique firmware for each device in the field and need OTA upgrade on wake.
  • You can use common firmware and store the site-specific data somewhere else. This is the recommended method when feasible.

For the last, you might store the configuration data (tank dimensions) in a file in the flash file system. The data could be updated remotely using a Particle function when the device is awake, or you could pre-configure the device when you set it up. This is nice because then every device will have the same firmware, which makes upgrades and fixing bugs much easier.

3 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.