Skip to main content

The Connected Factory Process In A Nutshell

All You Need To Know, In Seven Steps

  1. In order to run application firmware, a Production Device must be blessed — ie. there must be a link between the device’s unique ID and the Production Device Group to which the latest application firmware has been deployed.

  2. 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 factory firmware. Only factory firmware can call server.bless(). It can and should include hardware tests you have written, and run these before calling server.bless().

  3. To get the factory firmware onto a DUT, you connect the DUT to the factory network: WiFi or Ethernet, depending on the type of imp in your product.

  4. To get the factory network credentials onto the DUT, you perform BlinkUp in the factory, which to initiate by calling the imp API method server.factoryblinkup() on your factory BlinkUp fixture. You can only call server.factoryblinkup() on a factory BlinkUp fixture, which runs the same factory firmware as the DUTs — it is written for both types of hardware.

  5. Putting all this together, this is what you need to put a product into production:

    • A Product — What you will be manufacturing.
    • A Factory Device Group — The collection of your factory BlinkUp fixtures.
    • A Production Device Group — The collection of your Production Devices.
    • Your factory firmware — Promoted code that runs on the factory BlinkUp fixtures, and on DUTs before blessing.
    • Your application firmware — Promoted code that runs on Production Devices after blessing.
  6. Using impCentral™ you:

    • Set the Production Device Group as the Factory Device Group’s Target.
    • Promote and deploy the factory firmware to the Factory Device Group.
    • Promote and deploy the application firmware to the Production Device Group so that Production Devices receive the application after blessing.
  7. Because the factory firmware runs on both the factory BlinkUp fixture and DUTs, it needs to distinguish between these two types of hardware. Electric Imp’s FactoryTools library and our sample factory firmware.