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.
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 provides a new component, the Device Group, 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 and Test Factory Device Groups in the Test Zone; and Production and Factory 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 two icons:
The first (indicated by a ‘P’ subscript) lists Test Production Device Groups; the second lists Test Factory 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 with Test Factory Device Groups, 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 and its Factory Device Groups:
Clicking Devices under MANAGE in the Production Device Groups list, or on Fixtures under MANAGE in the Factory 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, Device Groups, 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:
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 Factory Device Groups by clicking on the code editor’s Build and Force Restart button; deploying code to Production and Factory 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 the 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 and Factory 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 Factory 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 and Factory 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 Factory 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, just as you develop the application code that your production devices will run in the field. While the development of application code takes place in the Development Zone, factory firmware development takes place in the Test Zone.
Unlike the Development Zone, the Test Zone supports two types of Device Group: Test Factory Device Groups and Test Production Device Groups. This is because it fully mirrors the Production Zone, which also makes use of two types of Device Group: Factory 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. When viewing their own accounts, holders of free accounts will not be able to work with Test Factory or Test Production Device Groups, only Development Device Groups.
Test Factory Device Groups operate just like Development Device Groups: they have a code editor, deployment history and assigned devices views, for example. The Test Zone allows you to use BlinkUp fixtures, which you assign to Test Factory Device Groups, to pre-flight the Connected Factory Process by configuring Devices Under Test (DUTs) that will be akin to the units that will roll off the assembly line.
Once primed by BlinkUp from a fixture assigned to a Test Factory Device Group, these DUTs will then run the Test Factory Device Group’s factory firmware, just as they would if they were production units in a Connected Factory. They will even be blessed as they would in the factory. This mirroring of the Connected Factory Process within the Test Zone means that you can fully test your factory firmware on both BlinkUp fixtures and DUTs before you deploy it to production-grade factory BlinkUp fixtures and full production devices.
Test-blessed devices are automatically assigned to a Test Production Device Group that you have created and set as your Test Factory Device Group’s Target. You set a Test Factory Device Group’s target when you create the group:
As such, it’s necessary to create your Test Production Device Group first.
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 upon test-blessing:
To make a Development Device Group deployment available for such use, it must first be promoted in the Device Group’s code editor.
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 Factory Device Group or to a Factory Device Group.
You assign a fixture to a Test Factory Device Group in the Test Zone because you want to use it to test your in-development factory firmware. Within a Test Factory Device Group, the fixture and factory firmware can be used to bless DUTs in the lab just as if they were being processed in your Connected Factory. The Test Zone therefore give you the capability to pre-flight your Connected Factory Process before you go into production. This can both speed up your time to market and reduce your costs.
Note impCentral does not support the use of imp001-based factory fixtures, only fixtures based on imp modules (imp002, imp003, imp004m, imp005).
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 gone through the factory pre-flight process, ie. DUTs which have run the factory firmware, passed your hardware tests and been successfully blessed. 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:
When you are ready to release your fully tested application and factory firmware to production, you can click Go Live under the MANAGE column for your primary Test Factory Device Group. This takes a Test Production Device Group to which application code has been deployed and then Promoted, together with your Test Factory Device Group, and creates full Production Zone duplicates of them, ready for production. 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 and Factory Device Groups in the Product’s Production Zone, you can omit this step, but for new Products, it provides a streamline way to duplicate your test environment in production.
Managing production in impCentral involves creating at least one Production Device Group and at least one Factory Device Group. 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 column 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 Deployments under MANAGE column 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.
You will assign your BlinkUp Fixture(s) to the Factory Device Group. You will deploy your production factory firmware to the Factory Device Group and thus to all the fixtures assigned to it. In addition, you will set the Factory Device Group’s target: this is the Production Device Group to which DUTs configured by the Factory Device Group’s fixtures will be automatically assigned upon blessing.
When you create a new Factory Device Group, impCentral will expect you to set the new group’s initial target so you must have already created a Production Device Group for the Product. You can change the group’s target by clicking on Settings under MANAGE in the Product’s Factory Device Groups list:
Clicking on Fixtures under MANAGE in the Product’s Factory 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 Factory Device Group within this Product or under 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 Factory 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 Factory Device Group or to a Factory 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 Factory 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).
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.
As we’ve seen, 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, indeed, this process is not supported for blessed devices. Don’t forget, though, that blessed production devices can be moved to other Production Device Groups within the Product. This is the recommended way to manage multiple versions of the same product: the Product is the product family, and maintain as many Production Device Groups as there are family members.
If you are using generic units to test your factory flow — using a Test Factory Device Group — you may well wish to re-use such hardware with other Products. In this case, you can 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 be moved between Products because what ties them to a given Product is the factory firmware they are currently running, not their hardware capabilities. Again, re-using a fixture for another Product is just a matter of re-assigning it to a Test Factory or Factory 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.
Potential collaborators must first be invited to access your account — an invitation they need to respond to before they are 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.
The MANAGE column also includes a Switch item which, when clicked, will select that account as the one impCentral’s UI will present to you.
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, including 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 Invitations and Roles option allows you to view the accounts which have added you as a collaborator. Any pending invitations to collaborate are listed here too, for the period in which they remain open.