A Basic imp-based Device For Configuring Devices Under Test
Whether you are testing your Connected Factory Process, or are in production, you use a BlinkUp™ fixture to prepare Devices Under Test (DUTs) to load and run their factory firmware. It does this by sending to the DUT a factory Enrollment Token and, if required, factory WiFi credentials. This data is transmitted optically via an LED attached to the fixture.
At its most basic, a BlinkUp fixture is simply an imp and an LED. Adding a button allows an operator to trigger factory BlinkUp. This short guide shows how to use any imp breakout board as a BlinkUp fixture. Fixtures can be constructed from any equivalent hardware based on an imp003 and up, but you may need to change the pin settings in the function configureFactoryFixture() in the code listed below. This example is based on the imp004m Breakout Board.
Connect your imp004m Breakout Board to the following circuit:
Connect the BlinkUp fixture to power via Mini USB.
If you are making use of impCentral’s factory test environment, the Test Zone, you will need to add the BlinkUp fixture to a Test Fixture Device Group. You can learn how to do so here.
If you are going straight to production, you should instead follow the steps for a Fixture Device Group, outlined here.
The code listed below is ready to use with the circuit described above. Change the value of the SSID and PASSWORD constants to match the settings of your local (during testing) and factory (during production) WiFi network, or leave them unchanged if your DUTs connect by Ethernet or cellular.
You will require separate code for the DUTs that your fixture will prepare — you can find example code in the Dev Center’s API Cookbook section, here.
Align the DUT’s photosensor with the fixture’s LED, and press the button to initiate factory BlinkUp. The DUT receives the BlinkUp data, then uses it to connect to the factory network, then to the Electric Imp impCloud™, from which it will fetch its assigned firmware.