Download this article in .PDF format
This file type includes high-resolution graphics and schematics when applicable.
Has the Internet of Things (IoT) driven you to distraction yet? Fortunately or unfortunately, IoT is not going away. The challenge for most developers and companies is determining where they fit within the IoT spectrum and how they will address it.
In general, IoT is not that complicated. Typically, a cloud component is built around a database with information coming from IoT endpoints, possibly through IoT gateways. Then there’s the other side—a user interface, usually an app, that runs on a smartphone, tablet, or PC. The devil is in the details, and the partnerships.
The problem, though, is trying to whittle down the plethora of choices available without selling off the farm. It’s usually impractical to build your own end-to-end solution, and any part that you don’t build yourself will incur a fixed and, possibly, ongoing subscription cost. Actually, figuring out how to monetize your solution will likely be more difficult than the actual coding after determining the IoT mechanics.
Wireless IoT endpoints are becoming the norm, with many options to choose from when connecting these devices from cellular and Wi-Fi to ZigBee, ANT+, and Thread (see “Engineering Essentials: IoT Standards and Frameworks"). Some can provide direct links to the cloud, while others typically need a local gateway to provide connectivity to the cloud. Sometimes the gateway simply provides routing support, but more often than not, it includes other services such as data consolidation, endpoint management, and additional security support.
The discussion can get a little muddled because IoT frameworks like mbed are typically part of the discussion, and network transport options may or may not be dictated by the framework. Though IPv6 is the trend, Ethernet and Wi-Fi connections still regularly run IPv4.
This simplest case is where IoT devices communicate with a limited number of entities. It’s occasionally only the cloud, but some applications call for more a federated approach that possibly requires cooperation directly between IoT devices. Collaboration protocols like AllJoyn (see “Software Breaks Down IoT Barriers”) and Google's Nest Cloud API are just a couple options.
IoT gateways can range from tiny wireless nodes to Dell's Embedded Box PC 3000 (Fig. 1) or ADLINK's Modular Industrial Cloud Architecture (MICA) that runs software like the Wind River Intelligent Device Platform XT. Some applications can incorporate many different types of gateways. However, all IoT gateways typically have common functionality, such as a common communication, security, and management system.
Many board vendors have moved into the gateway arena with hardware and software to match. For example, Eurotech's Everyware (see “Q&A: A Glimpse into the Everyware Software Framework”) is based on the open-source Eclipse Kura project and runs on Eurotech's ReliaGATE15-10 (Fig. 2).
More customized gateways can be built on reference designs like Mentor Graphics' IoT Gateway SysDK. The multicore Freescale I.MX6 will run embedded Linux and the Nucleus RTOS in separate partitions on top of Mentor's Multicore Framework.
IoT and the Cloud
Developers actually have a wider selection of options when it comes to the cloud component, but selecting one typically locks in the design to the vendor.
Getting into the IoT cloud can be as easy as utilizing Buglabs' dweet or freeboard. Cayenne has a download that links a Raspberry Pi to the cloud in minutes using its myDevices platform. Ayla Networks provides a similar Design Kit and Microsoft's Azure IoT Suite is another framework that links devices to Azure cloud services. Azure IoT Suite supports ARM-based platforms in addition to Microsoft Windows.
Many IoT cloud services are free for development or personal use, but the money is made in servicing commercial accounts. The trick is to be able to charge enough to cover those costs and still make a profit.
Don't forget about analyzing all the data coming from the IoT devices, though. Luckily, many tools are able to address big-data chores. Remember IBM's Watson? That technology is being applied through the cloud via Watson IoT Cloud Platform.
The combinations may seem endless, but the options quickly reduce when selecting components within the system. Compare solutions before committing to a design, as major differences in cost and effort over the long run may become apparent. Start your search from the client, the gateway, and then the cloud to see the different outcomes. It can be surprising.
Looking for parts? Go to SourceESB.