The Internet of Things (IoT) is the interconnection of uniquely identifiable embedded computing devices within the existing Internet infrastructure.
- Wikipedia
Internet of Things is a vision and it is being built today! It has taken the world by storm with all kinds of wearables and connected devices available today in the market. It is emerging because more and more things are becoming internet-enabled, like automobiles, homes and facilities. This includes humans - through wearables like Google Glass, Moto 360 and embedded processors in shoes and clothing. There could easily be more than 100 million things, and millions of people, linked to the Internet in the next 5-10 years.
As a Technologist, it was a no-brainer for me as to what my next step should be. With the advent of open source hardware like Arduino, Raspberry Pi, Spark, Tessel etc., working with electronics is no longer as inaccessible as it used to be 5 years back - to the extent that we can now use programming languages like JavaScript to control these devices and make it dance to our tunes!
This really sparked my interest a couple of months back. Somehow things happen at just the right time for me - SapientNitro's XT community conducted a workshop on IoT! We had a recap of Electronics 101 to get started with and then the best part of the entire workshop was when we dirtied our hands on Arduino programming - making little lights blink based on conditional outputs using high, low voltages. It was so exciting that I almost blacked out experimenting with it for 5-10 mins. Then came sensors - like proximity, humidity, light - using which we could extract data into our own hand coded Node.js modules and play around with it to produce different kinds of behavior using the Arduino.
We were then exposed to some of the UX best practices - on how the real life applications should be designed and how they are taken to production. We were given a live demo of the interactive shelf that the team worked on - for Kyoorius Design Yatra 2014! It was damn interesting and a really good experience...thanks to the wonderful team we have in SapientNitro!
Now JavaScript is something I have been playing around and mastered in the last 4-5 years. The idea of marrying these two worlds is not something new and I was all set to play with the same. JavaScript has matured as a language and is something the web development world already understands and is comfortable with. It's great with the event driven programming model, and the enormous ecosystem definitely helps!
Couple of great articles to get you to speed:
Why JavaScript and the Internet of Things? [Sitepoint]
JavaScript and the Internet of Things [Postscapes]
I decided to go one step further and wanted to experiment with programming over the network and playing around with all kinds of sensors. So I had my own kit ordered from Simplelabs! It included an Arduino Uno, YUN shield and then the sensors, breadboards and jumper wires. You can order this online and is readily available. Simplelabs is a good option for India.
The YUN shield has OpenWrt on top, so having a shield which runs Linux and controls the microcontroller below was huge add-on! I expanded the space on the shield using a pen drive (via extroot) and voila!.. I could run my Node.js modules on the board itself! Now I was able to expose a realtime web service via WebSockets - and transmit data from the sensors.
This is just the beginning and I have miles to travel before I can create something useful for the world. All I can say today is that - this is just the right time to brush up on your electronics and play around. Internet of Things is here to stay. There are virtually no boundaries when it comes to the possibilities.
I'll conclude with the words of Dr. John Barett:
Today computers -- and, therefore, the Internet -- are almost wholly dependent on human beings for information. Nearly all of the roughly 50 petabytes (a petabyte is 1,024 terabytes) of data available on the Internet were first captured and created by human beings by typing, pressing a record button, taking a digital picture or scanning a bar code.
The problem is, people have limited time, attention and accuracy -- all of which means they are not very good at capturing data about things in the real world. 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.
TED talk of Dr. John Barett on the Internet of Things: