If you haven't been paying attention to IoT (Internet of Things), you've been missing out on one of the most important technology trends in the last several years. Simply put, IoT assigns IP addresses to everything from thermostats to refrigerators. This allows these devices to participate in a control and information Web that allows even the humblest of gadgets to become part of comprehensive, network- and Internet-based solutions.
Examples of real life IoT include:
Jewelry store chain, Alex and Ani, uses IoT technology to track customer movement throughout a store. This allows each store to optimize product displays to maximize sales.
UPS equips its trucks with IoT sensors that monitor and report on speed, miles per gallon, and the health of the engine.
John Deere created IoT devices that inform farmers of the moisture content and temperature of the soil on their farms.
Disney's MagicBands allow vacationers to do everything from buy lunch, go through turnstiles, and make reservations for special attractions.
I could go on and on about IoT products and solutions, but I am sure you get the point. Gathering data from all these disparate data points allows us to monitor, control, and implement change from centralized, network-based services. The more we know about something in real-time, the easier it becomes to achieve the results we desire.
I am a software guy, and I tend to approach everything from the standpoint of computer languages and coding. I figured that if you write enough lines of Java code you have yourself an IoT solution. Of course, software without the hardware to run it is just a bunch of worthless bits and bytes.
The more I explore IoT and the world of embedded sensors and wearable devices, the more I see how important its ecosystem of development boards is. Let's face it, you can't expect someone to walk around with a PC strapped to his or her arm. You want specialized hardware that can be miniaturized to the point where the wearer is oblivious to its size.
Despite my software slant, it didn't take me too much time and effort to gain a real appreciation for the platforms that developers are turning to when they want to hang an IP address off a parking meter or headband. That investigation led me to this list of the top boards used by the leading IoT solutions. While it's far from complete, these six hardware platforms are found in many of the leading IoT solutions.
At the top of my list is the Intel Edison. About the size of a U.S. quarter, this baby has a lot of power. Powered by the Intel Atom SoC dual-core CPU, it has built-in Wi-Fi, Bluetooth LE, and a 70-pin connector that supports a variety of peripherals. In terms of programming languages and operating systems, it supports Yocto Linux, Arduino, Python, Node.js, and Wolfram. Its extremely low power consumption makes it ideal for size-sensitive embedded designs.
The Arduino Uno is not the new kid on the block, but it has been a rock star in the embedded world. Built around the Atmel ATmega328 processor, it features 14 digital IOs, 6 analog inputs, and is programmed with the user-friendly Arduino IDE (Integrated Design Environment). While it doesn't have all the bling of the Intel Edison, it has more than enough power and features to fit into quite a few IoT solutions.
The Freescale Semiconductor Freedom Board has a lot going for it. This inexpensive board is equipped with a capacitive touch slider, accelerometer, and magnetometer. Its wide range of power options (coin cell, USB, or external power supply) make it ideal for quite a few embedded designs.
Built around the Sitara AM335x Cortex A8 processor, the Texas Instruments Industrial Communications Engine packs a wallop. In addition to having the ability to run Windows, this baby comes with an integrated Programmable Real-Time Unit (PRU) making it ideal for real-time communications.
There are two things that stand out about the STMicroelectronics Discovery. First, it's a very low cost development board with more than enough power to satisfy most IoT engineers. Second, it comes equipped with an on-board digital microphone, a DAC (digital Audio Converter), and a class D speaker driver. This makes it a great platform for inexpensive audio IoT solutions.
The DragonBoard 410c differentiates itself from many of the other boards with its four on-board USB ports, Wi-Fi, Bluetooth, and an HDMI interface. On top of that, it supports Android 5.1, Linux Ubuntu, and Windows 10. While it's too big for wearable technology, the DragonBoard is the perfect platform for solutions that require network flexibility and multiple connectivity options.
Clearly, there are a number of hardware options to choose from for developers looking to create the next big healthcare wearable or wireless security device. Each application will have its own unique set of requirements, but the hardware vendors appear to be in lockstep with those needs. Do you need Wi-Fi and Bluetooth? There's a board for that. Are you looking to load unified communications into an IoT form factor? There's a board for that, too. Do you need something small enough to wear on your wrist? You get the picture.
As a software guy, I don't always appreciate the underlying technology that enables my code to run, but playing around with IoT has opened up my eyes to a world of chips and interfaces I used to take for granted.
Now, if only I can find the time to work on that IoT glove that will turn me into a ukulele virtuoso extraordinaire.