If you've been involved with IT in any capacity in recent years, you've probably heard the term "Internet of Things," or IoT. According to Gartner, IoT is at the top of the hype cycle, meaning a lot of people are excited about it, but not much real development is happening yet. While less than a billion devices were connected to the Internet in 2009, Gartner predicts that there will be 26 billion IoT devices installed in 2020, generating $300 billion in revenue for manufacturers and service providers and making a $1.9 trillion impact on the global economy.
In a nutshell, IoT is about using smart devices to collect data that is transmitted via the Internet to other devices. It's closely related to machine-to-machine (M2M) technology. While the concept had been around for some time, the term "Internet of Things" was first used in 1999 by Kevin Ashton, who was a Procter & Gamble employee at the time.
Since then, the idea has spread rapidly and widely. A survey conducted by ARM found that more than 75 percent of enterprises are either already using IoT in some capacity or exploring ways to do so. And 96 percent of those surveyed expected to be using IoT by 2016.
Part of the reason for the great interest in IoT is the potential it offers. In a 2006 article Ashton explained, "If we had computers that knew everything there was to know about things—using data they gathered without any help from us—we would be able to track and count everything, and greatly reduce waste, loss and cost. We would know when things needed replacing, repairing or recalling, and whether they were fresh or past their best." He concluded, "The Internet of Things has the potential to change the world, just as the Internet did. Maybe even more so."
Much of the early work on IoT technology and standards has taken place within the open source community. This month we're featuring some of the more interesting open source IoT projects currently in active development. While our open source lists generally focus on software, this list also features an array of open source hardware, many of which are available for hobbyists to purchase at low prices.
As always, if you know of projects that you think should be on our list, feel free to note them in the comments section below.
Arduino is both a hardware specification for interactive electronics and a set of software that includes an IDE and the Arduino programming language. The website explains that Arduino is "a tool for making computers than can sense and control more of the physical world than your desktop computer." The organization behind it offers a variety of boards, starter kits, robots and related products for sale, and many other groups have used Arduino to build IoT-related hardware and software products of their own.
Eclipse is sponsoring several different projects surrounding IoT. They include application frameworks and services; open source implementations of IoT protocols, including MQTT CoAP, OMA-DM and OMA LWM2M; and tools for working with Lua, which Eclipse is promoting as an ideal IoT programming language. Eclipse-related projects include Mihini, Koneki and Paho. The website also includes sandbox environments for experimenting with the tools and a live demo.
Owned by Marvell, the Kinoma software platform encompasses three different open source projects. Kimona Create is a DIY construction kit for prototyping electronic devices. Kimona Studio is the development environment that works with Create and the Kinoma Platform Runtime. Kimona Connect is a free iOS and Android app that links smartphones and tables with IoT devices.
Designed for building remote monitoring, fleet management and smart grid applications, Mainspring is an open source framework for developing M2M applications. It capabilities include flexible modeling of devices, device configuration, communication between devices and applications, validation and normalization of data, long-term data storage, and data retrieval functions. It's based on Java and the Apache Cassandra NoSQL database.
Built on Node.js, Node-RED describes itself as "a visual tool for wiring the Internet of Things." It allows developers to connect devices, services and APIs together using a browser-based flow editor. It can run on Raspberry Pi, and more than 60,000 modules are available to extend its capabilities.
6. Arduino Yún
This microcontroller combines the ease of an Arduino-based board with Linux. It includes two processors—the ATmega32u4 (which supports Arduino) and the Atheros AR9331 (which runs Linux). Other features include Wi-Fi, Ethenet support, a USB port, micro-SD card slot, three reset buttons and more. They are available for purchase from the Arduino website.
BeagleBoard offers credit-card sized computers that can run Android and Linux. Because they have very low power requirements, they're a good option for IoT devices. Both the hardware designs and the software they run are open source, and BeagleBoard hardware (often sold under the name BeagleBone) is available through a wide variety of distributors.
Flutter's claim to fame is its long range. This Arduino-based board has a wireless transmitter that can reach more than a half mile. Plus, you don't need a router; flutter boards can communicate with each other directly. It includes 256-bit AES encryption, and it's easy to use. Both the hardware and the software are completely open source, and the price for a basic board is just $20.
Local Motors is a car company that manufactures open source car designs on a small scale. They collaborated with IBM on an IoT-connected vehicle that they showed off at a conference last spring. Much of the open source software and design specifications for the prototype are available for download from the link above.
As you might guess from its name, Microduino offers really small boards that are compatible with Arduino. In fact, these boards are about the size of a quarter and can be stacked together to create new things. All the hardware designs are open source, and core modules start at just $8 each. It was funded by a Kickstarter campaign that raised $134,563.