Internet of things is raging with an unprecedented speed. Before we tell you about the Internet of Things (IoT) open source development tools there is something else you should know first. With IT sector cashing on the hype created by the predictions from likes of Gartner and Cisco that claim that by the end of 2020 more than 50 billion devices will be connected by IoT, all of a sudden everyone wants to be the part of Internet of Things. Well it is no wonder that you are also looking forward to be part of soon to be a $1.9 trillion industry.

Kevin Ashton-“The Internet of Things has the potential to change the world, just as the Internet did. Maybe even more so.”

Since the first concept of “Internet of Things” coined by Kevin Ashton in 1999, the actual definition of internet of things has gone through many changes. Still in simple words IoT can be termed as the environment where physical devices are connected with each other via internet and collect and exchange data for smart response. This is a highly intelligent M2M or Machine-to-Machine technology which has potential to revolutionize how we live and work.

Big players in field of information technology and internet are already working and innovating in the field of IoT one way or the other. ARM concluded in one of its surveys that more than 75% of enterprises already have put their steps into this domain while the mark is expected to reach 96% by the end of 2016.

“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.”- Kevin Ashton

Why Internet of Things Open Source Development Tools is so popular?

Reasons for the popularity of the IoT open source development tools are the community of users. This community wants to have the open market for utilizing consumer technology devices and not to be dominated by a single vendor. Another reason of going open source is to provide an ecosystem where the IoT devices and applications developed can be integrated without hassles and many efforts. Finally going open source means your device or application can support numerous vendors as you will not be developing code for any specific vendor.

Internet of Things (IoT) open source development tools are mostly developed by the open source community which had worked from early on in the IoT domain. You can deploy the IoT applications making use of these tools sooner than ever before. If you are beginning to build your first internet of things application then this open source tool guide is exclusively for you.

Here we list 100 most widely used and reliable open source tools for developing IoT apps. We have tried our best to include IoT hardware platforms, development tools, software, integrations tools, operating systems and monitoring tools.

Anyhow if you are aware of any tools that are relevant in this context not listed here, please feel free to mention them in the comments below.

IoT Development Tools

ThingBox Node-RED M2MLabs Mainspring Kinoma Eclipse IoT Project Arduino

Now all the above listed development tools are very user-friendly yet before you choose any of these tools, we recommend to go through their complete profile here.

IoT Hardware Platforms

Most important part of developing any IoT application is to choose the right hardware platform. Getting started with simple platform like Arduino Yun to progressing to UDOO it is all about the resource requirement of an application. Here are the best IoT Hardware Platforms to choose from

Apio Arduino Nano Arduino Pro Mini Arduino Uno Arduino Yún Arietta G25 BeagleBoard Flutter Flutter IMUduino BTLE Intel Edison Intel Galileo Libelium Waspmote LightBlue Bean Local Motors Connected Car Microduino Nanode OpenKontrol Gateway OpenPicus panStamps PicAxe Pinoccio Raspberry Pi 2 RasWIK SAM R21 Xplained Pro SmartEverything SODAQ SparkFun RedBoard Tessel Tessel 2 The AirBoard The Rascal TinyDuino UDOO WIOT XinoRF

Home Automation Software

We recommend before you make a choice from any of the below listed software go through this excellent piece of information on How to Choose a Home Automation System by HomeToys.

43.Eclipse SmartHome

44.Home Gateway Initiative (HGI)( Home Automation)

45.Ninja Blocks

46.openHAB

47.PrivateEyePi

48.RaZberry

49.The Thing System

Middleware

Many of first time Internet of Things Application developers underestimate the importance of choosing the right middleware. Middleware is that mechanism that enables smooth communication among all the different components.

In simple words a ‘Middleware’ facilitates communication between the ‘Internet’ and the ‘Things’.

Choose the right middleware according to your needs from these:

IoTSyS Kaa OpenIoT OpenRemote

Operating Systems

After choosing the right hardware platform it’s time to choose the right IoT operating system for your application. Selection should be based on the application level, API requirements and hardware needs. Here are the top IoT Operating Systems to choose from.

AllJoyn Contiki Raspbian RIOT Spark

IoT Integration Tools and Horizontal Platforms

Next in the list of IoT open source tools is the integration platform you will be interested in selecting. Listed below are some of the best IoT integration tools available right now.

Canopy Chimera IoT DeviceHive(IoT Integration Tools and Horizontal Platforms ) net Distributed Services Architecture (DSA) IoT Toolkit M2MLabs Mainspring Mango Nimbits Open Source Internet of Things (OSIOT) OpenRemote Pico Labs (Kynetx open source assigned to Pico Labs) prpl Foundation RabbitMQ SiteWhere SiteWhere ThingSpeak webinos Yaler

IoT Development APIs

1248.io BipIO(APIs) Qeo Tinq Zetta Motion Shadow

Miscellaneous Tools

Ehcache(In-memory data grids) Freeboard(Data visualization) Hazelcast(In-memory data grids) IoT Toolkit(Toolkits) KinomaJS(Toolkits) Thingful(Search) ThingSpeak(Data visualization)

IoT App Development Protocols

Finally you are at the stage of choosing the right communication platform for your IoT application. Here are best suggestions:

Advanced Message Queuing Protocol (AMQP)( Protocols) OASIS Message Queuing Telemetry Transport (MQTT) Very Simple Control Protocol (VSCP) Constrained Application Protocol (CoAP) Extensible Messaging and Presence Protocol (XMPP)

IoT Open Source Resources

At last if you need any reference of specialized resource, you might want to check out the ones listed below.

We have done the best we could to curate this list of top 100 IoT open source tools and resources. However if you feel any addition to the list is mandatory feel free to mention it with your comments below.