UNIT-I
INTRODUCTION TO IoT
IoT comprises things that have unique identities and are connected to internet. By
2020 there will be a total of 50 billion devices /things connected to internet. IoT is
not limited to just connecting things to the internet but also allow things to
communicate and exchange data.
Definition:
A dynamic global n/w infrastructure with self configuring capabilities based on
standard and interoperable communication protocols where physical and virtual
―things‖ have identities, physical attributes and virtual personalities and use
intelligent interfaces, and are seamlessly integrated into information n/w, often
communicate data associated with users and their environments.
Characteristics:
   1) Dynamic & Self Adapting: IoT devices and systems may have the capability
      to dynamically adapt with the changing contexts and take actions based on
      their operating conditions, user‘s context or sensed environment.
       Eg: the surveillance system is adapting itself based on context and changing
      conditions.
   2) Self Configuring: allowing a large number of devices to work together to
      provide certain functionality.
   3) Inter Operable Communication Protocols: support a number of
      interoperable communication protocols ads can communicate with other
      devices and also with infrastructure.
   4) Unique Identity: Each IoT device has a unique identity and a unique
      identifier(IP address).
   5) Integrated into Information Network: that allow them to communicate and
      exchange data with other devices and systems.
Applications of IoT:
   1) Home
   2) Cities
   3) Environment
   4) Energy
   5) Retail
   6) Logistics
   7) Agriculture
   8) Industry
                                                                                    1
                         Applications of IoT
Physical Design Of IoT
  1) Things inIoT:
                                               2
The things in IoT refers to IoT devices which have unique identities and perform
remote sensing, actuating and monitoring capabilities. IoT devices can exchange
data with other connected devices applications. It collects data from other devices
and process data either locally or remotely.
An IoT device may consist of several interfaces for communication to other devices
both wired and wireless. These includes (i) I/O interfaces for sensors, (ii) Interfaces
for internet connectivity
(iii) memory and storage interfaces and (iv) audio/video interfaces.
2) IoT Protocols:
     a) Link Layer: Protocols determine how data is physically sent over the
        network‘s physical layer or medium. Local network connect to which host is
        attached. Hosts on the same link exchange data packets over the link layer
        using link layer protocols. Link layer determines how packets are coded and
        signaled by the h/w device over the medium to which the host is attached.
                                                                                     3
Protocols:
     802.3-Ethernet: IEEE802.3 is collection of wired Ethernet standards for the
       link layer. Eg: 802.3 uses co-axial cable; 802.3i uses copper twisted pair
       connection; 802.3j uses fiber optic connection; 802.3ae uses Ethernet
       overfiber.
     802.11-WiFi: IEEE802.11 is a collection of wireless LAN(WLAN)
       communication standards including extensive description of link layer. Eg:
       802.11a operates in 5GHz band, 802.11b and 802.11g operates in 2.4GHz
       band, 802.11n operates in 2.4/5GHz band, 802.11ac operates in 5GHz band,
       802.11ad operates in 60Ghzband.
     802.16 - WiMax: IEEE802.16 is a collection of wireless broadband standards
       including exclusive description of link layer. WiMax provide data rates from
       1.5 Mb/s to 1Gb/s.
     802.15.4-LR-WPAN: IEEE802.15.4 is a collection of standards for low rate
       wireless personal area network(LR-WPAN). Basis for high level
       communication protocols such as ZigBee. Provides data rate from 40kb/s
       to250kb/s.
     2G/3G/4G-Mobile Communication: Data rates from 9.6kb/s(2G) to up
       to100Mb/s(4G).
    B) Network/Internet Layer: Responsible for sending IP datagrams from source
       n/w to destination n/w. Performs the host addressing and packet routing.
                                                                                  4
      Datagrams contains source and destination address.
  Protocols:
      IPv4: Internet Protocol version4 is used to identify the devices on a n/w
        using a hierarchical addressing scheme. 32 bit address. Allows total of
        2**32addresses.
       IPv6: Internet Protocol version6 uses 128 bit address scheme and allows
        2**128 addresses.
       6LOWPAN:(IPv6overLowpowerWirelessPersonalAreaNetwork)operates
        in 2.4 GHz frequency range and data transfer 250 kb/s.
