Scala-IOT : Introduction to Internet Of Things.


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:

  1. Placing the right sensors.
  2. Capturing the correct and reliable data.
  3. Clean the data and then analyze it.
  4. 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 😉 :

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 :

  1. http://makezine.com/2015/12/04/admittedly-simplistic-guide-raspberry-pi-vs-arduino/
  2. What are the differences between Arduino and Raspberry Pi?
  3. What is better for beginners: Arduino, Raspberry Pi or Intel Edison?

 

Architecture:

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

Network Architecture:

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 :

  1. What is MQTT , How its header looks like
  2. Scala-IOT: Getting started with RaspberryPi without Monitor or Screen.

  3. Scala on Raspberry Pi: Setting up the environment !
  4. Deploy our own solution based on Scala  and Akka on Raspberry Pi  !
  5. 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 ! 😀

References:

  1. Wikipedia
  2. Coursera
  3. Some cool blogs shared on twitter 🙂

 


KNOLDUS-advt-sticker

Advertisements

About shiv4nsh

Coder, Gamer, Learner..!!
This entry was posted in IOT, Scala and tagged , , , , , , , , , , , . Bookmark the permalink.

12 Responses to Scala-IOT : Introduction to Internet Of Things.

  1. Abhishek Yadav says:

    Informative !!.however a coincidence, before switching to this article ,i was watching sillicon valley(making the world a better place)

  2. Nikhil Kumar says:

    I liked it. Keep them coming.

  3. Pingback: IOT : What is Mqtt ? How it is lightweight ? | Knoldus

  4. Pingback: Scala-IOT: Getting started with RaspberryPi without Monitor or Screen. | Knoldus

  5. Pingback: Scala – IOT : First basic IOT application using Scala on RaspberryPi | Knoldus

  6. Pingback: Spark – IoT : Combining Big Data Analysis with IoT | Knoldus

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s