The document discusses the core concepts of the Internet of Things (IoT), including what IoT is, its objectives and characteristics. It also covers the physical and logical design of IoT, common communication protocols, and different levels of IoT systems and deployment templates.
The document discusses the core concepts of the Internet of Things (IoT), including what IoT is, its objectives and characteristics. It also covers the physical and logical design of IoT, common communication protocols, and different levels of IoT systems and deployment templates.
The document discusses the core concepts of the Internet of Things (IoT), including what IoT is, its objectives and characteristics. It also covers the physical and logical design of IoT, common communication protocols, and different levels of IoT systems and deployment templates.
The document discusses the core concepts of the Internet of Things (IoT), including what IoT is, its objectives and characteristics. It also covers the physical and logical design of IoT, common communication protocols, and different levels of IoT systems and deployment templates.
Chapter 1 INTERNET OF THINGS A HANDS ON APPROACH Introduction to IoTs What is IoT?
▪ IoT is a network of physical objects embedded with electronics,
software, sensors, and connectivity ▪ Enables objects to collect and exchange data, making them smart and data-capable Objectives of IoT
▪ Empower almost any object to become smart and data-capable
▪ Benefit from advances in communications, computation, and interconnectivity Learning Outcomes ▪ LO1: Analyse what aspects of IoT are necessary and appropriate when designing software applications ▪ LO2: Outline a plan for an appropriate IoT application, using common architecture, frameworks, tools, hardware and APIs ▪ LO3: Develop an IoT application using any combination of hardware, software, data, platforms and services ▪ LO4: Evaluate your IoT application and the problems it might encounter when integrating into the wider IoT ecosystem Materials of Course ▪ Login to CMS (http://cms.btec.edu.vn/) with student account ([email protected]) ▪ Choose correct class ▪ Enroll by class name (SE0xx0x) ▪ CMS Folder: • Slides • Lab • Assignment • EBook Preparation for Course ▪ Parts, libraries required for project (List in each Lab) ▪ IDE: Ardunio Objectives
▪ Understand the Core Concepts of IoT
▪ Explore Communication Protocols in IoT ▪ Demystify Functional Blocks and Communication Models Topics ▪ IoT definition ▪ Characteristics of IoT ▪ Physical Design of IoT ▪ Logical Design of IoT ▪ IoT Protocols ▪ IoT Levels & Deployment Templates IoT definition A dynamic global network infrastructure with self-configuringcapabilities based on standard and interoperable communicationprotocols where physical and virtual “things” have identities, physicalattributes, and virtual personalities and use intelligent interfaces, andare seamlessly integrated into the information network, oftencommunicate data associated with users and their environments. Characteristics of IoT
• Dynamic & Self-Adapting
• Self-Configuring • Interoperable Communication Protocols • Unique Identity • Integrated into Information Network Physical Design of IoT (1/2) ▪ 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 (directlyorindirectly), or • Collect data from other devices and process the data locally or Physical Design of IoT (2/2) • Send the data to centralized servers or cloud-based applicationback-ends forprocessing the data, or • Perform some tasks locally and other tasks within the IoT infrastructure, based on temporal and space constraints. 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 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 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. 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 Publish-Subscribe Communication Model (1/2) ▪ 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 Publish-Subscribe Communication Model (2/2) Push-Pull Communication Model (1/2) ▪ 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 ▪ 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 Push-Pull Communication Model (2/2) 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 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 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 Levels & Deployment Templates (1/2) An IoT system comprises of the following components: ▪ Device: An IoT device allows identification, remote sensing, actuatingandremote monitoring capabilities. You learned about various examplesofIoTdevices in section ▪ Resource: Resources are software components on the IoT deviceforaccessing, processing, and storing sensor information, or controllingactuators connected to the device. Resources also include thesoftwarecomponents that enable network access for the device ▪ Controller Service: Controller service is a native service that runsonthedevice and interacts with the web services. Controller servicesendsdatafrom the device to the web service and receives commands fromtheapplication (via web services) for controlling the device IoT Levels & Deployment Templates (2/2) ▪ Database: Database can be either local or in the cloud andstoresthedatagenerated by the IoT device ▪ Web Service: Web services serve as a link between the IoT device, application, database and analysis components. Web servicecanbeeitherimplemented using HTTP and REST principles (REST service) or usingWebSocket protocol (WebSocket service) ▪ Analysis Component: The Analysis Component is responsiblefor analyzingthe IoT data and generate results in a form which are easy for theusertounderstand ▪ Application: IoT applications provide an interface that the users canusetocontrol and monitor various aspects of the IoT system. Applicationsalsoallow users to view the system status and view the processeddata 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 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 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 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 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 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 Summary ▪ Understanding the Power of IoT ▪ Communication Protocols is the Backbone of IoT ▪ Building Blocks and Communication Models