C) Transport Layer: Provides end-to-end message transfer capability independent
of the underlying n/w. Set up on connection with ACK as in TCP and without ACK
as in UDP. Provides functions such as error control, segmentation, flow control and
congestion control.
 Protocols:
     TCP: Transmission Control Protocol used by web browsers(along with
       HTTP and HTTPS), email(along with SMTP, FTP). Connection oriented and
       stateless protocol. IP Protocol deals with sending packets, TCP ensures
       reliable transmission of protocols in order. Avoids n/w congestion and
       congestion collapse.
     UDP: User Datagram Protocol is connectionless protocol. Useful in time
       sensitive applications, very small data units to exchange. Transaction oriented
       and stateless protocol. Does not provide guaranteed delivery.
D) Application Layer: Defines how the applications interface with lower layer
protocols to send data over the n/w. Enables process-to-process communication
usingports.
 Protocols:
    HTTP: Hyper Text Transfer Protocol that forms foundation of WWW.
      Follow request- response model Statelessprotocol.
    CoAP: Constrained Application Protocol for machine-to-machine(M2M)
      applications with constrained devices, constrained environment and
      constrained n/w. Uses client- server architecture.
    WebSocket: allows full duplex communication over a single
      socketconnection.
    MQTT: Message Queue Telemetry Transport is light weight messaging
      protocol based on publish-subscribe model. Uses client server architecture.
                                                                                    5
     Well suited for constrained environment.
    XMPP: Extensible Message and Presence Protocol for real time
     communication and streaming XML data between network entities. Support
     client-server and server-server communication.
    DDS: Data Distribution Service is data centric middleware standards for
     device-to- device or machine-to-machine communication. Uses publish-
     subscribemodel.
    AMQP: Advanced Message Queuing Protocol is open application layer
     protocol for business messaging. Supports both point-to-point and publish-
     subscribemodel.
LOGICAL DESIGN of IoT
  Refers to an abstract represent of entities and processes without going into the
  low level specifies of implementation.
  1) IoT Functional Blocks
  2) IoT Communication Models
  3) IoT Communication APIs
   1) IoT Functional Blocks: Provide the system the capabilities               for
      identification, sensing, actuation, communication and management.
                                                                                 6
      Device: An IoT system comprises of devices that provide sensing, actuation,
       monitoring and control functions.
      Communication: handles the communication for IoTsystem.
      Services: for device monitoring, device control services, data publishing
       services and services for device discovery.
      Management: Provides various functions to govern the IoT system.
      Security: Secures IoT system and priority functions such as authentication,
       authorization, message and context integrity and data security.
      Application: IoT application provide an interface that the users can use to
       control and monitor various aspects of IoT system.
   2) IoT Communication Models:
   1) Request-Response
   2) Publish-Subscribe
   3) Push-Pull
   4) Exclusive Pair
   1) Request-ResponseModel:
In which the client sends request to the server and the server replies to requests. Is a
stateless communication model and each request-response pair is independent of
others.
                                                                                      7
   2) Publish-Subscribe Model:
Involves publishers, brokers and consumers. Publishers are source of data.
Publishers send data to the topics which are managed by the broker. Publishers are
not aware of the consumers. Consumers subscribe to the topics which are managed
by the broker. When the broker receives data for a topic from the publisher, it sends
the data to all the subscribed consumers.
   3) Push-Pull Model:
   In which data producers push data to queues and consumers pull data from the
   queues. Producers do not need to aware of the consumers. Queues help in
   decoupling the message between the producers and consumers.
                                                                                   8
   4) Exclusive Pair:
    Is bi-directional, fully duplex communication model that uses a persistent
   connection between the client and server. Once connection is set up it remains
   open until the client send a request to close the connection. Is a stateful
   communication model and server is aware of all the open connections.
