The Electric Imp Platform is a highly secure foundation for Internet of Things (IoT) applications.
The Electric Imp Platform starts with the imp, a powerful module integrating WiFi and the capability to run your application. The combination of the imp module, your imp-hosted application code and your peripheral hardware — for example, sensors, actuators and displays — forms the device: your product and the ‘thing’ in Internet of Things parlance.
Each device, no matter what kind of imp it contains, has a unique identifier: its device ID. This ID is exposed to the program code which runs on the device’s on-board imp, and to the server-based agent code. Devices are initially represented in Electric Imp impCentral™ by their IDs, though for convenience impCentral allows each device to be given a more human-friendly alias.
Every device is paired with its own agent, a go-between hosted within the impCloud™ which mediates and secures all of the device’s communications with Internet-connected resources, including your own and third-party servers, and the mobile app you will provide to your end-users to allow them to interact with their device. The agent is also a powerful micro-server that is able to host a web interface of its own.
Agents can make use of rich REST APIs to interact with web services, and they themselves have a rich set of capabilities to manage and parse incoming HTTP requests. Each agent is accessed through its unique agent URL. The URL is not made public, but provided on a ‘need to know’ basis.
The agent is entirely customizable. Just as you develop the software which runs on the device to process local input and output, so too you develop agent code. Together, agent code and device code form your unique Electric Imp application. Both your agent and your device code run securely in virtual machines hosted by, respectively, the device-side impOS™ and our impCloud-hosted agent server. Each of these application components are able to take advantage of our rich application foundation, the imp API.
In addition to your agent and device code, you will also need to create a mobile app. This integrates BlinkUp™ technology. BlinkUp is our patented device configuration and enrollment system, which transmits local network setup information and device-authorization data optically from the mobile display to the device.
When a new end-user device is configured with BlinkUp, it can connect to the Internet and obtain permission to access the impCloud. At this point, a dedicated instance of your agent code is started, and your mobile app is informed that device enrollment was successful. This is in addition to and separate from any account system of your own implemented in the app. End-users do not require an Electric Imp account.
You use the BlinkUp SDK to incorporate BlinkUp into your mobile app, but this is required only for end-user devices. During development, you add your imp-based hardware to your own Electric Imp account using Electric Imp’s own mobile app.
Extend your knowledge of the Electric Imp Platform with the following documentation.