Deploying IoT Devices with Wind River* Helix* Device Cloud
Wind River* Helix* Device Cloud enables remote management and monitoring of your Internet of Things (IoT) edge devices and gateways, scaling to thousands of devices. This article explores the benefits of Device Cloud and describes some of the capabilities it provides for deployed devices.
Introducing Wind River* Helix* Device Cloud
Device Cloud is a cloud-based service designed to manage and monitor IoT devices at large scales. Building an IoT device can be a challenge in itself, but attempting to manage thousands or hundreds of thousands of these deployed devices can be an uphill battle.
Device Cloud takes care of many of the common management and monitoring tasks associated with IoT deployments, including securely capturing and monitoring data from disparate devices, supporting mass configuration, and even firmware updates. All these capabilities come through a single, web-based console.
As Figure 1 shows, Device Cloud monitors and manages devices over the Internet and exposes a web-based console and Representational State Transfer (REST)-ful application programming interfaces (APIs) to enterprise applications to provide full access to deployed devices around the world.
Figure 1. Internet of Things management with Wind River* Helix* Device Cloud [Source: Created and drawn by author; all other images from the Wind River* Dev Cloud website.]
Let’s jump into Device Cloud so that you can see how to view devices, monitor them, and even create rules to create alerts automatically when other rules are satisfied.
Scaling your IoT deployment
IoT devices generate data and require management, configuration, and monitoring, all at new scales. Because of these scales, new requirements such as autonomous operation (removing the human in the loop) arise. Using Device Cloud, you can easily reduce the complexities of dealing with large numbers of devices, all through a cloud-based platform.
Device Cloud enables the management of devices (end points through which data can be collected and actuators manipulated). Each device includes an embedded software agent that cooperates with Device Cloud for a variety of actions. Figure 2 shows those devices that are currently being managed and can be selected for a standard or custom action.
Figure 2. Viewing devices in the Wind River* Helix* Device Cloud console
In Figure 2, you can see a scrollable list of devices that have been registered in Device Cloud, with some identifying information: the unique ID for the device, its media access control (MAC) address, and the operating system running on the device. Near the upper-right corner is a search bar that dynamically filters the list of devices based on search criteria that you provide. As shown in Figure 3, I’ve indicated a portion of the MAC address to view only those devices that match this criterion. This is an important feature: If you want to update a given set of devices (using the UPDATES list), the search feature allows you to restrict the set of devices based on your needs.
Figure 3. Viewing a subset of devices in the Wind River* Helix* Device Cloud console
As your deployment of IoT devices increases, managing and monitoring these devices from a single management console simplifies what could be a growing burden.
Secure management and monitoring
Now, let’s dig further into Device Cloud to view a sensor, and then create a custom rule to generate an alert.
On the DEVICES tab, I’ve refined the devices list through the search criteria using the MAC address (see Figure 4). The first device shown is Graham’s Galileo, which is an Arduino*-certified development board based on the Intel x86 architecture.
Figure 4. Viewing another subset of devices
I’ve drawn a blue bracket around this name, which is also a link. If I click this link, I’ll be taken to a new page that allows me to focus actions on this device and learn more about its capabilities (see Figure 5).
Figure 5. Viewing details of a device
In the CUSTOM ACTIONS list, you can see three tabs. I’m currently on the Details tab. This tab contains useful information such as the unique device ID, actions available on this device, and the available sensors. If I click the Telemetry Data tab, I’ll be taken to a new page that allows me to view these sensors and their data timeline (see Figure 6). Note that the “light” sensor was the default, so Device Cloud loads this data immediately.
Figure 6. Viewing sensor data from a device
This sensor emits telemetry data on a scale from 0 to 1000; as you can see, the light sensor data varies over the course of a day. This graph is interactive: By moving the mouse over the graph, you can generate more detailed data for each point displayed (the exact time of the collected data and exact value). You can also modify the graph to restrict the time of the data to view more or less of the available sensor data. In Figure 7, I’ve modified the timeframe to the last 30 minutes of data. Note in the bottom right the newly selected data range.
Figure 7. Viewing the most recent sensor data
Interacting with a device
Device Cloud allows you to interact with a device at many levels. These actions cover a variety of standard and custom-defined activities that are specific to the device in question.
Let’s return to the example device and look at some of these. Under STANDARD ACTIONS, you can restart, shut down, or reset the device, and send and receive files to or from the device. The CUSTOM ACTIONS list allows you to perform more specific actions on the device in question (see Figure 8). From Figure 8, you can see actions to enable or disable the LED, dump the log files from the device, transfer files, disable the device, and even open a remote shell to the device.
Figure 8. Performing custom actions on the device
On the UPDATES tab, you can upload update files or request an update of the selected devices.
Monitoring device properties with rules
Now, let’s look at how you can monitor a device in real time. For this example, I do this by creating a rule. When I click RULES at the top of the page, Device Cloud takes me to a new page that shows the currently created rules for the collection of devices (see Figure 9).
Figure 9. Viewing the current rules
I click CREATE NEW RULE and am taken to a page that allows me to define my rule. In this example, the rule I create generates an alert if the temperature exceeds a value. As shown in Figure 10, I’ve named my rule Temperature Rule and selected the device of interest.
Figure 10. Creating a new rule
Scrolling down the page below the devices list, there’s a section where I can define a condition, including the sensor name (temp), an operator (is greater than), and a value (35). For the rule response, I’ve requested to create an alert to notify me of the condition when it occurs (CREATE AN ALERT) called Temperature Alert. Finally, I click SAVE AND ENABLE at the bottom of the page to save my rule and enable it (Figure 11).
Figure 11. Completing the creation of a new rule
Sometime later, the rule condition is satisfied on this device, and an alert is generated for my Temperature Alert. The page also shows my created rule and its status (see Figure 12).
Figure 12. A triggered rule condition resulting in an alert
One of the most important attributes of any IoT deployment is security. Wind River Helix incorporates end-to-end security that covers all levels of the IoT stack, including user, network, application, and of course data security.
Helix Cloud uses Secure Sockets Layer (SSL) encryption to ensure that data travelling over the Internet is not visible to third parties. Certificate-based authentication is also used to prevent spoofing or impersonation of authorized agents.
Key benefits of Device Cloud
Device Cloud makes it easy to build device management capabilities into your IoT ecosystem. Using Device Cloud, you can
For more such intel IoT resources and tools from Intel, please visit the Intel® Developer Zone