Inside Electric Imp’s Powerful Next-generation IDE
Electric Imp’s impCentral™ is the next-generation Electric Imp IDE. This introduction to impCentral will help you understand how this web app works to bring you powerful yet flexible code, device and product management functionality.
Electric Imp maintains two Public ImpClouds: one hosted on Microsoft Azure, the other on Amazon Web Services (AWS). All existing accounts are hosted on AWS, but new accounts may be created on either impCloud. Accounts on the two impClouds are not linked in any way: even if you possess the same username on both impClouds, you will not be able to access one account’s Products and devices from the other account. Owning a given username on one impCloud does not guarantee that you will be able to make use of the same username on the other impCloud.
In addition to this introduction to impCentral, we have also prepared a set of FAQs to answer commonplace questions about the system.
impCentral should work on almost any desktop browser. However, only the following browser versions are formally supported and targeted for new features:
To maintain compatibility with impCentral, you are advised to enable automatic browser updates. We will always support the two most recent vendor supported versions at any given time. As new versions of these browsers are released, support for the earlier of the two previously favored versions will end: we will not test new features and updates with older browsers.
impCentral contains the following core elements:
impCentral’s first user-interface element, named for the Electric Imp logo it contains, is the bar at the top of the app’s browser window. It contains the devices menu (), the status menu , the help menu () and the My Account menu. The devices menu provides quick access to all of the Development Devices available to the account owner (via the My Development Devices link) both assigned and unassigned. It also includes the device-search field into which you can enter a device’s ID, its MAC address or an agent ID:
The My Account menu can be used by account owners to make changes to their email address or update their login password, set up multi-factor authentication for extra account security, handle collaboration invitations, or to log out of impCentral. Please see ‘Managing Your Account’ for more information.
Finally, clicking the triangle to the right of the Electric Imp logo will provide you with information on which version of impCentral you are working with:
Below the Electric Imp bar is a ‘breadcrumb’ navigation bar, which initially presents the currently selected account. When you log in, this will be your own account. If you have access to other accounts as a collaborator, clicking on Account will pop up a list of the accounts available to you. The currently selected account is highlighted in this list:
The list indicates what collaboration role you have for a given account; your own account is marked personal account.
Clicking on the account name in the navigation bar itself, or an account in the menu, will show the selected account’s Products. Products are impCentral’s way of encapsulating everything you need to offer an Electric Imp-enabled connect product. Selecting a Product (by moving the mouse pointer onto its listing and clicking either Development Zone, Test Zone or Production Zone link in the MANAGE column) will add it to the navigation bar:
The Development, Test and Production Zones are impCentral’s primary areas of functionality. Holders of free Electric Imp accounts only have access to the Development Zone, unless they have also been granted access to an account with production permissions as a collaborator. The Zones are color-coded: blue for development, orange for test, green for production.
The Development Zone is where you work on application firmware — code written to be run by a device in the field.
The Test Zone is where you work on Fixture Factory Firmware and DUT (Device Under Test) Factory Firmware — code written to be run by devices within the factory.
The Production Zone is where these code elements come together to be deployed to factory devices (BlinkUp fixtures and unreleased Production Devices) and to Production Devices in the field.
Below the name of the Product is a pop-up list of the account’s most recently accessed Products (Product ) so that you can quickly jump to other Products. Next to this menu is a switch which moves you between Development, Test and Production Zones for the currently selected Product:
If the selected account does not have permission to access impCentral’s production functionality, Test and Production will not respond to clicks.
impCentral offers Device Groups to help you organize devices and the code they run. Development Device Groups are where you gather Development Devices to run pre-release application firmware; a Development Device Group is the minimum you need to get working on a Product. Indeed, whenever you create a Product, you are invited to create a Development Device Group at the same time. When you select a Development Device Group, impCentral presents a code editor where you write code and test it by deploying it to all of the devices assigned to that Device Group. Clicking on a Product in the navigation bar will show that Product’s Development Device Groups, as will selecting Development Zone under MANAGE from the Products list.
You can have as many Development Device Groups as you need to develop your Product’s application firmware. For example, you might have a Development Device Group for each regional or functional variant of your product, and for each major version number. Moving the mouse pointer onto a Development Device Group and clicking the group’s name, or the Code, Deployments or Devices link in the MANAGE column, will add the Device Group to the navigation bar:
Again, the menu below the Device Group’s name in the navigation bar provides access to a pop-up list of all of the Product’s Device Groups relevant to the current zone: Development groups in the Development Zone; Test Production, Test DUT and Test Fixture Device Groups in the Test Zone; and Production, DUT and Fixture groups in the Production Zone.
Whenever an item on the navigation bar is selected, impCentral adds a context-sensitive column of options to the left side of the screen. Clicking the Account entry in the navigation bar, for example, shows three icons which, when clicked, respectively present lists of the account’s Products, of the account’s collaborators, and of the account’s Development and Factory Devices. The Products icon (and therefore the Products list) is selected initially.
Clicking on the Products item in the navigation bar displays (or clicking Development Zone under MANAGE in the Products list) places one icon in the side panel which, when clicked, present a list of the Product’s Development Device Groups:
Clicking on the Device Groups item in the navigation bar (or an item in the list of device groups) displays four icons which, when clicked, present (top to bottom) device group information dashboard, the code editor, the group’s deployment history and a list of devices assigned to the group. The dashboard is selected initially:
The code editor icon indicates the status of the code it currently has loaded: unsaved draft code (indicated by the label DRAFT), or read-only already deployed code (indicated by the label SHA):
The code editor section, below, explains the difference between these two code editor modes.
Clicking on the devices icon () will take you to a list of all the devices currently assigned to the Device Group.
If you are able to access a Product’s Test Zone, the sidebar will contain three icons:
The first (indicated by a ‘P’ subscript) lists Test Production Device Groups, the second lists Test DUT Device Groups, and the third lists Test Fixture Device Groups (‘F’ subscript).
Clicking on the Device Groups item in the navigation bar (or an item in the list of device groups) displays four icons which, when clicked, present (top to bottom) device group information dashboard, the code editor, the group’s deployment history and a list of devices assigned to the selected group. The dashboard is selected initially:
For more information on testing the Electric Imp Connected Factory Process, please see ‘Pre-production Testing’, below.
If you are able to access a Product’s Production Zone and do so, you will see icons which, when clicked, present (top to bottom) the Product’s Production Device Groups, its DUT Device Groups and its Fixture Device Groups:
Clicking Devices under MANAGE in the Production Device Groups list, or on Fixtures under MANAGE in the Fixture Device Groups list, will call up a view of, respectively, Production Devices or BlinkUp Fixtures assigned to the chosen group. Clicking Deployments under MANAGE will call up a list of production firmware deployments made to the chosen group. Clicking the chosen group’s name will present the information dashboard for that group. In any of these cases, the side panel changes to allow you to switch quickly between these three views (dashboard, devices and deployments):
impCentral displays lists of items — Products Devices, Deployments etc. — in a standard, consistent way. The items are listed in a table with columns that are relevant to the type of item being listed:
Column headings with triangles () can be clicked to re-order the table by sorting the column entries alphabetically and numerically, alternating between ascending order (triangle points up) and descending order (triangle points down).
Some column headings feature question marks () — click on these to get more information about the meaning of the information in the column.
Many lists have a selection column at the far left: use the checkboxes to select or deselect multiple items. The checkbox in the table’s headings bar can be used to select or deselect all the items on the page. The row of buttons above the table are used to apply actions to selected list items. impCentral will disable some of these bulk-action buttons until a selection is made; other buttons do not need a selection to be made. If the selection contains items that do not respond to an action, the button that triggers that action will be disabled. For example, if you select both assigned and unassigned devices from the Devices list, the Restart button will remain disabled because unassigned devices can’t be restarted this way. De-select the unassigned devices, and the Restart button will become enabled for the selected assigned devices.
Lists are paginated, and you can use the arrow buttons () on the far right of the window to navigate between pages. These buttons are only active if more than one page of items are available to view.
All lists have a MANAGE column at the far-right of the table. This column includes actions specific to the item type and which will be applied to the row item only. Initially, these actions are greyed out, but they will become accessible when you move the mouse pointer into a row. To apply an action to multiple items, select them using their checkboxes and the buttons discussed above.
Lists of items which you or your collaborators can create — Products and Device Groups — will feature a context-sensitive Create New… button above the page-navigation buttons:
Lists of Device Groups look like this:
Note This is a new list view, and we will be transitioning other lists to this view.
Items in blue are links. For example, clicking on the number of devices will take you to the Device Group’s list of assigned device; clicking on the Device Group’s name takes you to the Device Group’s dashboard.
In place of a MANAGE column, this view has a menu icon () which, when clicked, presents a list of Device Group-specific options:
impCentral’s code editor presents agent and device code panes alongside each other, and a pane below in which the logs for a device assigned to the host Device Group can be viewed by selecting that device from a list at the bottom left:
The log pane also displays a device’s ID and its agent’s URL — the latter is a live link to any web content served by the agent. A convenient Assign devices button appears in the device list to allow you to add more of the account’s unassigned devices to the Device Group, and there is a set of buttons to access settings for the currently selected device, to assign it to another Device Group, to simply remove it from this Device Group, to restart the device, or to conditionally restart the device:
The code editor’s code panes will preserve their contents between sessions, but to deploy the displayed code to all of the devices assigned to the Device Group, you need to click the Build and Force Restart button at the top:
To make code available to collaborators and to impCentral’s Production Zone, it must be deployed (using Build and Force Restart) and then promoted using the Promote button:
This button will not be present if the currently selected account has not granted you access to production functionality.
The Deployments view (selected by clicking Deployments under MANAGE for a given Device Group, or clicking the Deployments side panel icon) lists all the deployments made to the Device Group. Code is deployed to Development and Test Device Groups by clicking on the code editor’s Build and Force Restart button; deploying code to production Device Groups is handled differently. Deployments are listed with the date and time of their deployment, their SHA and promotion status. They are listed in date order, with the most recent deployment first:
You can click on a deployment’s SHA in order to display its code in the code editor. The code icon in the side panel will now feature the label SHA, and the agent and device code panels will show a lock icon to indicate that they cannot be edited. Once a deployed has been created, it cannot be changed. It can still be promoted (a deployment’s promoted status is indicated in the Deployments list). It can also be re-deployed (by clicking Redeploy under MANAGE column), but this creates a new deployment based on the original. To work with code that has been deployed, select its SHA from the Deployments list and then click on the code editor’s Edit button (which only appears in the SHA mode):
This causes the deployment’s code to be copied to a new draft within the code editor. You will be asked if you wish to overwrite an existing draft — if you do, the code editor goes into Draft mode, and its side panel icon will now feature the DRAFT label. Make your changes and then click Build and Force Restart to generate a new deployment.
Individual deployments can be deleted from the Deployments list, but you can’t delete the most recent deployment, and impCentral preserves all deployments made to Production, DUT and Fixture Device Groups.
You can also click on Settings under MANAGE to add a description to the deployment.
The Deployments list’s DEPLOYMENT TYPE column indicates which of the Device Group’s deployments is current (the topmost deployment on the list) and which has been set as the minimum. The latter is used to ensure devices are running up-to-date code. For more information, see ‘Deployment Types’, below.
In impCentral, deployments are referenced by their SHA. SHAs are generated when you click the Build and Force Restart button in the code editor. The code and the ID of the account owner are use to generate the SHA. The SHA is displayed immediately in the readout to the right of the code editor’s action buttons:
Above, the Code Editor button area before Build and Force Restart is clicked. After the button is clicked, the SHA is displayed:
The SHA will also appear as a new entry in the Deployments list. You can also click on the triangle to the right of the Draft button in the code editor to get a pop-up list of the most recent deployments made to the Device Group:
Once you have clicked Build and Force Restart, the code editor disables this button until you make further changes to the code. This is to prevent you accidentally making multiple deployments of identical code, all of which will therefore have the same SHA.
If the same code is deployed to two separate Device Groups in Products owned by a single account, they will both have the same SHA. This is to allow you to discover which Device Groups are running the same code. If you redeploy an existing deployment, the two will share the same SHA.
Deploying new code to a Device Group stages the code: the devices assigned to the group will receive the code when they actively connect to the impCloud, usually by restarting. The most recent deployment made to a Device Group is called its Current deployment.
Device Groups can also be set to have a Minimum deployment. This is essentially a baseline version — a given device cannot run code deployed before the Minimum was deployed. A Device Group’s Current and Minimum deployments are marked as such in the Deployments list.
These deployment types are used primarily during a polite deployment. Polite deployment is a feature of the imp API and your application code which allows the latter to defer an impOS or Squirrel update until it has completed a critical task. If polite deployment is implemented in your application code, you can use impCentral to trigger either forced or conditional restart when you either make a deployment, or simply tell a Device Group to restart its devices.
A forced restart is the same as restarting any device whose application doesn’t support polite deployment: if the device is not running the latest code, it will restart and receive it now.
A conditional restart has two possible outcomes. If the device is running a version of the code that isn’t the most recent deployment and the code is from a deployment made before Minimum, then it will be forced to upgrade to the latest deployment, ie. Current.
If the device is running a version of the code that isn’t the latest one, but the code is Minimum or later, then the application will be given the chance to defer the upgrade using its polite deployment support.
Minimum and Current are initially the first deployment made to a Device Group. As further deployments are made, Current will always be the most recent deployment, but Minimum will not change until more than ten deployments have been made. From that point, Minimum always stays ten deployments behind Current — unless you use impCentral to adjust it upwards. Minimum can never be adjusted downwards. If you move Minimum up, afterwards, as new deployments are made, it will again remain unchanged until Current is ten deployments ahead, after which it will always be ten deployments behind Current.
To use this facility with Development and Test Zone Device Groups, click on the triangle to the right of the Build and Force Restart button and select Build and Conditional Restart:
The is a third option on the menu, Build, which will always stage the deployed code without triggering a restart: devices must be restarted manually to receive the deployed code. Individual devices can be restarted using the controls in the code editor’s log pane device list:
For Production Device Groups, the choice of whether to force restarts or restart conditionally is made when you deploy code to them. You do this by selecting Deployments under MANAGE column in their respective Production Zone lists. Now click on New Deployment or, to re-use an existing deployment, click Redeploy under MANAGE. In the Deploy panel, select either Forced or Conditional as required:
Again, if your application code doesn’t support polite deployment, all restarts are de facto forced. And forced deployments will always override an application’s own polite deployment support.
All device groups include a data readout, the Dashboard, to provide you with useful information about and insights into the devices assigned to the group. The Dashboard is particularly useful for Production Device Groups, to view statistics collated from millions of devices in the field, but it is available to all device group types. To view a group’s Dashboard, click on the group’s name from any of the Product’s Device Group lists. If you have already selected a group, view its Dashboard by clicking the Dashboard sidebar icon ().
The Dashboard comprises three sections. The first of these provides useful information about the device group: the Product to which it belongs; the number of devices currently assigned to it; and the firmware Deployment currently applied to the group:
The second section provides aggregate device-impCloud communications data, either in terms of the number of messages passing in (to devices) or out (to the impCloud), or the volume of data transmitted. Click on the Bytes button to switch to the messages view, and back again:
Move the cursor across the chart to view data for specific times. Click the refresh button () to update the chart at any time.
Click on the date value to select a different end date. How much device data the chart will compile depends on whether you select Days, Hours or Minutes: the previous 30 days, seven days or 24 hours, respectively:
The final section presents a global map pinpointing the approximate location of the group’s devices based on their IP addresses. Click on the World button to select a US view, or vice versa:
Device locations are derived from known relationships between IP address and geography, but some international Internet Service Providers may span their host nation’s IP addresses across multiple territories, so this data can only ever be an approximation.
When you add a new Development Device to your Electric Imp account using the Electric Imp mobile app and BlinkUp, the device will be in an unassigned state. All of the devices you add to your own account can be listed by selecting My Development Devices from the devices menu () in impCentral’s Electric Imp bar.
impCentral’s account view provides a list of all of the devices assigned to the currently selected account — click on the device icon () in the Side Panel — and from here you can assign them to any Development or Test Fixture Device Group under any of the selected account’s Products. The list includes devices owned by other accounts but assigned to a Device Group belonging to the selected account.
A Device Group’s list of assigned devices includes a Details option under the MANAGE column. This pops up a convenient readout of key device information: its ID, MAC address, agent URL, imp type and more. A tabbed interface allows you to switch between the device’s details, its most recent log messages, and its activity history: its assignments, enrollments, blessings, and if and when it has been unassigned.
This screen can also be accessed from My Development Devices by clicking on a device’s ID in the DEVICE ID/NAME column.
impCentral indicates as best as it can whether a given device is online or disconnected from the impCloud. When a devices comes online (or goes offline), an immediate online (or offline) event is sent, and impCentral updated accordingly.
While the device is online, an online event is sent every ten minutes for non-cellular imps or every hour for cellular imps. If no subsequent online event is seen for 30 minutes for a non-cellular imp, we assume it is offline. If no online event is seen for two hours for a cellular imp, we assume it is offline.
In addition, the online status mechanism uses UDP, which is limited by the reliability of the underlying network; the fact that the protocol makes no guarantee of delivery, or that duplicate packets will not be received (or dealt with). As such, it is possible that a device which has just come online, or gone offline, may not have its status accurately reported by impCentral (or the impCentral API).
The Electric Imp Connected Factory Process, is the means by which imp-enabled devices become shippable products. This takes place within a Connected Factory and makes use of imp-based units on the assembly line. These units run what is called factory firmware, which you will need to develop in impCentral. While the development of application code takes place in the Development Zone, the development of factory firmware (of which there are two types) takes place in the Test Zone.
The Test Zone supports three types of Device Group: Test Fixture, Test DUT and Test Production. It fully mirrors the Production Zone, which also makes use of three equivalent types of Device Group: Fixture, DUT and Production.
The Test Zone, like the Production Zone, is only available to Electric Imp Enterprise accounts, or to free accounts which have been granted access to an Enterprise account as a collaborator.
Test Fixture Device Groups operate like Development Device Groups: they have a code editor, deployment history and assigned devices views, for example. You can assign BlinkUp fixtures to Test Fixture Device Groups in order to pre-flight your Connected Factory Process by preparing Devices Under Test (DUTs) for impCloud access just as DUTs will be prepared on the assembly line.
Creating a Test Fixture Device Group requires you to specify two targets: a Test DUT Device Group and a Test Production Device Group:
The target Test DUT Device Group is the one to which DUTs will be automatically assigned upon BlinkUp by one of the Test Fixture Device Group’s fixtures. The Test Production Device Group is the one DUTs will be automatically re-assigned to upon test-blessing. Because these groups are a requirement for Test Fixture Device Group creation, they must be created first.
Test DUT Device Groups are where you develop your DUT firmware: the code which tests and then blesses DUT in the lab just as they would if they were units in a Connected Factory. They have a code editor, and deployment history and assigned devices views.
When you create a Test DUT Device Group, you will be asked to assign application firmware to it. However, you can then open the group’s code editor and replace the application code with your DUT firmware.
DUTs are automatically re-assigned to a Test Production Device Group that set as the second of your Test Fixture Device Group’s targets. This re-assignment takes place upon test-blessing. When you create a Test Production Device Group, you will be asked to assign application firmware to it. This is the code devices will receive when they are assigned to the group:
To make a Development Device Group deployment available for such use, it must first be promoted in the group’s code editor.
BlinkUp Fixtures are added to an Electric Imp account using the Electric Imp mobile app. Newly added fixtures are unassigned; you have a choice about where to assign them: to a Test Fixture Device Group or to a Fixture Device Group.
You assign a fixture to a Test Fixture Device Group in the Test Zone because you want to use it to test your in-development fixture firmware.
Note impCentral does not support the use of imp001-based factory fixtures, only fixtures based on imp modules (imp002, imp003, imp004m, imp005, etc.).
Clicking on the Devices icon () in the Side Panel while viewing a Test Production Device Group will present a list of all the test-blessed devices (ie. Test Production Devices) which have successfully undergone the factory pre-flight process. The list is in the form of the code editor’s log pane, so you can easily view the log output of any test-blessed devices that you select:
Test Production Devices can be re-used for further testing. View the list of a Test Production Device GroupÆs devices and click Delete under MANAGE for the device you wish to re-use. Deleting the device removes it from your account and, in the case of Test Production Devices, also removes the bond between the device and its application.
When you are ready to go to production, you can click Go Live under the MANAGE column for your primary Test Fixture Device Group. This creates production-ready Production Zone duplicates of the selected Test Fixture Device Group and its targets. impCentral will guide you through the process, allowing you to enter webhook information and select a post-blessing code deployment option as you go:
If you have already created Production, DUT and Fixture Device Groups in the Product’s Production Zone, you can omit this step, but for new Products, it provides a streamlined way to replicate your test environment in production.
Managing production in impCentral involves creating one or more Production Device Groups, DUT Device Groups and Fixture Device Groups. This takes place in impCentral’s Production Zone, which becomes accessible when you select a Product to work on.
When you create a Production Device Group, impCentral expects you to select a promoted application firmware deployment to re-deploy to the new group. You must have taken a deployment from in one of the Product’s Development Device Groups and promoted it for deployment to production.
Clicking on Settings under MANAGE in the Product’s Production Device Groups list opens up a panel in which you can change the group’s name, add a description and choose when devices assigned to the group receive their application firmware.
By default, this takes place immediately after blessing: the Production Device will be sent its application code one second after the device is blessed (ie. there is sufficient time to run post-bless callback in your factory firmware). This enables out-of-the-box operation by the device's end-user. However, you may choose to have device not receive its application firmware until it has been activated (first end-user BlinkUp). This should be selected if you are performing device activation in the factory.
A Production Device Group’s Settings panel also allows you to set webhooks which will be triggered when key events in a Production Device’s lifecycle take place. Please see the webhook documentation for more information.
Clicking Deploy under MANAGE in the Product’s Production Device Groups list allows you to select another promoted application firmware deployment and apply it to the highlighted Production Device Group.
Clicking Deployments under MANAGE in the Product’s Production Device Groups list will call up a list of application firmware deployments made to the group.
Clicking on Devices under MANAGE in the Product’s Production Device Groups list will call up a list of the Production Devices that have been assigned to the group. From this list you can re-assign any of these devices — typically, this is done to re-assign devices to a Production Device Group to which alternative application code has been deployed.
Before blessing, DUTs are assigned to DUT Device Groups to which their DUT firmware has been deployed. This assignment takes place upon factory BlinkUp.
Clicking Deploy under MANAGE in the Product’s DUT Device Groups list allows you to select another promoted DUT firmware deployment and apply it to the highlighted DUT Device Group.
Clicking Deployments under MANAGE in the Product’s DUT Device Groups list will call up a list of DUT firmware deployments made to the group.
You will assign your BlinkUp Fixture(s) to the Fixture Device Group. You will deploy your production fixture firmware to the Fixture Device Group and thus to all the fixtures assigned to it. In addition, you will set the Fixture Device Group’s targets: the DUT Device Group top which DUTs will be automatically assigned upon factory BlinkUp, and the Production Device Group to which DUTs will be automatically re-assigned upon blessing.
When you create a Fixture Device Group, impCentral will expect you to set the new group’s targets so you must have already created a DUT Device Group and a Production Device Group for the Product. You can change the group’s target by clicking on Settings under MANAGE in the Product’s Fixture Device Groups list:
Clicking on Fixtures under MANAGE in the Product’s Fixture Device Groups list will call up a list of the BlinkUp Fixtures assigned to the group. From this list you can re-assign any of these fixtures (for example, when you wish to re-use them for a different Fixture Device Group within this Product or another Product entirely), restart them, or gain further information about them, just as you can with Development Devices.
Clicking on Deployments under MANAGE in the Product’s Fixture Device Groups list will call up a list of factory firmware deployments made to the group.
Like Development Devices, BlinkUp Fixtures are added to an Electric Imp account using the Electric Imp mobile app. Newly added fixtures are also unassigned, but you have a choice about where to assign them: to a Test Fixture Device Group or to a Fixture Device Group.
Typically, this is done before a fixture is sent to the factory for installation, or with a factory collaborator’s shared device. Assigning a fixture to a Fixture Device Group is all you need to do to register the unit for factory work.
Note impCentral does not support the use of imp001-based factory fixtures, only fixtures based on imp modules (imp002, imp003, imp004m, imp005).
The list of a Production Device Group’s devices is organized into those devices which have been activated by an end-user (enrolled) and those which have been not yet been activated. Electric Imp Customers can choose to convert any Production Device into a Development Device (unblessing) by clicking Delete under MANAGE in the device list.
If you know the device ID and/or MAC address of the unit in question, you can enter this information in the Device Lookup field in the devices menu (). The device details page that will now appear has an Actions menu in the top right corner: selecting Delete from this menu will unbless the device (provided it is a production device).
You will be asked to confirm the action by entering an unblessing key, which is unique to your customer account. Please contact Electric Imp if you have not yet received your unblessing key.
The device details page mentioned above is also used to view Production Device logs in impCentral. Simply use Device Lookup to locate the specific Production Device you are interested in and, on the device details page, click the LOGS tab.
Development Devices are assigned not to Products but to Device Groups in the Development Zone. Since these Device Groups always belong to a Product, to move a generic Development Device from Product A to Product B, all you have to do is move it from one of Product A’s Device Groups to one of Product B’s. impCentral allows you to do this with the standard device-assignment panel: just select a different Product and Device Group.
Production Devices are not generic, because their hardware and application firmware are typically very tightly integrated. As such, it doesn’t generally make sense to move such a unit from one Product to another and so this process is not supported. However, Production Devices can be moved to other Production Device Groups in the same Product. This is the recommended way to manage multiple versions of the same product: the Product is the product family and there are as many Production Device Groups as there are family members.
If you are using generic units to test your factory flow — using Test Zone Device Groups — you may well wish to re-use such hardware with other Products. Use impCentral to unbless the units after they have been test-blessed. Once unblessed, the devices can be re-used in any other test-blessing flow.
BlinkUp Fixtures can easily be moved between Products: just re-assign the chosen fixture to a different Test Fixture Device Group or Fixture Device Group under another Product.
impCentral allows you to invite other account holders to work on your account’s Products, Device Groups, code and devices. If you select your account in the impCentral navigation bar, you’ll see the collaborators icon () in the side panel — click this to access the collaboration interface where you can add collaborators to your account (click the Add a Collaborator button) and chose what access privileges they have — and therefore what impCentral functionality they can make use of while viewing your Products.
Note Your collaboration invitations and roles information previously found via My Account > Profile > Invitations and Roles is now included here as a separate tab:
Potential collaborators must first be invited to access your account — an invitation to which they must respond before they can be granted access. Click the Add a Collaborator button, then enter the potential collaborator’s email address into the Add Collaborator panel that appears. Choose one or more roles and then click the Add Collaborator button.
You can view a full list of the actions that account collaborators may perform on a shared account, according to their role, here.
Once a collaborator has accepted your invitation and logged into impCentral using their own Electric Imp account, they can click on the arrow alongside the left-most entry in the navigation bar to switch between their own account (marked personal account) and the shared account (and any other shared accounts they are collaborating on).
If you receive an invitation, you acknowledge it by clicking the link provided in the email you will receive (sent by the account owner as detailed above). You can also do so by clicking Invitations and Roles in the My Account menu in impCentral’s Electric Imp bar. The view this presents allows you to see any pending invitations and to review the accounts on which you are collaborating. If you no longer wish to collaborate on a given account, click Resign under MANAGE for that account.
You can alter a collaborator’s role(s) later by clicking Settings under MANAGE in the Collaborators list for your account.
If you wish to revoke a collaborator’s access entirely, click Remove under MANAGE in the Collaborators list for your account.
The devices menu () includes a BlinkUp option: BlinkUp New Device. You can use this to add development devices and BlinkUp fixtures to your account. BlinkUp is performed in a window within impCentral’s browser window on your monitor.
This option is an alternative to the Electric Imp mobile app. In some cases, you may need to use the mobile app: your devices are not within easy reach of your monitor, perhaps because they are mounted on the ceiling or in some other difficult-to-access location. In addition, your monitor may not be bright enough, or your system not capable to driving the BlinkUp animation sufficiently well to ensure smooth BlinkUp.
Select BlinkUp New Device to try it out. You will see the following screen:
Enter your WiFi name (SSID) and password, if you need to, then click Start BlinkUp. A panel will appear to present a five-second countdown, after which it will flash to send the data to the development device:
Hold your device up to the screen and keep it steady.
Always run a BlinkUp with the screen facing away from you and towards the device being configured, especially if you suffer from a medical condition that makes you susceptible to strobing light.
Select Profile from the Electric Imp bar’s My Account menu to make changes to your account. Your options are presented as a sidebar menu:
The first of these, Profile is selected initially. Here you can update the email address registered for your account and/or change your password:
Click on the appropriate change link to update your email address and/or password. For other settings, click the relevant Edit link. In each case, a panel will pop up to allow you to enter and confirm new values, or to cancel the operation. For example, for the timezone account preference, which allows you to set the timezone basis for device log entries and other impCentral events:
Select Multi-Factor Authentication to enable multi-factor authentication (MFA) on your account. With MFA enabled, to logging into your account, you use not only your username and password, but also a one-time password (OTP). This adds an extra layer of security to your account and is strongly recommended, especially for commercial accounts.
OTPs are time-limited six-digit keys that are generated as required using a mobile app such as Google Authenticator and 1Password. Such apps are configured to generate OTPs for your account by scanning a QR code, which impCentral will display when you enable MFA.
Click the Enable Multi-Factor Auth button to begin setting up:
A panel will now appear to guide you through the setup process:
The Multi-Factor Authentication section also provides access to a set of ten 12-digit recovery keys which can be used should you lose access to the device on which your OTP app is installed. Each key can be used only once. We strongly you recommend that you download your keys immediately after enabling MFA. Keys are entered at login in place of an OTP.
Important Recovery keys can be used to access your account without an OTP, so please keep your keys safe: do not share them and store them securely.
As an extra security measure, you can insist that any of your collaborators also enable MFA on their accounts. Just click Enable Setting under Require Multi-Factor Authentication for all collaborators on the Multi-Factor Authentication page (shown in the screenshot above).
If you do not wish to mandate that collaborator accounts be MFA-enabled, you may instead insist that collaborators who are able to make deployments to a Production Device Group, ie. your production application firmware, must have MFA enabled on their accounts. Other collaborators, such as those working solely on development application firmware, are not affected by this setting. Click Enable Setting under Require Multi-Factor Authentication to Deploy Production Device Groups on the Multi-Factor Authentication page.
impCentral Login Keys provide you with a means to allow collaborators to access your account via the impCentral API without the need to give them your account credentials. Using Login Keys is therefore the more secure approach, and has the added benefit of allowing you to monitor access.
To create a new Login Key, or view details of an existing key’s usage, click Login Keys in the sidebar. Click the Create Login Key button near the right of the window to generate a new key:
You should enter a description of the key’s role: for example, note who it will be sent to and why they are receiving the key. Now enter your account password and then click the Create New Key button. The new key will now be listed in the main window. Only basic information is shown at first, but if you click the disclosure triangle () you will see more data, including key usage:
The Login Key’s entry contains two links on the far right side. The first, Settings, allows you to update the key’s description. The second link, Delete, is used to permanently revoke the key. Deletion occurs immediately, and any application using the deleted key will no longer be able to access your account.
The sidebar’s Notification Center option allows you to view notifications, such as collaboration invitations, which have been sent to you. You can view any of these messages, mark them as read without reading them, or delete them.
Note This section was previously titled Invitations and Roles. This functionality is now part of the Collaborators section.