51 Open Source Tools for the Internet of Things
These open source software and hardware projects make it easy for hobbyists, startups and established companies to develop new IoT devices and applications.
According to the market researchers at IDC, there were 9.1 billion Internet of Things (IoT) devices installed at the end of 2013. They expect that number to grow 17.5 percent each year and hit 28.1 billion in 2020, when the total IoT market could be worth more than $7 trillion.
The open source community has been at the forefront of this new trend, creating software and hardware designs that enable nearly anyone to experiment with IoT devices and applications. And the number of open source projects dedicated to IoT has been growing rapidly. Last year, we put together a list of 35 open source IoT projects, and this year, we've extended it to 51 tools.
As always, if you know of additional open source projects that you think should be on our list, feel free to make note in the comments section below.
Operating Systems
1. Contiki
This open source IoT operating system boasts highly efficient memory allocation, full IP networking, power awareness, standards support, dynamic module loading, support for a wide variety of hardware and more. There are a wide variety of papers, books and other support materials to help users and developers get started using it.
2. eLinux
A number of IoT devices run the Linux kernel (or a portion of it). This site provides extensive information about using Linux in embedded systems.
3. FreeRTOS
With millions of deployments, FreeRTOS claims to be "the market leading real time operating system (or RTOS), and the de-facto standard solution for microcontrollers and small microprocessors." Optional commercial licensing and support are available.
4. mbed
Developed by ARM and its partners, mbed is an operating system designed for IoT devices that run on ARM processors. It includes a C++ application framework, and the company also offers other development tools and a related device server.
5. Raspbian
Raspbian is a variation of Debian Linux optimized to run on the Raspberry Pi. It includes more than 35,000 applications that can run on the device.
6. RIOT
RIOT calls itself "the friendly operating system for the Internet of Things," and it aims to be developer-friendly, resource-friendly, and IoT-friendly. Key features include support for C and C++, partial POSIX compliance, multi-threading, energy efficiency and more.
Ubuntu is one of the most popular distributions of Linux, and this variation brings Ubuntu to the Internet of Things. It can run on cloud computing services like Microsoft Azure, Google Compute Engine and Amazon Elastic Compute, as well as on IoT devices like the BeagleBone Black and the Raspberry Pi.
8. TinyOS
Downloaded more than 35,000 times per year, TinyOS is a popular operating system designed for low-power wireless devices, such as those in IoT deployments. It boasts excellent support for networking and low-power operation.
9. Tizen
Governed by the Linux Foundation, Tizen is a Linux-based operating system for mobile and connected devices, and it comes in versions for vehicles, smartphones and tablets, TV and wearables. Samsung sells several products based on the operating system and has been one of its largest supporters.
IoT Platforms
10. Arduino
One of the best-known names among open source IoT projects, Arduino is a platform that encompasses both hardware and software. The software includes an integrated development environment (IDE) for writing code in the Arduino language.
11. Devicehub.net
This project aims to be "the go-to platform for makers" and "the universal interface for Internet of Things and M2M." It includes tools for data gathering and analysis, remote control and event-based alerting, and it allows users to control many different devices from a single dashboard. Paid enterprise versions and support are available.
12. IoT Toolkit
This toolkit includes a smart object API gateway service reference implementation, an HTTP- to-CoAP semantic mapping proxy, gateway-as-a-service deployment, application framework, embedded software agents, semantic discovery and linkage, linked data compatibility, tools for multiple sensor net clients, and Raspberry Pi and cloud micro-instance deployment images. The project also sponsors a meetup group in Silicon Valley.
13. OpenWSN
OpenWSN is the repository for IoT hardware and software projects underway at the University of California Berkeley. Its ultimate goal is to provide a complete standards-based open source IoT stack.
14. Particle
Formerly known as Spark, Particle is a full suite of hardware and software for building IoT devices, applications and services. Particle boards start at just $19, and the software is available on GitHub
15. SiteWhere
SiteWhere aims to help companies build scalable IoT applications and speed their time-to-market with new products and services. It integrates with MongoDB, HBase, Hortonworks, Clouder, Apache Solr and Twilio, and it supports deployment on nearly any cloud computing platform.
16. ThingSpeak
This IoT application and API makes it possible to collect and process data from remote devices. Key features include real-time data collection, geolocation data support, data processing, data visualizations and device status messages.
17. Webinos
Webinos is a web-based application platform for the internet of things. Its goal is to enable developers to write applications that run on any device, including IoT devices, cars, TVs and smartphones.
18. Zetta
Based on Node.js, Zetta can create IoT servers that link to various devices and sensors. The website includes a page devoted to projects built with betta that includes a car speed tracker and home security systems.
Hardware
19. Arduino Yún
Sold by Arduino's sister organization Genuino, this open source board includes two separate processors: the ATmega32u4 microcontroller that runs Arduino and the Atheros AR9331 that runs a specialized Linux distribution called OpenWrt-Yun. It includes 16 MB of Flash memory, 64 MB RAM, Ethernet, WiFI, USB and a Micro-SD card reader.
20. BeagleBoard
This organization offers several different open-source boards, all of which are about the size of a credit card. Their flagship product, the BeagleBone Black promises that users will be able to boot Linux in under 10 seconds and get started with development projects in less than 5 minutes. Their boards can run Linux or Android.
21. Flutter
Designed for hobbyists, students and engineers, Flutter offers a fast ARM processor and long-range wireless communication. It also includes built-in battery charging capabilities and a built-in security chip. It runs Arduino, and prices start at $36 for the basic model.
22. Intel Gallileo
While many IoT boards rely on ARM processors, Intel also offers a IoT development board known as Galileo. It's Arduino-compatible and boasts a wider range of ports than most similar boards.
Working with the AllSeen Alliance, Local Motors has developed a Rally Car, which they are using as the platform for their Connected Car project. The open source design includes an automotive grade Linux distribution, a Raspberry Pi board, several Arduino relay boards, and Octoblu open source software.
24. Microduino
Microduino offers a range of extremely small boards that are about the size of a quarter and start at just $8. They are currently taking orders for their new mCookie modules which stack like Lego blocks. A variety of extension boards and application kits are also available for purchase on the website.
25. OpenADC
Sold by a company called NewAE Technology, OpenADC is an open source hardware platform with an emphasis on hardware security. The company is also behind the CHipWhisperer hardware security project and offers hardware security training.
26. OpenMote
OpenMote offers three different boards: Open-Mote-CC2538, OpenBase and OpenBattery. They can be purchased separately or in kits for complete IoT deployments.
OpenPicus offers several different open source system on a module (SoM) boards, all of which come with the company's free IDE. You can choose from three different kinds of connectivity—Wi-Fi, GPRS or Ethernet. Modules start at €35.
28. Pinoccio
This company sells very small wireless boards that it calls Scouts. Connect your Scouts together into a mesh network called a Troup and then connect the Lead Scout to the Web. Compatible with Arduino.
29. RasWIK
Ciseco (not to be confused with Cisco) offers a Raspberry Pi Wireless Inventors Kit, or RasWIK. It promises that you "can build wireless devices in just a matter of minutes," and it comes with 29 projects for you to try. Prices for the kit start at £49.99.
30. SODAQ
SODAQ, which stands for "Solar-Powered Data Acquisition," offers Arduino-compatible boards that are easy to connect together. The organization's newest offering is called the Mbili (which means "two" in Swahili), and it includes the Atmel ATmega 1284P microcontroller. It's a low-power board that can run on solar energy.
31. Tessel
This open source IoT hardware platform features a modular design that makes prototyping easy. The Tessel 2, which begins shipping in September, costs just $35 and is compatible with Node.js for fast development. Available modules include Accelerometer, Ambient, Relay, Climate, Infrared, Servo, RFID, GPS, MicroSD, Camera, Audio, Lights, Keypad, Motors, Pulse and more.
32. UDOO
Udoo offers several different open source boards that can run Android, Arduino and the UDOObuntu distribution of Linux, as well as some other operating systems. Prices for boards start at $99, or you can use the provided specs to build your own.
33. WeIO
This group wants to make creating Internet-connected objects as easy as creating websites. Its award-winning devices support HTML5 and Python, and prices start at $69.
34. WIZnet
WIZnet makes chips and IoT boards based on those chips. The link above includes details and specifications for its open source hardware products.
Connectivity Software
35. DeviceHive
DeviceHive is a machine-to-machine (M2M) communication framework for smart energy, home automation, remote sensing, telemetry, remote control and monitoring software and other IoT applications. It supports Java, C++, .NET, Python, Javascript, and other platforms.
36. IoTivity
Sponsored by the Open Interconnect Consortium, The IoTivity software allows for device-to-device connectivity. It is an implementation of the OIC's standard specification. Operating System: Linux, Arduino, Tizen
Database
37. InfluxDB
InfluxDB is a "distributed time series database with no external dependencies." That makes it ideal for collecting data from IoT sensors; in fact, it can track data from tens of thousands of sensors sampling more than once per second. Operating System: Linux, OS X
Development Tools
The Eclipse Foundation has a long list of IoT-related projects that include standards and development frameworks. The project also offers a wealth of videos, tutorials, sandboxes and other tools to help new IoT developers get started on their first projects.
39. KinomaJS
The Kinoma platform encompasses both hardware and software tools for prototying IoT devices and applications. KinomaJS, its JavaScript-based application framework, is available under an open source license. Operating System: Windows, Linux, OS X
Based on Java and the Apache Cassandra NoSQL database, Mainspring describes itself as "an open source application framework for building machine to machine (M2M) applications such as remote monitoring, fleet management or smart grid." Features include flexible device modeling, device configuration, communication between devices and applications, data validation and normalization, long-term data storage and data retrieval. Operating System: Windows, Linux, OS X
41. Node-RED
This "visual tool for wiring the Internet of Things" simplifies the process of connect IoT devices with APIs and online services. It is built on Node.js and includes a browser-based flow editor. Operating System: Windows, Linux, OS X
Home Automation Software
42. OpenHAB
This Java-based open source home automation software promises a vendor-agnostic way to control all the IoT devices in your home through a single interface. It allows users to set up their own rules and control their home environment. You can download the software from the site or use it through the my.openHAB cloud service. Operating System: Windows, Linux, OS X, Android
43. The Thing System
The Thing System's website says, "Today, you have to fight your things. They don't talk to each other, the apps don't work, it's a tower of babel. Our solution — the Thing System — is open source. We'll talk to anything, you can hack the system, it has an open API." It supports a huge list of IoT devices, including those made by Cube Sensors, Parrot, Next, Oregon Scientific, Samsung, Telldus, Aeon Labs, Insteon, Roku, Google, Apple and other manufacturers. Operating System: Windows, Linux, OS X, others
Middleware
44. AllJoyn
Sponsored by the AllSeen Alliance, whose members include the Linux Foundation, Microsoft, LG, Qualcomm, Sharp, Panasonic, Cisco, Symantec and many others, AllJoyn is a "collaborative open-source software framework that makes it easy for devices and apps to discover and communicate with each other." It has supports bindings for C, C++, Objective-C and Java, and it includes per-to-per encryption and authentication. Operating System: Windows, Linux, OS X, Android, iOS Arduino, others
45. Kaa
Focused on speeding IoT projects, Kaa describes itself as "a production-ready, multi-purpose middleware platform for building complete end-to-end IoT solutions, connected applications, and smart products." It enables communication and monitoring between IoT devices and back-end infrastructure, and it can be easily deployed on Amazon's cloud. Operating System: Linux
46. Mango
Mango automation software offers features like data acquisition, real-time monitoring, a high-performance NoSQL database, security and much more. It is available in both a free open source version and paid enterprise versions. Operating System: Windows, Linux, OS X
47. Nimbits
Nimbits describes itself as "a Data Logging Service and Rule Engine Platform for connecting people, sensors and software to the cloud and one another." It includes server software, an open source Java library, an Android client and a public cloud that runs Nimbits Server.
48. OpenIoT
Funded in part by the EU, OpenIoT describes itself as a "blueprint middleware infrastructure for implementing/integrating Internet-of-Things solutions." The project's goals are to be able to collect and process data from nearly any IoT device, stream that data to the cloud and analyze and visualize the collected data. Operating System: Windows, Linux, OS X
49. OpenRemote
This award-winning project boasts users like Philips, Trust Digital Lifestyle Accessories, Ooma, VolkerWessels and others. Free and paid versions are available.
Monitoring
50. Freeboard
This project promises "ridiculously simple dashboards for your devices." It offers a widget-based, drag-and-drop development tool that makes it easy to track the data from your IoT devices. Both free and paid plans are available. Operating system: OS Independent
Printing
51. Exciting Printer
This unusual project makes it possible to create your own small, internet-connected printer. Want to talk to the project owners? You can send a message or draw a picture that will be printed on the Exciting Printer in their office.
SOURCE: http://www.datamation.com/mobile-wireless/51-open-source-tools-for-the-internet-of-things-1.html