iot

37

Upload: ananth-kumar

Post on 13-Jan-2017

171 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: IoT
Page 2: IoT

Table of Contents What is IOT? Anatomy of an Embedded System Anatomy of an IOT device Sample IoT Device(s) Difference between Microcontroller and Microprocessor IoT Device Platforms (Hardware) IoT Categories Consumer IoT-Models/Approaches

IoT vs Web protocol stack IoT Open Source Software frameworks IoT Development Tools Cloud based IoT Platforms The IoT Technology Landscape IoT Reference Architecture

Page 3: IoT

What is IOT? IOT stands for “Internet of Things”. Term was first coined by Kevin Ashton in year 1999. Refers to connectivity amongst various things and with the internet. Things here refer to a physical object containing an embedded system(electronic circuit)

within it. Things with ability to communicate with other things or with the internet can be termed as

an IOT device.

Page 4: IoT

Anatomy of an embedded system

Page 5: IoT

Anatomy of an IOT device.

Page 6: IoT

IoT Devices Plethora of IoT devices available in the market like apple watch, activity trackers The most ubiquitous of them is the SMARTPHONE Smartphone has internet connectivity and it contains the following sensors built within.

Accelerometer – Able to measure the speed of the device. Gyroscope – Provides orientation/rotation information Magnetometer – Detects magnetic fields, compass applications uses it. Light Sensor – Measure how bright light is Barometer – Measures pressure Proximity Sensor Camera Microphone GPS Receiver

Many apps use this sensor information for ex:- Compass app uses magnetometer to give the direction of the north pole. App could adjust the brightness of the screen automatically based on the light sensor.

Page 7: IoT

Difference between microcontroller and microprocessor

Microcontroller MicroprocessorAn IC with Processor, RAM, ROM and I/O ports on a single chip. It is a low cost computer.

An IC with only processor within it.

Cheaper Expensive

Can be used for standalone. Cannot be used as standalone. Need RAM,ROM and I/O ports.

Designed for specific tasks where input and output is clearly defined. Ex: Washing Machine, Oven

Designed for tasks like developing software, games, websites, photo editing, creating documents.

Page 8: IoT

IOT Device PlatformsHardware Software

ProgrammingCategory Operatin

g SystemIDE

Arduino Arduino Language Microcontroller No OS Arduino IDE

Raspberry Pi Python/JavaScript Single Board Computer containing a microprocessor.

Linux based

Beaglebone Python/JavaScript Single Board Computer containing a microprocessor

Linux based

Intel Edison Python/JavaScript/Java

Single Board Computer containing a microprocessor

Linuxbased

Intel Galileo Arduino Language Microcontroller No OS Arduino IDE

Page 9: IoT

Arduino Board(s) Is an open-source electronics platform based on easy to use hardware and software. Typically, these boards are microcontroller boards which means that it has no OS running

on top of it and will be able to run a minimalistic program. Arduino board can be connected to a PC through USB port. Programs a.k.a sketches are written using Arduino Language, which is merely a set of

C/C++ functions. Arduino Software(IDE): It is a text editor which can be used to write sketches and enables

us to upload sketches onto the Arduino board. Arduino IDE is cross platform and can run on either Windows/Mac/Linux as it is Java based.

Arduino shields are smaller add-on boards that connect to the Arduino board to perform functions such as sensing heat, light, GPS tracking, etc..

Used if our application is core hardware centric(using sensors and actuators).

Page 10: IoT

Raspberry Pi/ Intel Edison / Beaglebone

It is a low-cost, credit card size single board computer(SBC) primarily intended for teaching computer science in schools.

It runs a Linux distro. Mostly Python/JavaScript programming is used and Java to a certain extent.

Page 11: IoT

IoT Categories Industrial IoT

Used is large scale industries to provide insights into the functioning of an enterprise and help to take appropriate decisions.

Machines take decisions, Real-time. Sub-Categories: Manufacturing, Logistics and Supply Chain industries

Commercial/Consumer IoT Characterized by human interacting with a device. Usage: By individuals to enhance their life and style. Sub-Categories: Wearables, Home Automation, Smart Appliances

Page 12: IoT

Consumer IoT Sub-CategoriesCategory Examples Connection PowerWearables Pebble Watch,

Misfit ShineBLE(Bluetooth Low Energy)

Battery based

Home Automation Apple HomekitSamsung SmartThingsGoogle Brillo +Weave

Wi-FiZigbeeZ-Wave

Mains and Battery

Smart Appliances CloudWash Wi-Fi Mains

Media ChromecastApple TVSonos

Wi-Fi Mains

Page 13: IoT

IoT Market Segments

Page 14: IoT

Smartphone Centric Architecture Consists of a smartphone and an IoT device which can communicate using wireless

communication technologies like Bluetooth,

Page 15: IoT

Smartphone Centric Architecture(Cont.…) Details

A android/iOS phone could have an app installed on it. This app will communicate with the Bluetooth enabled IoT Device using the respective API. Typical example could be a Bluetooth key finder.

Usage Users will have to install the app on their device and keep it open. The Bluetooth IoT device can be tagged to a bunch of keys/or any physical device and Bluetooth

should be enabled on that device by pressing a button. Register this Bluetooth device in the mobile app. On click of a button in the app, it will send a signal to the Bluetooth device which will start

beeping.

Page 16: IoT

Hub Centric Architecture

The main components are Smartphone Hub One or more IoT Device(s) Cloud

Page 17: IoT

