Chapter 1 Introduction to IoT PDF
Document Details
2015
Arshdeep Bahga, Vijay Madisetti
Tags
Summary
This document is an introduction to the Internet of Things (IoT). It covers key concepts, characteristics, and capabilities of IoT devices, focusing on various communication protocols and intelligent interfaces. It also introduces the different levels of IoT deployment.
Full Transcript
Chapter 1 Introduction to IoT Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Outline IoT definition Characteristics of IoT Physical Design of IoT Logical Design of IoT IoT Protocols IoT Levels & Deployment Templates Book website: http://www.i...
Chapter 1 Introduction to IoT Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Outline IoT definition Characteristics of IoT Physical Design of IoT Logical Design of IoT IoT Protocols IoT Levels & Deployment Templates Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Definition of IoT A dynamic global network 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 the information network, often communicate data associated with users and their environments. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Self-configuring "Self-configuring" in the context of the Internet of Things (IoT) refers to the ability of devices and systems to automatically configure themselves without requiring manual intervention. This capability enhances the scalability, efficiency, and adaptability of IoT systems. Interoperability Interoperability in the Internet of Things (IoT) refers to the ability of different devices, systems, and applications to work together seamlessly, enabling them to exchange data and utilize each other's functionalities. This is crucial for developing a cohesive IoT ecosystem, where diverse devices from various manufacturers can communicate and operate effectively. intelligent Interfaces in IoT Intelligent interfaces in the Internet of Things (IoT) refer to user interfaces that leverage data, context, and advanced technologies to enhance user interaction with IoT devices and systems. These interfaces aim to provide more intuitive, efficient, and personalized experiences for users. Key Features of Intelligent Interfaces 1.Natural Language Processing (NLP): Enables users to interact with devices using natural language through voice commands or text. 2.Context Awareness: Interfaces can adapt based on the user's context, such as location, time of day, and current activity, to provide relevant information and options. 3.Machine Learning (ML): Uses algorithms to learn from user behaviors and preferences, allowing the interface to improve over time and offer personalized recommendations. 4.Visual Analytics: Provides graphical representations of data, making complex information more understandable and actionable for users. 5.Gesture and Touch Control: Supports touch, gesture, and even facial recognition for navigating interfaces, enhancing user engagement. 6.Augmented Reality (AR): Integrates virtual elements into the real world, allowing users to visualize data or control devices in an immersive manner. Characteristics of IoT Dynamic & Self-Adapting Self-Configuring Interoperable Communication Protocols Unique Identity Integrated into Information Network Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Dynamic & Self-Adapting IoT Dynamic and self-adapting IoT refers to systems and devices that can automatically adjust their operations and configurations in response to changing conditions, environments, or user needs. This capability enhances the efficiency, resilience, and user experience of IoT applications. Key Characteristics 1.Dynamic Behavior: 1. Systems can change their functionality or resource allocation in real-time based on environmental conditions or user interactions. 2.Self-Adaptation: 1. Devices can autonomously adjust their parameters, settings, or communication protocols to optimize performance without human intervention. 3.Context Awareness: 1. Systems can perceive and interpret their surroundings, allowing them to make informed decisions based on context. 4.Learning Capabilities: Incorporates machine learning algorithms to analyze historical data and predict future behaviors or needs, enabling proactive adjustments. 5.Resilience: Ability to recover from disruptions or failures by dynamically reallocating resources or switching to backup systems. Unique Identity in IoT In the Internet of Things (IoT), the concept of unique identity is essential for identifying and managing devices within a vast network. Each IoT device must have a distinct identity to ensure effective communication, security, and data management. Methods of Assigning Unique Identities 1.Static IDs: Permanent identifiers assigned at the manufacturing stage. These are hard-coded into the device (e.g., MAC addresses). 2.Dynamic IDs: Temporary identifiers that can change based on network conditions or configurations. These are often used in systems where devices frequently join and leave the network. 3.Hierarchical Structures: Unique identities can be structured hierarchically to reflect the organization of devices (e.g., by location, type, or function). 4.Blockchain Technology: Emerging approaches use distributed ledger technology to create tamper-proof identities for devices, enhancing security and trustworthiness. Integrated into Information Network in IoT Integration into information networks is a fundamental aspect of the Internet of Things (IoT), enabling devices to communicate, share data, and collaborate effectively within larger systems. This integration enhances the functionality and utility of IoT applications across various sectors. Benefits of Integration 1.Enhanced Data Sharing: Integration allows for the seamless flow of information between devices, improving situational awareness and enabling smarter decision- making. 2.Improved Efficiency: Integrated systems can optimize resource utilization, streamline operations, and reduce redundancies by coordinating actions across devices. 3.Real-time Monitoring and Control: Integration enables real-time data collection and analysis, allowing for immediate responses to changing conditions or events. 4.Scalability: Integrated systems can easily accommodate new devices and services, facilitating growth and adaptation to changing needs. 5.Interoperability: A well-integrated IoT ecosystem ensures that devices from different manufacturers can work together, enhancing flexibility and user choice. Physical Design of IoT The "Things" in IoT usually refers to IoT devices which have unique identities and can perform remote sensing, actuating and monitoring capabilities. IoT devices can: Exchange data with other connected devices and applications (directly or indirectly), or Collect data from other devices and process the data locally or Send the data to centralized servers or cloud-based application back-ends for processing the data, or Perform some tasks locally and other tasks within the IoT infrastructure, based on temporal and space constraints Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Generic block diagram of an IoT Device An IoT device may consist of several interfaces for connections to other devices, both wired and wireless. I/O interfaces for sensors Interfaces for Internet connectivity Memory and storage interfaces Audio/video interfaces. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Protocols Link Layer 802.3 – Ethernet 802.11 – WiFi 802.16 – WiMax 802.15.4 – LR-WPAN 2G/3G/4G Network/Internet Layer IPv4 IPv6 6LoWPAN Transport Layer TCP UDP Application Layer HTTP CoAP WebSocket MQTT XMPP DDS AMQP Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Protocols CoAP, short for Constrained Application Protocol, is a specialized protocol designed for constrained devices and constrained networks, such as those found in Internet of Things (IoT) applications. It is a lightweight and efficient protocol that enables communication between devices with limited resources, such as memory, processing power, and bandwidth. WebSocket protocol is a communication protocol that provides full-duplex communication channels over a single TCP connection. It offers several advantages over traditional HTTP- based communication methods: Full-Duplex Communication, Lower Overhead, Real-Time Updates, and Cross-Domain Communication. MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol designed for efficient communication between devices in constrained or unreliable network environments. It is commonly used in Internet of Things (IoT) applications for exchanging messages between devices and applications. IoT Protocols XMPP (Extensible Messaging and Presence Protocol) is an open-standard communication protocol designed for real-time messaging, presence information, and data exchange. It is widely used for instant messaging, voice and video chat, and presence-based applications. DDS (Data Distribution Service) is a communication protocol and middleware standard designed for real-time, scalable, and interoperable data communication in distributed systems. It is commonly used in mission-critical(Failure or downtime in these systems can result in significant consequences) and high-performance applications that require reliable and efficient data exchange between different components or devices. AMQP (Advanced Message Queuing Protocol) is an open-standard messaging protocol designed for reliable and interoperable messaging between applications or components in distributed systems. It provides a framework for sending and receiving messages, ensuring reliable delivery and enabling communication between different systems and programming languages. IoT Protocols 6LoWPAN (IPv6 over Low-Power Wireless Personal Area Network) is a network protocol that enables the transmission of IPv6 packets over low-power wireless networks, typically used in IoT (Internet of Things) applications. It allows devices with limited resources, such as low-power microcontrollers and sensors, to communicate over wireless networks using the IPv6 protocol. 2G, 3G, 4G, and LTE 2G, 3G, 4G, and LTE are generations of mobile network technologies that have evolved over time to provide improved communication capabilities and data speeds for mobile devices. Each generation represents a significant advancement in terms of speed, capacity, and functionality. 1.2G (Second Generation): 2G was the second generation of mobile network technology introduced in the early 1990s. It primarily focused on voice communication and introduced digital cellular networks, replacing the analog networks of 1G. The most widely used 2G technology is GSM (Global System for Mobile Communications). It offered digital voice transmission, text messaging (SMS), and limited data services with data transmission speeds up to 64 kbps. 2.3G (Third Generation): 3G was introduced in the early 2000s and brought significant improvements in data speeds and capabilities. It provided faster data transfer rates, enhanced voice quality, and the ability to support services like video calling and mobile internet browsing. The main 3G technologies include UMTS (Universal Mobile Telecommunications System) and CDMA2000 (Code Division Multiple Access 2000). 3G networks offered data speeds ranging from 384 kbps to several Mbps. 2G, 3G, 4G, and LTE 3. 4G (Fourth Generation): 4G, also known as LTE (Long-Term Evolution), was introduced in the late 2000s and brought significant advancements in terms of data speeds, capacity, and overall network performance. It delivered faster download and upload speeds, low latency, and improved spectral efficiency. 4G networks enabled high-quality video streaming, online gaming, and other data-intensive applications. LTE is the most widely adopted 4G technology, offering peak data rates of up to several hundred Mbps. 4. LTE-Advanced and LTE-Advanced Pro: LTE-Advanced and LTE-Advanced Pro are enhancements of the LTE technology that further improve data speeds and network performance. These technologies introduced features like carrier aggregation, which combines multiple frequency bands to increase data capacity, and support for advanced antenna technologies for better coverage and throughput. LTE-Advanced and LTE-Advanced Pro have paved the way for technologies like VoLTE (Voice over LTE) and IoT (Internet of Things) connectivity. Logical Design of IoT Logical design of an IoT system refers to an abstract representation of the entities and processes without going into the low-level specifics of the implementation. An IoT system comprises of a number of functional blocks that provide the system the capabilities for identification, sensing, actuation, communication, and management. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Communication Models 1.Request-Response communication model Request-Response is a communication model in which the client sends requests to the server and the server responds to the requests. When the server receives a request, it decides how to respond, fetches the data, retrieves resource representations, prepares the response, and then sends the response to the client. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Publish-Subscribe communication model Publish-Subscribe is a communication model that involves publishers, brokers and consumers. Publishers are the source of data. Publishers send the 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. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Push-Pull communication model Push-Pull is a communication model in which the data producers push the data to queues and the consumers pull the data from the queues. Producers do not need to be aware of the consumers. Queues help in decoupling the messaging between the producers and consumers. Queues also act as a buffer which helps in situations when there is a mismatch between the rate at which the producers push data and the rate rate at which the consumers pull data. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Exclusive Pair communication model Exclusive Pair is a bidirectional, fully duplex communication model that uses a persistent connection between the client and server. Once the connection is setup it remains open until the client sends a request to close the connection. Client and server can send messages to each other after connection setup. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Communication APIs REST-based Communication APIs Representational State Transfer (REST) is a set of architectural principles by which you can design web services and web APIs that focus on a system’s resources and how resource states are addressed and transferred. REST APIs follow the request- response communication model. The REST architectural constraints apply to the components, connectors, and data elements, within a distributed hypermedia system. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 REST API A REST (Representational State Transfer) API is a type of communication protocol that allows different software systems to interact with each other over the internet. REST is an architectural style that is widely used for building web services and APIs due to its simplicity, scalability, and compatibility with various programming languages and platforms. Here are some key features and principles of a REST-based communication API: 1.Resources: REST APIs are based on the concept of resources, which represent entities or objects that can be accessed, manipulated, and transferred between systems. Resources can be identified using unique URLs (Uniform Resource Locators). 2.HTTP Methods: REST APIs utilize the HTTP methods (GET, POST, PUT, DELETE, etc.) 3.Stateless: REST APIs are stateless, meaning that each request from a client to a server contains all the necessary information needed to process that request. The server does not maintain any client-specific state between requests, which simplifies scalability and enables better caching. 4.Uniform Interface: REST APIs follow a uniform interface, meaning that they have a standardized set of rules and conventions for accessing and manipulating resources. This includes using URLs to identify resources, using HTTP methods for specific operations, and returning responses in a consistent format (e.g., JSON or XML). 5.Representation: REST APIs transfer representations of resources, which can be in different formats like JSON (JavaScript Object Notation) or XML (eXtensible Markup Language). These representations contain the data and metadata associated with the resource. 6.Hypermedia Links: REST APIs can include hypermedia links in the responses, which provide navigation and discoverability of related resources. These links allow clients to navigate the API by following links instead of relying on hard-coded URLs. 7.Authentication and Security: REST APIs often employ authentication and security mechanisms to protect resources and ensure that only authorized clients can access or modify them. This can involve using tokens, API keys, or other authentication protocols like OAuth WebSocket-based Communication APIs WebSocket APIs allow bi- directional, full duplex communication between clients and servers. WebSocket APIs follow the exclusive pair communication model Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Levels & Deployment Templates An IoT system comprises of the following components: Device: An IoT device allows identification, remote sensing, actuating and remote monitoring capabilities. You learned about various examples of IoT devices in section Resource: Resources are software components on the IoT device for accessing, processing, and storing sensor information, or controlling actuators connected to the device. Resources also include the software components that enable network access for the device. Controller Service: Controller service is a native service that runs on the device and interacts with the web services. Controller service sends data from the device to the web service and receives commands from the application (via web services) for controlling the device. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Levels & Deployment Templates Database: Database can be either local or in the cloud and stores the data generated by the IoT device. Web Service: Web services serve as a link between the IoT device, application, database and analysis components. Web service can be either implemented using HTTP and REST principles (REST service) or using WebSocket protocol (WebSocket service). Analysis Component: The Analysis Component is responsible for analyzing the IoT data and generate results in a form which are easy for the user to understand. Application: IoT applications provide an interface that the users can use to control and monitor various aspects of the IoT system. Applications also allow users to view the system status and view the processed data. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Level-1 A level-1 IoT system has a single node/device that performs sensing and/or actuation, stores data, performs analysis and hosts the application Level-1 IoT systems are suitable for modeling low- cost and low-complexity solutions where the data involved is not big and the analysis requirements are not computationally intensive. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Level-2 A level-2 IoT system has a single node that performs sensing and/or actuation and local analysis. Data is stored in the cloud and application is usually cloud- based. Level-2 IoT systems are suitable for solutions where the data involved is big, however, the primary analysis requirement is not computationally intensive and can be done locally itself. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Level-3 A level-3 IoT system has a single node. Data is stored and analyzed in the cloud and application is cloud- based. Level-3 IoT systems are suitable for solutions where the data involved is big and the analysis requirements are computationally intensive. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Level-4 A level-4 IoT system has multiple nodes that perform local analysis. Data is stored in the cloud and application is cloud-based. Level-4 contains local and cloud- based observer nodes which can subscribe to and receive information collected in the cloud from IoT devices. Level-4 IoT systems are suitable for solutions where multiple nodes are required, the data involved is big and the analysis requirements are computationally intensive. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Level-5 A level-5 IoT system has multiple end nodes and one coordinator node. 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. Level-5 IoT systems are suitable for solutions based on wireless sensor networks, in which the data involved is big and the analysis requirements are computationally intensive. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 IoT Level-6 A level-6 IoT system has multiple independent end nodes that perform sensing and/or actuation and send data to the cloud. Data is stored in the cloud and application is cloud-based. The analytics component analyzes the data and stores the results in the cloud database. The results are visualized with the cloud-based application. The centralized controller is aware of the status of all the end nodes and sends control commands to the nodes. Book website: http://www.internet-of-things-book.com Bahga & Madisetti, © 2015 Sheet 1 1. What is meant by IoT? 2. Describe the main characteristics of IoT. 3. Explain the IoT devices capabilities. 4. discuss the main characteristics of the following protocols: CoAP MQTT WebSocket XMPP AMQP DDS 6LoWPAN 2G, 3G, 4G, and LTE 5. Explain Publish-Subscribe communication model with graph. 6. Explain Exclusive Pair communication model with graph. 7. Explain Push-Pull communication model with graph. 8. Describe REST-based Communication APIs with graph. 9. What are the IoT system components? 10. Mention the IoT levels, then explain two of them in details. Thanks