Recently this word IOT is gaining lot of popularity. And we see a lot of news on it like the world is moving towards IOT , and its the next big thing and smart cities are no longer a fiction and many other news like that.
As we are also a part of this world 😉 so we start digging into this and start exploring this land of new opportunities. So lets start with first things first,
What is IOT?
As wikipedia says, The internet of things (IoT) is the network of physical devices, vehicles, buildings and other items—embedded with electronics, software, sensors, actuators, and network connectivity that enable these objects to collect and exchange data.
So basically the vision is the world where each and everything is connected to the Internet and can be controlled from anywhere, these things can be anything from your shoes to the car that you drive, and they can communicate with each other to make the world a better place 😉 ( Just like Hooli 😛 )
What’s in there for us?
With this we can program anything in just four steps:
- Placing the right sensors.
- Capturing the correct and reliable data.
- Clean the data and then analyze it.
- Sending the command to the device according the result of the model applied on the captured data.
There was one fun blog on How a programmer automated its work by Business Insider , I loved that article personally and was quite fascinated by it.
How to get started ?
For getting started, one can start with anything like with programming his/her own so called smart phone 😉 to send the sensor data( and actually utilize them , which are only in action while playing Pokemon GO ! these days )and analyze it on its laptop or something like that.
But what I preferred was a device dedicated to my work so that I can have a deep understanding of actually how it is happening ! And hence I bought a cool lovable device : RaspberryPi3
Here is the sneek-peek of my RaspberryPi 😉 :
Which device to choose ?
There are many devices in the market like Audrino , DragonBoard , Intel Edison, RaspberryPi and many more. But most people know about the Audrino and the RaspberryPi and they wonder which one to choose.
Personally what I feel is if you are a computer grad. and you don’t want to make lot of efforts by connecting wires and all and just want to get started with IOT go for Raspberry Pi , as it is a MPU just like your own laptop and you can run LINUX on it. ! You will still need sensors and a ADC to get the sensor data but that comes later !
And if you are more interested in electronics and stuff and you are ready to get your hands dirty and you have lots of guts go for Audrino as it is a MCU .
It is easy to get started with Audrino in comparison with Pi , but who likes the easy stuff Right?
If you want to explore more on choosing the right device see these links to make up your mind :
- What are the differences between Arduino and Raspberry Pi?
- What is better for beginners: Arduino, Raspberry Pi or Intel Edison?
The IOT based system is likely to follow the event-driven architecture , the meaning of an event will not necessarily be based on a deterministic or syntactic model but would instead be based on the context of the event itself: this will also be a semantic web
The Internet of things requires huge scalability in the network space to handle the surge of devices, with billions of devices being added to the INTERNET space, IPv6 will play a major role in handling the network layer scalability.
Devices uses a new type of protocol known as MQTT for connecting to each other.
Mqtt is publish-subscribe-based “lightweight” messaging protocol for use on top of the TCP/IP protocol. It is designed for connections with remote locations where a “small code footprint” is required or the network bandwidth is limited.
In the later blogs we will discuss about :
- What is MQTT , How its header looks like
- Scala on Raspberry Pi: Setting up the environment !
- Deploy our own solution based on Scala and Akka on Raspberry Pi !
- Calculating the Value of Pi on Pi 😀 using Apache Spark : A benchmark (maybe 😉 )
At the end of this series you will have an overview of what IOT is ? and you will be able to deploy your Scala and AKKA based solution on your RaspberryPi that sends your device data to the server(your laptop).
I will be updating this blog with the new links as soon as the blogs are written and are posted !
Till then Stay Tuned !
I hope you enjoyed the blog ! For more info on this feel free to Ping me here or on twitter : @shiv4nsh !!
happy hAKKAing ! 😀