Summary

This document provides an overview of Internet of Things (IoT) unit 1 covering various aspects of the subject. It touches upon key concepts like physical and logical design, different communication protocols, and essential components of an IoT system.

Full Transcript

Unit-1 Physical and Logical Design of the Internet of Things Difference Between Physical and Logical Design of IoT Physical Design of IoT A physical design of an IoT system refers to the individual node devices and their protocols that are utilized to create a functional IoT ecosystem....

Unit-1 Physical and Logical Design of the Internet of Things Difference Between Physical and Logical Design of IoT Physical Design of IoT A physical design of an IoT system refers to the individual node devices and their protocols that are utilized to create a functional IoT ecosystem. Each node device can perform tasks such as remote sensing, actuating, monitoring, etc., by relying on physically connected devices. It may also be capable of transmitting information through different types of wireless or wired connections. The things/devices in the IoT system are used for:  Building connections  Data processing  Providing storage  Providing interfaces  Providing graphical interfaces Things/Devices Things/Devices are used to build a connection, process data, provide interfaces, provide storage, and provide graphics interfaces in an IoT system. all these generate data in a form that can be analyzed by an analytical system and program to perform operations and used to improve the system. for example temperature sensor that is used to analyze the temperature generates the data from a location and is then determined by algorithms. Connectivity: Devices like USB (Universal Serial Bus) hosts and ETHERNET (Ethernet Local Area Network Standard) are used for connectivity between the devices and the server. Processor: A processor like a CPU (Central Processing Unit) and other units are used to process the data. these data are further used to improve the decision quality of an IoT system. Audio/Video Interfaces: An interface like HDMI (High Definition Multimedia Interface) and RCA (Radio Corporation of America devices) connector is used to record audio and videos in a system. Input/Output interface: To give input and output signals to sensors, and actuators we use things like UART (Universal Asynchronous Receiver/ Transmitter), SPI (Serial Peripheral Interface), CAN (Controller Area Network), etc. Storage Interfaces: Things like SD (Secure Digital), MMC (MultiMediaCard), and SDIO (Secure Digital Input Output) are used to store the data generated from an IoT device. Other things like DDR ( Double Data Rate ) and GPU ( Graphics processing unit ) are used to control the activity of an IoT system. IoT Protocols These protocols are used to establish communication between a node device and a server over the internet. It helps to send commands to an IoT device and receive data from an IoT device over the internet. We use different types of protocols that are present on both the server and client side and these protocols are managed by network layers like application, transport, network, and link layer. Application Layer protocol In this layer, protocols define how the data can be sent over the network with the lower layer protocols using the application interface. These protocols include HTTP, WebSocket, XMPP, MQTT, DDS, and AMQP protocols. HTTP: Hypertext transfer protocol is a protocol that presents in an application layer for transmitting media documents. It is used to communicate between web browsers and servers. It makes a request to a server and then waits till it receives a response and in between the request server does not keep any data between the two requests. Application Layer protocol WebSocket: This protocol enables two-way communication between a client and a host that can be run on an untrusted code in a controlled environment. This protocol is commonly used by web browsers. MQTT (Message Queuing Telemetry Transport): It is a machine-to-machine connectivity protocol that was designed as a publish/subscribe messaging transport. MQTT uses a publish-subscribe model, where a central broker receives messages from publishers and routes them to subscribers. The sender and receiver don't have a direct connection. It is used for remote locations where a small code footprint is required. MQTT is ideal for low-bandwidth or unreliable networks because it's lightweight and easy to implement. Transport Layer This layer is used to control the flow of data segments and handle error control. These layer protocols provide end-to-end message transfer capability independent of the underlying network. TCP: The transmission control protocol is a protocol that defines how to establish and maintain a network that can exchange data in a proper manner using the internet protocol. (e.g., World Wide Web (WWW) , Email, Streaming Media) UDP: A user datagram protocol is a part of an internet protocol called the connectionless protocol. This protocol is not required to establish the connection to transfer data. (e.g., DNS (Domain Name System) Queries, Online Gaming) Transport Layer Network Layer This layer is used to send datagrams from the source network to the destination network. We use IPv4 and IPv6 protocols as host identification that transfers data in packets. IPv4: This is a protocol address that is a unique and numerical label assigned to each device connected to the network. An IP address performs two main functions host and location addressing. IPv4 is an IP address that is 32-bit long. IPv6: It is a successor of IPv4 that uses 128 bits for an IP address. It is developed by the IETF (Internet Engineering Task Force)to deal with long-anticipated problems. Link Layer Link-layer protocols are used to send data over the network’s physical layer. it also determines how the packets are coded and signaled by the devices. Ethernet: It is a set of technologies and protocols that are used primarily in LANs. it defines the physical layer and the medium access control for wired ethernet networks. WiFi: It is a set of LAN protocols and specifies the set of media access control and physical layer protocols for implementing wireless local area networks. Network Protocols Layers Logical Design of IoT A logical design for an IoT system is the actual design of how its components (computers, sensors, and actuators) should be arranged to complete a particular function. It doesn’t go into the depth of describing how each component will be built with low-level programming specifics. IoT logical design includes: 1. IoT functional blocks 2. IoT communications models 3. IoT communication APIs 1. IoT functional blocks IoT systems include several functional blocks such as Devices, communication, security, services, and application. The functional blocks provide sensing, identification, actuation, management, and communication capability. These functional blocks consist of devices that handle the communication between the server and the host, enable monitoring control functions, manage the data transfer, secure the IoT system using authentication and different functions, and provide an interface for controlling and monitoring various terms. The Functional blocks are: Device: An IoT system comprises of devices that provide sensing, actuation, monitoring, and control functions. The sensor/actuator block serves as the data entry point in an IoT system. Sensors collect data from their surroundings, whereas actuators drive physical processes. Sensors gather data on temperature, humidity, light, motion, and other variables, whereas actuators turn on lights, open doors, and control machines. These gadgets work together to collect data and operate in the physical world. The Functional blocks are: Communication: Handles the communication for the IoT system. Once the sensor/actuator block has collected data, it must be sent to the remainder of the system. This is when the connection block enters the picture. The connectivity block is in charge of creating and managing communication channels amongst IoT system devices. This can be accomplished with the use of several technologies such as Wi-Fi, Bluetooth, and cellular networks. The Functional blocks are: Services: services for device monitoring, device control service, data publishing services, and services for device discovery. The obtained data is examined and processed in the data processing block. This block is in charge of filtering out noise and irrelevant data, converting the data into an easily studied format, and recognizing patterns and anomalies in the data. This block can also execute real- time analysis, enabling speedy data-driven decisions. The Functional blocks are: Management: this block provides various functions to govern the IoT system. The management block is in charge of overseeing the overall operation of the IoT system. This block is capable of handling device configuration, firmware updates, and system monitoring. It can also give analytics and reporting, allowing system administrators to understand how the system is operating and find areas for improvement. The Functional blocks are: Security: This block secures the IoT system and by providing functions such as authentication, authorization, message and content integrity, and data security. The security block is in charge of assuring the IoT system's security and protection against illegal access. This block is in charge of authentication and authorization, as well as data encryption during transmission and storage. It also handles intrusion detection and response, assisting in the prevention and mitigation of threats. The Functional blocks are: Application: This is an interface that the users can use to control and monitor various aspects of the IoT system. The application also allows users to view the system status and view or analyze the processed data. The application block is the component of the IoT system that gives value to the end user. This block is in charge of utilizing the processed data to provide a specified function or service. An application block, for example, could be used to provide insights into energy usage in a building or to adjust the temperature in a greenhouse. The Functional blocks are: Advantages of IoT Functional Blocks Scalability IoT Scalability is built into Functional Blocks, allowing enterprises to add new devices and services to their IoT system as needed. The capacity to scale assures that an IoT system can grow and react to changing business needs and future technology. Interoperability IoT Functional Blocks is a standardized architecture for developing IoT solutions. This standardization means that devices and services from various suppliers may function seamlessly together, enhancing interoperability and lowering integration costs. Advantages of IoT Functional Blocks Modularity Because IoT Functional Blocks are modular, they may be swapped, modified, or added as needed. Because of this versatility, enterprises can select the optimal components for their IoT system and easily swap out components as needed. Flexibility IoT Functional Blocks offer a variety of deployment choices. Depending on their needs, businesses can implement an IoT system on-premises, in the cloud, or in a hybrid approach. 2. IoT Communication Models There are multiple kinds of models available in an Internet of Things system that is used for communicating between the system and server, such as: Request-response model Publisher-Subscriber Model Push-Pull Model Exclusive Pair Request-Response Model Request-response model 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 representation, prepares the response, and then sends the response to the client. Request- response is a stateless communication model and each request- response pair is independent of the others. HTTP works as a request-response protocol between a client and a server. A web browser may be the client, and an application on a computer that hosts a website may be the server. Request-Response Model Example: A client (browser) submits an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also contain the requested content. Publisher-Subscriber Model This model comprises three entities: Publishers, Brokers, and Consumers. Publishers are the source of data. It sends the data to the topic which is managed by the broker. They are not aware of consumers. Consumers subscribe to the topics which are managed by the broker. Brokers' responsibility is to accept data from publishers and send it to the appropriate consumers. The broker only has the information regarding the consumer to which a particular topic belongs which the publisher is unaware. Publisher-Subscriber Model Push-Pull Model The push-pull model constitutes data publishers, data consumers, and data queues. Publishers and Consumers are not aware of each other. Publishers publish the message/data and push it into the queue. The consumers, present on the other side, pull the data out of the queue. Thus, the queue acts as the buffer for the message when the difference occurs in the rate of push or pull of data on the side of a publisher and consumer. Queues help in decoupling the messaging between the producer and consumer. Queues also act as a buffer which helps in situations where there is a mismatch between the rate at which the producers push the data and consumers pull the data. Push-Pull Model Exclusive Pair Exclusive Pair is the bi-directional model, including full-duplex communication between client and server. The connection is constant and remains open till the client sends a request to close the connection. The Server has the record of all the connections which has been opened. This is a state-full connection model and the server is aware of all open connections. WebSocket-based communication API is fully based on this model. Exclusive Pair IoT communication API In IoT, there are 2 communication APIs (Application Programming Interface) – REST — based Communication APIs Web Socket — based Communication APIs Web service can either be implemented using REST principles or using Web Socket Protocol The Google Maps API and Twitter API: For example, suppose you wanted to incorporate a map to your business on your website or display a list of your latest tweets. You can’t directly access Google Maps or Twitter — the code that runs those sites sits on Google and Twitter servers. But those platforms provide APIs that let authorized users retrieve data from their sites. REST-Based Communication API: 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. Recognizing the need for simplicity, computer scientist Roy Fielding proposed representational state transfer (REST) in his Ph.D. thesis as “an abstraction of the architectural elements within a distributed hypermedia system” — namely the World Wide Web. Web Socket-Based Communication APIs: Web Socket APIs allow bi-directional, full-duplex communication between clients and servers. It follows the exclusive pair communication model. This Communication API does not require a new connection to be set up for each message to be sent between clients and servers. Once the connection is set up the messages can be sent and received continuously without any interruption. WebSocket APIs are suitable for IoT Applications with low latency or high throughput requirement. Latency (It's a measure of delay, Networks with low latency have fast response times) Throughput (The average amount of data that can pass through a network in a given time period) Difference between Rest API and Web Socket API : Horizontal scaling: Adds more instances to a system, sharing the workload across multiple devices. This is also known as "scaling out". Vertical scaling: Adds more compute power to existing instances, also known as "scaling up" Difference between Rest API and Web Socket API : Rest API: For example, you might use REST to build an API for posting updates to a social network. Some examples include: Social media sites like Twitter, Facebook use REST APIs to integrate with third-party applications and allow posting updates. WebSocket API: WebSocket is good for applications that need low latency communication between client and server, such as chat applications. Examples include live chats on support websites, news tickers, stock tickers, messaging apps, and real-time games. Both Twitter and Facebook use WebSockets and REST APIs: WebSockets Twitter and Facebook use WebSockets to update information on feeds in real time. WebSockets allow clients to request data from a server and receive event- driven responses in real time. The connection between the client and server remains open, allowing for faster applications and more efficient resource use. REST APIs Twitter and Facebook also use REST APIs: Twitter: Twitter's RESTful APIs support queries of up to 2,048 characters per request. Facebook: Facebook's Graph API is the primary way for apps to read and write to the Meta social graph. The Facebook Pages API allows apps to access and update a Facebook Page's settings and content. IoT Enabling Technologies IoT-enabling technologies primarily focus on converting a standalone device into an IoT device by giving it the additional possibility of connecting to the internet and exchanging information with it. IoT(internet of things) enabling technologies are 1. Wireless Sensor Network 2. Cloud Computing 3. Big Data Analytics 4. Communications Protocols 5. Embedded System 1. Wireless Sensor Network A WSN comprises distributed devices with sensors that are used to monitor environmental and physical conditions. A wireless sensor network consists of end nodes, routers, and coordinators. End nodes have several sensors attached to them and the data is passed to a coordinator with the help of routers. The coordinator also acts as the gateway that connects WSNs to the internet. 1. Wireless Sensor Network Example –  Weather monitoring system  Indoor air quality monitoring system  Soil moisture monitoring system  Surveillance system  Health monitoring system 2. Cloud Computing It provides us the means by which we can access applications as utilities over the internet. Cloud means something which is present in remote locations. With Cloud computing, users can access any resources from anywhere like databases, web servers, storage, any device, and any software over the internet. Cloud Computing Characteristics – Broad network access On-demand self-service Rapid scalability Measured service Pay-per-use Cloud Computing Provides different services, such as – IaaS (Infrastructure as a service) PaaS (Platform as a service) SaaS (Software as a service) IaaS (Infrastructure as a service) Infrastructure as a Service, which provides access to servers, data storage, and networking resources. Infrastructure as a service provides online services such as physical machines, virtual machines, servers, networking, storage, and data center space on a pay-per-use basis. Major IaaS providers are Google Compute Engine, Amazon Web Services, and Microsoft Azure, etc. Ex: Web Hosting, Virtual Machine, etc. PaaS (Platform as a service) Platform as a Service, which provides a platform for developers and analysts to create and customize applications in the cloud. Provides a cloud-based environment to support the complete life cycle of building and delivering web-based (cloud) applications — without the cost and complexity of buying and managing the underlying hardware, software provisioning, and hosting. Computing platforms such as hardware, operating systems, libraries, etc. Basically, it provides a platform to develop applications. Ex: App Cloud, Google app engine SaaS (Software as a service): Software as a Service, which provides end users with software that is hosted in the cloud. It is a way of delivering applications over the internet as a service. Instead of installing and maintaining software, you simply access it via the internet, freeing yourself from complex software and hardware management. SaaS Applications are sometimes called web-based software on-demand software or hosted software. SaaS applications run on a SaaS provider’s service and they manage security availability and performance. Ex: Google Docs, Gmail, office, etc. 3. Big Data Analytics It refers to the method of studying massive volumes of data or big data. Collection of data whose volume, velocity, or variety is simply too massive and tough to store, control, process and examine the data using traditional databases. Big data is gathered from a variety of sources including social network videos, digital images, sensors, and sales transaction records. Velocity-speed at which data is created and how fast it moves. Volume-amount of data qualifying as big data Variety-diversity that exists in the types of data Big Data Analytics Several steps are involved in analyzing big data – 1. Data cleaning 2. Data Preparation 3. Processing 4. Visualization Big Data Analytics Examples – Bank transactions Data generated by IoT systems for location and tracking of vehicles E-commerce Health and fitness data generated by IoT systems such as fitness bands 4. Communications Protocols: They are the backbone of IoT systems and enable network connectivity and linking to applications. Communication protocols allow devices to exchange data over the network. Multiple protocols often describe different aspects of a single communication. A group of protocols designed to work together is known as a protocol suite; when implemented in software they are a protocol stack. They are used in 1.Data encoding (technique of converting data into form used by system) 2.Addressing schemes (method used to uniquely identify device in distributed system) 5. Embedded Systems It is a combination of hardware and software used to perform special tasks. It includes microcontroller and microprocessor memory, networking units (Ethernet Wi-Fi adapters), input-output units (display keyword, etc. ), and storage devices (flash memory). It collects the data and sends it to the internet. Embedded systems used in. Examples – 1.Digital camera 2.DVD player, music player 3.Industrial robots 4.Wireless Routers etc. IoT Levels and Deployment Templates Developing an IoT Level Template system consists of the following components: 1. Device: These may be sensors or actuators capable of identifying, remote sensing, or monitoring. 2. Resources: These are software components on IoT devices for accessing, processing or controlling actuators connected to the device. Resources also include software components that enable network access. 3. Controller Service: It is a service that runs on the device and interacts with web services. The controller service sends data from the device to the web service and receives commands from the application via web services for controlling the device. IoT Levels and Deployment Templates 4. Database: Stores data generated from the device 5. Web Service: It provides a link between IoT devices, applications, databases, and analysis components. 6. Analysis Component: It performs an analysis of the data generated by the lol device and generates results in a form which are easy for the user to understand. 7.Application: It provides a system for the user to view the system status and view product data. It also allows users to control and monitor various aspects of the IoT system. IoT Levels- 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 It is suitable for modeling low-cost and low-complexity solutions where the data involved are not big and the analysis requirements are not computationally intensive. An e.g., of IoT Level1 is Home automation. IoT level 1 IoT Level-2 It has a single node that performs sensing and/or actuation and local analysis (IoT Device and collected data). At this, IoT Level Databases and applications establish in Cloud. It is useful for solutions where the data 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 Smart Irrigation. IoT Level-2 IoT Level-3 It has a single node. Database and applications established in the cloud. It is suitable for solutions where the data involved is big and the analysis requirements are computationally intensive. An example of IoT level3-system for tracking packagehandling IoT Level-3 IoT Level-4 It has multiple nodes that perform local analysis. It has a Cloud-based application and database. This IoT System contains local and cloud- based observer nodes which can subscribe to and receive information collected in the cloud from IoT node devices. It is suitable for solutions where we are using multiple nodes, the data involved is big and the analysis requirements are computationally intensive. An example of a Level4-IoT system for NoiseMonitoring. IoT Level-4 IoT Level-5 It has multiple end nodes and one coordinator node. The end nodes use for sensing and/or actuation. In this model, the Coordinator node collects data from the end nodes and transfers it to the cloud. In this model, we used a Cloud-based Database for storing and Analyzing data. It is suitable for solutions based on wireless sensor networks, in which the data involved is big and the analysis requirements are computationally intensive. An example of Level5-system for Forest Fire Detection. IoT Level-5 IoT Level-6 It has multiple independent end nodes that are used for sensing and/or actuation and transferring data to the cloud. We used a Cloud- based database. The analytics component analyzes the data and stores the results in the cloud database and 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 An example of a Level6-IoT system for Weather Monitoring System. IoT Level-6

Use Quizgecko on...
Browser
Browser