Hub Centric Architecture(Cont.…) Smartphone: A mobile app is installed on the Smartphone. Hub: A Hub is a gateway device which acts an interconnection medium for all the IoT

devices. It communicates with the IoT devices via various protocols namely ZigBee/Bluetooth Low Energy /Z-Wave. It also has capability for storing and sending data to the cloud.

Cloud: Used for storing data for analytics. Examples of such systems in the home automation space namely

Apple HomeKit / Samsung SmartThings / Google Brillo +Weave. Uses:

IoT devices can be invoked via the smartphone app which communicates with the hub which in turn communicates with the IoT device.

Hub can push notifications to the app in case of any anomalies in the IoT device. Hub could also send data periodically to the cloud to analyze and monitor the IoT devices.

Page 18: IoT

IoT vs Web protocol Stack

Page 19: IoT

IoT Application Layer Protocols CoAP (Constrained Application Protocol)

Client/Server Protocol, Runs over UDP. Light Weight compared to HTTP Specifically designed for devices operating in constrained environment(Low power, Low

bandwidth) CoAP server would be running on a IoT device at a particular port. CoAP client from another device could connect to the server to fetch details. CoAP provides GET,PUT,POST,DELETE on lines of REST. CoAP implementations

Erbium,lipcoap which are C based implementations Californium which is Java based More details at http://coap.technology/impls.html

Page 20: IoT

CoAP example

Page 21: IoT

MQTT Protocol (Message Queue Telemetry Transport) Based on Pub/Sub Model on top of TCP/IP protocol. System consists of publishers and subscribers. Publishers push information to the broker and

subscribers fetch information from the broker Light Weight, suitable for constrained devices. MQTT brokers

HiveMQ IBM MessageSight ActiveMQ RabbitMQ

Page 22: IoT

MQTT example

Page 23: IoT

Typical Scenario

Page 24: IoT

IoT Wireless Communication Protocols

Bluetooth Low Energy (a.k.a BLE)

NFC

Zigbee

Z-Wave

Wi-Fi

Cellular

Page 25: IoT

Wireless Communication Protocols(Contd..) Bluetooth Low Energy (BLE)

Short range wireless communication protocol. A variant of classic Bluetooth. Suited for constrained devices with low power and low bandwidth Typically, used for communication between wearables/peripherals and mobile(through apps). Ex:- Beacon, Tracking device

ZigBee Industry stand wireless networking technology based on IEEE 802.15.4 Low power, High security and high scalability with high node counts. Typically used in home automation, Industrial control

Page 26: IoT

Wireless Communication Protocols(Contd..) Z-Wave

Low power RF(Radio Frequency) technology Primarily designed for home automation.

Wi-Fi Fast data transfer. Ability to handle large quantities of data.

Cellular Can leverage existing smartphone infrastructure. 3G/4G data transfer is quite fast.

Page 27: IoT

IDE Tools Platform.io

Cross platform(Windows/Mac/Linux) IDE for building code and packaging which is microcontroller agnostic.

Could be used instead of Arduino IDE which caters only to Arduino. Integrates with popular IDEs like Eclipse, Visual Studio, Clion and SublimeText. Ability to create starter projects for various MCUs like Arduino and mBed

Page 28: IoT

Why do we need IoT software framework Each device comes with its own app hence, proliferation of apps on the smartphone. Integration is difficult. Different devices speak different language

Page 29: IoT

IoT open source Frameworks If there a multitude of devices which have to communicate with each other then we would

need a consistent software framework instead of writing code from scratch. The below are open source software which will get us started if we want to build an app

on the Hub Centric Architecture. AllJoyn IoTivity

The above frameworks are analogous to the Spring, Struts in the web development space.

Page 30: IoT

Open source IoT software framework sponsored by Open Interconnect Consortium(OIC) which consists of companies like Samsung and Intel.

Common IoT base framework that can span across various industry segments like automotive, enterprise, consumer, health, etc..

Core functionality has been written in C. Currently it supports Java, C++ bindings for developing application code. Supports the following platforms namely Android,Linux,Tizen and Arduino. The IoTivity SDK has to be installed on the IoT devices and then we could start using their

APIs.

Page 31: IoT

An open source framework for IoT developed by AllSeen Alliance consisting of

Qualcomm, Cisco, Panasonic, etc.… Core framework has been written in C++. Supports Java, Objective-C, JavaScript, C bindings. Each device describe their capabilities via service interfaces on a virtual bus. Supports the following platforms like Android, Linux, iOS, Windows and Arduino It works as a mesh network instead of a central hub.

Page 32: IoT

Why IoT Cloud Platforms There are typically three aspects to implement an IoT application end to end.

The myriad physical devices, gateway have to be connected to the internet. These devices have embedded s

Ingestion Tier: The software and the infrastructure required to gather data from the devices and organize it accordingly.

Analytics Tier: Takes the organized data and processes it appropriately. End User App: Web App or Mobile App provides visual dashboards which provide us with insights.

If no IoT platform is used, we have to develop the entire ecosystem which takes lot of effort

If we leverage on IoT platforms, we only have to take care of the last two tiers. The devices, their connectivity and the ingestion is taken care of by the IoT cloud platform.

Page 33: IoT

IoT Cloud Platforms Xively ThingWorx Buglabs Carriots SeeControl IBM IoT Foundation

Page 34: IoT

IoT TechnologyLandscape

Page 35: IoT
Page 37: IoT

THANK YOU