This article is part of a five-part series. Be sure to see the others:
- Understanding Wind River* Helix* Cloud
- Developing with Wind River* Helix* App Cloud
- Debugging with Wind River* Helix* Lab Cloud
- Deploying IoT Devices with Wind River* Helix* Device Cloud
- IoT Gateways and the Wind River* Helix* Cloud
Understanding Wind River* Helix* Cloud
Building applications for the Internet of Things is a complicated endeavor. Your development can span a variety of disciplines, including embedded firmware development, sensors and actuators, networking protocols, server-side application development, security, and manageability. That's a broad spectrum of engineering specializations, which could restrict IoT products to larger companies with dedicated teams.
Thankfully, Wind River* has constructed a portfolio of IoT services that allow IoT developers to focus on their applications instead of the plethora of required enabling technologies. This IoT portfolio is made up of three key services and a number of technologies that enable fast time to market.
A Tour of the Helix IoT Ecosystem
Wind River's Helix Cloud is composed of a cooperating set of services that cover the lifecycle of IoT product development, test and deployment (see Figure 1). The App Cloud provides a cloud-based IDE for the development of firmware for IoT devices, including collaboration between two or more developers. This firmware can be tested on physical or virtual devices using the Lab Cloud, scaling to your testing needs. Finally, when your IoT device is ready to be deployed, the Device Cloud can be used for secure management and data transfer as well as overall device monitoring as your network of devices scales.
Figure 1. The Helix IoT ecosystem. (IMAGE SOURCE: Author created.)
Let's explore each of these services, and how they can be used to accelerate your IoT product development.
Helix* App Cloud
The App Cloud is a fully-featured development environment, built in the context of a web browser. This cloud-based development environment makes IoT firmware development possible anywhere there's a connection to the Internet. Figure 2 shows it running in the Google Chrome browser.
Figure 2. Helix* App Cloud browser-based IDE. (IMAGE SOURCE: Author Captured Helix App Cloud Web Site Screenshot)
As shown in Figure 2, the App Cloud is exposed as a fully-featured IDE in a web browser, with four panes. On the left is a file pane, showing the files that make up the workspace. At the top middle is the editor, showing a test application (C source file); tabs like the active one make multi-file editing simple and efficient. The right pane shows the debugger (currently executing the test application) with a list of control icons (for pausing execution and single-step debugging), the list of threads that are currently executing, the call stack, and an empty list of breakpoints. Finally, the bottom, middle pane contains a number of tabs for output, including the build tab and the output tab for the currently running application. Where this application executes is a topic for the next section.
The power of the App Cloud is not just that you can access an IDE through a web browser anywhere there's an Internet connection. The power is in the IDE's connectivity to other services, such as the Lab Cloud.
Helix* Lab Cloud
While the App Cloud provides the means to build your IoT application, you'll need hardware (virtual or otherwise) to execute it. This is where the Lab Cloud comes in. The Helix* Lab Cloud is a cloud-based environment for debugging and testing your IoT applications. Using the Lab Cloud, you can attach to physical hardware resources (like the Intel® Edison board) or create and attach to virtual hardware resources. One virtual option is the QEMU x86 Intel® Quark™ simulator, which behaves identically to a physical processor. Your IoT application runs with complete transparency on the virtual platform as if it were a physical one.
As a cloud-based service, the Lab Cloud also enables collaboration with other users, sharing physical and lower-cost virtual resources. Once your IoT application has been validated by one or more devices in the Lab Cloud, you can deploy your application to your target device of choice.
From Figure 2, you can see a device from the Lab Cloud used for debugging the test application. In the upper right corner, you'll see green text with the name “TestDevice.” This is a virtual Intel® Quark x86 device that is online, as indicated by the green bubble. The debugger pane on the right is attached to this virtual device, as is the output pane connection (middle bottom) receiving console output from the application running on the virtual device.
Figure 3 shows the web page for the Lab Cloud, and a short list of the platforms that are supported (hardware and RTOS).
Figure 3. Helix Lab Cloud browser interface. (IMAGE SOURCE: Author Captured Helix Lab Cloud Website Screenshot)
So far, we've seen how to develop and build our IoT application, as well as test it on physical or virtual devices. Now let's explore the deployment of our IoT devices, and how we can securely manage them in the field.
Helix* Device Cloud
The scale of IoT deployments can stress the traditional methods for device management. Managing a handful of devices is a trivial task, but once the set expands to hundreds, or hundreds of thousands of devices, more scalable methods are necessary.
The Device Cloud is a cloud-based platform that can scale to your particular IoT deployment. It provides you with key capabilities, such as the ability to provision new devices, monitor their operation, manage them for configuration, securely capture data into the cloud, and decommission devices at the end of their lifecycle.
The Device Cloud enables secure migration of data from your IoT devices into the cloud using end-to-end encryption for subsequent storage and analytics. It allows the development of rules for incoming telemetry data that can automatically trigger actions such as fault conditions or properties of the device. The Device Cloud also provides manageability and a number of other features, including firmware updates and integration with edge-device RTOS’s (such as Wind River* Linux*) along with health monitoring of devices using RESTful APIs. Additionally, the ability to configure devices in the field is enabled through RESTful APIs. The Device Cloud creates a seamless integration from the edge device into the cloud, allowing you to focus on developing your application, and reducing your overall time-to-market.
Key benefits of the Helix* Cloud
- Accelerate your development with the App Cloud through anywhere and anytime access
- Provide instant test resource access to your team with the Lab Cloud and build new virtual device configurations on the fly
- Scale your IoT device deployment with the Device Cloud to provision, configure, monitor, and service
- Leverage Wind River* embedded operating systems (such as Rocket* and Pulsar*) with full integration with Helix* Cloud services.
- Leverage Intel® hardware designs for OS integration and seamless connectivity to the Helix Cloud services.
The Helix* Cloud provides you with an integrated set of services that cover the product lifecycle, from development and test, to deployment and analytics/monitoring. The Helix Cloud solves the common problems you'll encounter with device management, such as secure data delivery and robust management, allowing you to focus on your IoT application.
- Visit the Wind River Helix Cloud web site to learn more.
Log in to leave a comment below. If you are not registered, go to the Intel® Developer Zone to sign up.