Some Free Source Tools for Development in IoT
In my last post, I had indicated the IoT space to be of the following structure. There is an important detail involved.
The sensors are often deployed a a network of these device and they communicate through low power and lossy wireless communication schemes; such a BLE, IEEE 802.15.4 based radio, etc.
These nodes, otherwise known as Wireless sensor nodes (WSN) are the most important tools in the harvesting of data at the ground level, often literally. Hardware structure of such WSN (mote)is as shown below
The communication stack is as follows.The diagram illustrates the range of communications that take place right up to the cloud.
The next figure illustrates the mix of technologies used in this space.
It will be nice to have some tools, free source stuff in particular. Rest of the post is about these tools that help you get started in IoT related developments.
The starting point of all the activities i supported by free source hardware (such as the Raspberry Pi, Arduino, etc.) as well as free source OS and tools. Often, the firmware development efforts at this stage is the code that supports the communication. For IoT, communicating from this ground floor level needs to have support for 6LowPAN support. Contiki OS i a free-source tool that comes with this support. It has support for the constrained devices too. Contiki also supports COOJA. COOJA is a free-source tool that helps design and simulate the wireless network you need.
Kaa is a middle-ware platform for creation of IoT solutions, customizable, transport-agnostic link between the hardware and applications. It can build active device inventory, capture physical and logical specs for each device, collect and analyze real-time telemetry data, perform device management, provisioning, and configuration, distribute firmware updates, Enable near real-time communication across devices. Complex, time-consuming, and mundane tasks can be left to Kaa.
Like most new technologies things are in a flux in this ecosystem too. As with such evolving technologies, there are several proprietary tools available and free-source tools are coming. There are enough free source tools already to get you started with development projects.
You could review the presentation here for further details.