3) IoT CommunicationAPIs:
a) REST based communication APIs(Request-Response BasedModel)
b) WebSocket based Communication APIs(Exclusive PairBasedModel)
a) REST based communication APIs: Representational State Transfer(REST) is a
set of architectural principles by which we can design web services and web APIs
that focus on a system‘s resources and have resource states are addressed and
transferred.
The REST architectural constraints: Fig. shows communication between client
server with REST APIs.
                                                                               9
 Client-Server: The principle behind client-server constraint is the separation of
 concerns. Separation allows client and server to be independently developed and
 updated.
 Stateless: Each request from client to server must contain all the info. Necessary to
 understand the request, and cannot take advantage of any stored context on the
 server.
 Cache-able: Cache constraint requires that the data within a response to a request be
 implicitly or explicitly labeled as cache-able or non-cacheable. If a response is
 cache-able, then a client cache is given the right to reuse that response data for later,
 equivalent requests.
 Layered System: constraints the behavior of components such that each
 component cannot see beyond the immediate layer with which they are interacting.
 User Interface: constraint requires that the method of communication between a
 client and a server must be uniform.
 Code on Demand: Servers can provide executable code or scripts for clients to
 execute in their context. This constraint is the only one that is optional.
Request-Response model used by REST:
                                                                                       10
RESTful webservice is a collection of resources which are represented by URIs.
RESTful web API has a base URI(e.g: http://example.com/api/tasks/). The clients
and requests to these URIs using the methods defined by the HTTP protocol(e.g:
GET, PUT, POST or DELETE). A RESTful web service can support various
internet media types.
    b) WebSocket Based Communication APIs: WebSocket APIs allow bi-
       directional, full duplex communication between clients and servers.
      WebSocket APIs follow the exclusive pair communication model.
IoT Enabling Technologies
   IoT is enabled by several technologies including Wireless Sensor Networks,
   Cloud Computing, Big Data Analytics, Embedded Systems, Security Protocols
   and architectures, Communication Protocols, Web Services, Mobile internet and
   semantic search engines.
   1) Wireless Sensor Network(WSN): Comprises of distributed devices with
      sensors which are used to monitor the environmental and physical conditions.
      Zig Bee is one of the most popular wireless technologies used by WSNs.
      WSNs used in IoT systems are described as follows:
          Weather Monitoring System: in which nodes collect temp, humidity
            and other data, which is aggregated and analyzed.
          Indoor air quality monitoring systems: to collect data on the indoor air
            quality and concentration of various gases.
                                                                                11
       Surveillance Systems: use WSNs for collecting surveillance
        data(motion data detection).
       Smart Grids: use WSNs for monitoring grids at various points.
         Structural Health Monitoring Systems: Use WSNs to monitor the
          health of structures(building, bridges) by collecting vibrations from
          sensor nodes deployed at various points in thestructure.
2) Cloud Computing: Services are offered to users in different forms.
       Infrastructure-as-a-service(IaaS):provides users the ability to provision
        computing and storage resources. These resources are provided to the
        users as a virtual machine instances and virtual storage.
       Platform-as-a-Service(PaaS): provides users the ability to develop and
        deploy application in cloud using the development tools, APIs,
        software libraries and services provided by the cloud service provider.
       Software-as-a-Service(SaaS): provides the user a complete software
        application or the user interface to the application itself.
3) Big Data Analytics: Some examples of big data generated by IoT are
       Sensor data generated by IoT systems.
       Machine sensor data collected from sensors established in industrial
        and energy systems.
       Health and fitness data generated IoT devices.
       Data generated by IoT systems for location and tracking vehicles.
       Data generated by retail inventory monitoringsystems.
4) Communication Protocols: form the back-bone of IoT systems and enable
   network connectivity and coupling toapplications.
       Allow devices to exchange data overnetwork.
       Define the exchange formats, data encoding addressing schemes for
        device and routing of packets from source todestination.
       It includes sequence control, flow control and retransmission of
        lostpackets.
5) Embedded Systems: is a computer system that has computer hardware and
   software embedded to perform specific tasks. Embedded System range from
   low cost miniaturized devices such as digital watches to devices such as
   digital cameras, POS terminals, vending machines, appliancesetc.,
                                                                              12
IoT Levels and Deployment Templates
 1) IoT Level1: System has a single node that performs sensing and/or actuation,
    stores data, performs analysis and host the application as shown in fig.
    Suitable for modeling low cost and low complexity solutions where the data
    involved is not big and analysis requirement are not computationally
    intensive. An e.g., of IoT Level1 is Home automation.
                                                                             13
2) IoT Level2: has a single node that performs sensing and/or actuating and
  local analysis as shown in fig. Data is stored in cloud and application is
  usually cloud based. Level2 IoT systems are suitable for solutions where data
  are involved is big, however, the primary analysis requirement is not
  computationally intensive and can be done locally itself. An e,g., of Level2
  IoT system for SmartIrrigation.
