IoT Solutions - Architecture/Design And Business Aspects

IoT Overview - What is IoT?

 
IoT is not in the future, it is now; it has already started being part of our day-to-day life.
 
IoT is the abbreviated term meaning "Internet of Things". By definition Internet of Things is the inter-networking of physical devices, vehicles (also referred to as "connected devices" and "smart devices"), buildings, and other items embedded with electronics, software, sensors, actuators, and network connectivity which enable these objects to collect and exchange data.
 
Simply put, it means things over the internet, so what are the things? A thing can be a device, a smart phone, a vehicle, an entire building or just a wrist watch.
This gives you the ability to find such physical things via an IP address or unique address and to provide the ability to communicate over the internet together, this is the "Internet of Things" i.e. IoT.
 
The IoT gives us the ability to connect and operate every other thing we use in day to day life without touching it in person, instead of accessing it from a remote location.
You can switch on your bedroom AC or bathroom geyser through your mobile device from your office or traveling, so by the time you get home your room would be cool and your shower would be hot.
 
Or you can control your home lighting on your phone.
 
IoT
 
Image Courtesy: http://www.knowxindia.com/sites/default/files/images/content-images/iot-devices-usage.png 
 
So how does this work? 
 
With the help of cloud computing. Below is a rough sketch of it,
 
IoT
 
  • Devices are connected to the cloud application and the cloud application communicates with your mobile application.
  • It takes messages from your mobile app and sends them back to your devices.
  • The cloud handles the scalability and concurrency.
  • Device could be a smart device or non-smart regular device.
 
What are Smart Devices and Non-Smart devices?
 
Classic Rolex or iWatch.
 
Smart
 
Smart Phone, Fitbit, Smart TV. These are devices which support the Internet protocol or IP Capable Devices with WI-FI connectivity, they have the ability to communicate with the internet on their own.
 
Non-Smart
 
They need a Gateway; An IoT gateway aggregates sensor data translates between sensor protocols and processes sensor data before sending it onward and more.
Examples are things like Fryers, Boilers, Lights, Construction Crane, Vending machines, etc.
 
Raspberry pi is a popular device for IoT projects, for non-smart devices.
 
Sample IoT Project Architecture
 
IoT
 
It requires a basic understanding of architecture and its components to lead the IoT project.
 
Here are three major components:
  1. Device Communication
  2. Cloud Applications
  3. Presentation, Application Development
Device Communication
 
Deals with IoT smart devices as well as non-IoT devices. Understanding various communication protocols and SDKs to get device state, data from the device as well as send updates to the device itself.
 
List of protocols used over IoT communication:
  • Infrastructure (ex: 6LowPAN, IPv4/IPv6, RPL)
  • Identification (ex: EPC, uCode, IPv6, URIs)
  • Comms / Transport (ex: Wifi, Bluetooth, LPWAN, ZigBee, Zwave)
  • Discovery (ex: Physical Web, mDNS, DNS-SD)
  • Data Protocols (ex: MQTT, CoAP, AMQP, Websocket, Node)
  • Device Management (ex: TR-069, OMA-DM)
  • Semantic (ex: JSON-LD, Web Thing Model)
  • Multi-layer Frameworks (ex: Alljoyn, IoTivity, Weave, Homekit)
Cloud Applications
 
Cloud Leaders
  • Microsoft Azure
  • Amazon AWS
  • Google Cloud
Above are examples of cloud facilitators. You can use them to implement your IoT solution.
 
Microsoft Azure has created a special support project called "Azure IoT Hub". AWS also has launched IoT apps recently.
 
IoT Hub provides many cost-effective features for device communication. Sending messages to 100,000 devices would be a lot cheaper with IoT Hub.
 
Presentation Development
 
This includes Mobile Apps and responsive web application development, which will need to focus on UI programming.
 
Programming languages popular with IoT:
 
C++, Java, Python, C#, NodeJS, etc. 
 
Why IoT?
 
There are many Business aspects of IoT as it has opened opportunities providing technology-based products in day-to-day life. IoT has become a top business initiative for many companies.
 
There is a significant impact of IoT over the tech industry, with the world moving towards automation, cheaper and smarter technological solutions over traditional solutions.
Some examples of IoT projects:
  • Smarter Natural Disaster Management:
Smarter detection of and reaction to forest fires, mudslides, avalanches, earthquakes, and other natural disasters. 
  • Smarter Urban Management - traffic analysis, smarter parking, etc
  • Smarter Healthcare - wearable devices.
  • Smart Retail.
  • Smart City.
Some Predictions
 
By 2020 it will be a trillion-dollar industry and there could be up to a billion connected devices.
 
For more details or information please visit the referenced links.
 
References
  • https://docs.microsoft.com/en-us/azure/iot-suite/iot-suite-what-is-azure-iot
  • https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-security-architecture
  • https://www.ariasystems.com/blog/internet-things-important/#sthash.d6ycRJ1y.dpuf
  • http://iotlist.co/
  • http://www.business-standard.com/article/management/the-growth-of-iot-market-115041900631_1.html
  • https://www.upwork.com/hiring/development/internet-of-things-platforms-and-programs-you-need-to-know/
  • http://www.baselinemag.com/networking/slideshows/a-brief-history-of-the-internet-of-things.html
  • https://www.developer-tech.com/news/2016/apr/20/research-iot-developer-survey-reveals-popular-technologies/
  • https://www.postscapes.com/internet-of-things-protocols/