All You Need To Know, In Six Steps
In order to run application firmware, a Production Device must have been blessed — ie. it must have been assigned to the Production Device Group to which the latest application firmware has been deployed.
To make a Production Device, you must bless a Device Under Test (DUT). To do so, you call the imp API method server.bless() on the DUT, which is running DUT firmware, one type of two types of factory firmware. Only DUT firmware can call server.bless(). It should also include hardware tests you have written, and run these before calling server.bless().
To get the DUT firmware onto a DUT, you connect the DUT to the factory network via WiFi or Ethernet, or to a cellular network, depending on the type of imp on which your product is based.
To get an impCloud access authorization token (and factory network credentials, if required) onto the DUT, you perform BlinkUp in the factory, which you initiate by calling the imp API method server.factoryblinkup() on your BlinkUp fixture. You can only call server.factoryblinkup() on a BlinkUp fixture which is running fixture firmware, a second type of factory firmware.
Putting all this together, this is what you need to put a product into production:
Using impCentral you:
|Device Group||Firmware Deployed||Type of Device Assigned||Who Assigns|
|DUT||DUT||DUTs||impCloud upon successful factory BlinkUp|
|Production||Application||Production Devices||impCloud upon successful blessing|