3) IoT Level3: system has a single node. Data is stored and analyzed in the
  cloud application is cloud based as shown in fig. Level3 IoT systems are
  suitable for solutions where the data involved is big and analysis
  requirements are computationally intensive. An example of IoT level3
  system for tracking package handling.
                                                                            14
4) IoT Level4: System has multiple nodes that perform local analysis. Data is
   stored in the cloud and application is cloud based as shown in fig. Level4
   contains local and cloud based observer nodes which can subscribe to and
   receive information collected in the cloud from IoT devices. An example of a
   Level4 IoT system for Noise Monitoring.
5) IoT Level5: System has multiple end nodes and one coordinator node as
                                                                            15
shown in fig. The end nodes that perform sensing and/or actuation.
Coordinator node collects data from the end nodes and sends to the cloud.
Data is stored and analyzed in the cloud and application is cloud based.
Level5 IoT systems are suitable for solution based on wireless sensor
network, in which data involved is big and analysis requirements are
computationally intensive. An example of Level5 system for Forest Fire
Detection.
                                                                       16
6) IoT Level6: System has multiple independent end nodes that perform
  sensing and/or actuation and sensed data to the cloud. Data is stored in the
  cloud and application is cloud based as shown in fig. The analytics
  component analyses the data and stores the result in the cloud data base. The
  results are visualized with cloud based application. The centralized controller
  is aware of the status of all the end nodes and sends control commands to
  nodes. An example of a Level6 IoT system for Weather Monitoring System.
                                                                              17
DOMAIN SPECIFIC IoTs
   1) Home Automation:
      a) Smart Lighting: helps in saving energy by adapting the lighting to the
         ambient conditions and switching on/off or diming the light when needed.
      b) Smart Appliances: make the management easier and also provide status
         information to the users remotely.
      c) Intrusion Detection: use security cameras and sensors(PIR sensors and
         door sensors) to detect intrusion and raise alerts. Alerts can be in the form
         of SMS or email sent to the user.
      d) Smoke/Gas Detectors: Smoke detectors are installed in homes and
         buildings to detect smoke that is typically an early sign of fire. Alerts
         raised by smoke detectors can be in the form of signals to a fire alarm
         system. Gas detectors can detect the presence of harmful gases such as
         CO, LPG etc.,
     2) Cities:
        a) Smart Parking: make the search for parking space easier and convenient
             for drivers. Smart parking are powered by IoT systems that detect the no. of
             empty parking slots and send information over internet to smart application
             backends.
        b)   Smart Lighting: for roads, parks and buildings can help in saving energy.
        c)   Smart Roads: Equipped with sensors can provide information on driving
             condition, travel time estimating and alert in case of poor driving
             conditions, traffic condition and accidents.
        d)   Structural Health Monitoring: uses a network of sensors to monitor the
             vibration levels in the structures such as bridges and buildings.
        e)   Surveillance: The video feeds from surveillance cameras can be
             aggregated in cloud based scalable storage solution.
        f)   Emergency Response: IoT systems for fire detection, gas and water
             leakage detection can help in generating alerts and minimizing their
             effects on the critical infrastructures.
                                                                                      18
3) Environment:
   a) Weather Monitoring: Systems collect data from a no. of sensors
        attached and send the data to cloud based applications and
        storage back ends. The data collected in cloud can then be
        analyzed and visualized by cloud based applications.
   b)   Air Pollution Monitoring: System can monitor emission of
        harmful gases(CO2, CO, NO, NO2 etc.,) by factories and
        automobiles using gaseous and meteorological sensors. The
        collected data can be analyzed to make informed decisions on
        pollutions control approaches.
   c)   Noise Pollution Monitoring: Due to growing urban
        development, noise levels in cities have increased and even
        become alarmingly high in some cities. IoT based noise
        pollution monitoring systems use a no. of noise monitoring
        systems that are deployed at different places in a city. The data on
        noise levels from the station is collected on servers or in the
        cloud. The collected data is then aggregated to generate noise
        maps.
   d)   Forest Fire Detection: Forest fire can cause damage to natural
        resources, property and human life. Early detection of forest fire
        can help in minimizing damage.
   e)   River Flood Detection: River floods can cause damage to
        natural and human resources and human life. Early warnings of
        floods can be given by monitoring the water level and flow rate.
        IoT based river flood monitoring system uses a no. of sensor
        nodes that monitor the water level and flow rate sensors.
