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.
That was the title of the workshop I conducted. This talked about the current state of affairs in the IoT domain and what we could do to get started! We have all heard the hype of the explosive growth of IoT including the recent Mckinsey statement that all the predictions are likely to be off the mark. They say the numbers of connected devices and the revenue/spending will exceed the estimates! Mckinsey also goes on to say unless you invest in this market in the next ten years, you are going to lose the opportunity altogether.
Given all that, the immediate concern would be to understand the market as it exists today and how to enter it. The workshop presented a view of the state of the art and how to get started, if you need to.
A very top level abstraction of the domain is as follows. At the bottom most layer we have sensor and actuators working through processors many a times.
Sensors help monitor parameters in the vicinity. The data thus collected goes through low power and lossy radio networks to reach the Internet and communicate with the cloud. Once the data is in the cloud, you could do any kind of analysis and slicing & dicing of the collected data. This analysis would let you decide what actions you need on the connected things. the actuators can be used to actuate devices through local logic or through decisions arising from analysis in the cloud. Several kinds of these hardware nodes or WSNs (wireless sensor node) are available already.
Three kinds of constrained devices have been defined in this WSN space. The overheads for regular TCP/IP communications would impose quite a bit of overheads. Besides limited processing power, these nodes (or motes, as they are often known) need to conserve power. The communication protocols at this level need to take care of the peculiarities of these devices. Several are in the works and one promising one is the 6LowPAN. Class 0 and class 1 things/objects/motes also need to communicate through gateways and protocols are in development. This area is certainly evolving. When undertaking product development, you need to be certain which protocols are likely to survive the test of time. You communication software will depend on it and supporting a protocol that falls into disfavor will cut your product’s life.
The detailed presentation takes you through other important areas that are already in place for you to get started. Operating systems and other tools available have been discussed.
12th Open Source India concluded on the Nov 20th.
Dibya Prakash has been on the Advisory panel of the event. He conducted a workshop on cross platform mobile developments that was a sold out event. Dibya is a regular participant of the event, as you might know. This year we had Debasis, the Principal Consultant & Tech Mentor participate in the event. You can see Dibya here on the right of the Advisory panel display. Debasis appears on the right again, in the second row on the panel of speakers.
His presentation “Development ecosystem in free source for IoT” and the workshop “IoT: Introduction and getting Started session” were well received.
This talk was about the free source tools available right now. Though things are evolving, these tools can help you get started in IoT related product development. The workshop was a survey of the current scenario and how to get started. We had a full house for this 3 hour workshop too on the second day.