4) Energy:
   a) Smart Grids: is a data communication network integrated with
      the electrical grids that collects and analyze data captured in
      near-real-time about power transmission, distribution and
      consumption. Smart grid technology provides predictive
      information and recommendations to utilities, their suppliers,
      and their customers on how best to manage power. By using IoT
      based sensing and measurement technologies, the health of
      equipment and integrity of the grid can be evaluated.
   b) Renewable Energy Systems: IoT based systems integrated with
      the transformers at the point of interconnection measure the
                                                                         19
      electrical variables and how much power is fed into the grid. For
      wind energy systems, closed-loop controls can be used to
      regulate the voltage at point of interconnection which coordinate
      wind turbine outputs and provides power support.
   c) Prognostics: In systems such as power grids, real-time
      information is collected using specialized electrical sensors
      called Phasor Measurment Units(PMUs) at the substations. The
      information received from PMUs must be monitored in real-time
      for estimating the state of the system and for predicting failures.
5) Retail:
   a) Inventory   Management: IoT systems enable remote
      monitoring of inventory using data collected by RFID readers.
   b) Smart Payments: Solutions such as contact-less payments
      powered     by    technologies     such    as Near    Field
      Communication(NFC) and Bluetooth.
   c) Smart Vending Machines: Sensors in a smart vending
      machines monitors its operations and send the data to cloud
      which can be used for predictive maintenance.
6) Logistics:
   a) Route generation & scheduling: IoT based system backed by
      cloud can provide first response to the route generation queries
      and can be scaled upto serve a large transportation network.
   b) Fleet Tracking: Use GPS to track locations of vehicles in real-
      time.
   c) Shipment Monitoring: IoT based shipment monitoring systems
      use sensors such as temp, humidity, to monitor the conditions and
      send data to cloud, where it can be analyzed to detect food
      spoilage.
   d) Remote Vehicle Diagnostics: Systems use on-board IoT
      devices for collecting data on Vehicle operations(speed,
      RPMetc.,) and status of various vehicle subsystems.
7) Agriculture:
   a) Smart Irrigation: To determine moisture amount in soil and
      release the flow of water through the irrigation pipes only when
      the moisture levels go below a predefined threshold.
   b) Green House Control: The temperature, humidity, soil
      moisture, light and carbon dioxide levels are monitored using
      sensors and climatological conditions are controlled
                                                                      20
     automatically using actuation devices. IoT systems play an
     important role in green house control and improve productivity.
8) Industry:
   a) Machine diagnosis and prognosis: Machine prognosis refers to
     predicting the performance of a machine by analyzing the data
     on the current operating conditions and how much deviations
     eist from the normal operating conditions. Machine diagnosis
     refers to determining the cause of a machine fault. IoT plays a
     major role in both prognosis and diagnosis of industrial
     machines.
  b) Indoor Air Quality Monitoring: The harmful and toxic gases
     such as carbo monoxide(CO) ,NO,NO2,etc.,can cause serious
     health problems. ASN based IoT devices can identify the
     hazardous xzones, so that corrective measures can be taken to
     ensure proper ventilation.
9) Health and LifeStyle:
   a) Health & Fitness Monitoring: Wearable IoT devices that allow
     continuous monitoring of physiological parameters can help in
     continuous health and fitness monitoring. Commonly used body
     sensors include: Body temperature, heart rate, pulse oxygen
     saturation, blood pleasure, ECG. Fitbit wristband wearable
     device tracks steps, distance, and calories burned during day.
  b) Wearable Electronics: Wearable electronics such as wearable
     gadgets and fashion electronics provide various functions and
     features to assist us in our daily activities and making us lead
     healthy lifestyles. With smart watches, the users can search the
     internet, play audio/video files, make calls, play games and use
     various kings of mobile applications. Smart glasses allow users
     to take photos and record videos, get map directions, check flight
     status. Smart shoes monitor the walking or running speeds and
     jumps with the help of embedded sensors and be paired with
     smart-phones to visualize the data. Smart wristbands can track
     the daily exercise and calories burnt.
                                                                    21