Topic outline
Introduction
Associate Professor Dr Muhammad Ehsan Rana
muhd_ehsanrana@apu.edu.myA very warm welcome to the Building IoT Applications (BIA) elective module for the DSBA pathway. My name is Muhammad Ehsan Rana and I am your instructor for this module. I hold a master’s qualification in both Computer Science and Mathematics and obtained my PhD in Software Engineering from Universiti Putra Malaysia. I possess more than 20 years of experience in teaching, research, and academic management. I am currently working as an Associate Professor at the Asia Pacific University of Technology & Innovation (APU), Malaysia. I have authored and co-authored more than 100 journal articles, conference publications and book chapters in the areas of Software Architecture, Cloud Computing, IoT and Blockchain. I am also a reviewer of several indexed journals and have participated in the organization of IEEE and other international conferences.
Please do reach out to me if you have any queries or questions. Best of luck and I hope you enjoy the module!
- Module Overview
In this module, the focus will be to enable students to be familiar with various Internet of Things (IoT) architecture and design technologies. This module describes some of the critical components of IoT through enterprise IoT stack. In the end, students should understand how to incrementally design IoT applications using appropriate IoT cloud platforms.
At the end of the course, the students will be able to:
- Justify IoT architecture design and IoT building blocks for various consumer and industrial use cases.
- Demonstrate the ability to design an IoT application architecture using appropriate tools and technologies.
- Propose measures to improve the security of the IoT network and ensure continuity of operations in the face of cyber-attacks or other disasters.
Introduction to IoT
At the end of this topic, you should be able to:
•Define IoT and explain its concept, emphasizing the network of interconnected physical objects and their ability to collect and exchange data over the Internet.•Understand the origins and evolution of IoT, including its early beginnings and the factors that contributed to its growth and widespread adoption.•Identify and describe the key components of IoT hardware, such as sensors, actuators, microcontrollers and microprocessors.•Explore prototyping tools used in IoT development that facilitate the creation of IoT prototypes and proofs-of-concept.•Explore data acquisition, analysis and visualization tools used to collect, analyze, represent and interpret IoT data, including graphical interfaces and dashboards.- •What is the concept of IoT? How does it relate to the network of interconnected physical objects and data exchange over the Internet?•What are the key components of IoT hardware? Briefly describe the role of each of the following: sensors, actuators, microcontrollers, and microprocessors.•How do prototyping tools support IoT development? Provide examples of prototyping tools used for creating IoT prototypes and proofs-of-concept.•What are data acquisition, analysis, and visualization tools in the context of IoT? How do they contribute to collecting, analyzing, representing, and interpreting IoT data?•Give examples of graphical interfaces and dashboards used for IoT data visualization.
IoT UseCases
At the end of this topic, you should be able to:
•Understand the potential and scope of IoT applications•Evaluate IoT solution requirements and constraints•Address challenges and considerations in IoT applications•develop an awareness of the ethical and societal implications associated with IoT applications.- •Explain any three (3) of the following IoT application scenarios.
- –Smart Shopping
- –Smart Agriculture
- –Smart Sleep System
- –Smart Weather Station
- –Smartest Garbage Collection
- –Search and Rescue Operation
- –Drone and Applications
IoT Architecture & Design
At the end of this topic, you should be able to:
•Understand the concept of IoT architecture and its significance in organizing and structuring IoT systems.•Identify and describe the layers in IoT architecture, including Sensor Connectivity & Network, Gateway & Network, Management Service, and Application.•Explain the role and function of each IoT architecture layer in enabling efficient and secure communication and data flow.•Analyze the interdependencies and interactions between different IoT architecture layers.•Evaluate the requirements and considerations for designing and implementing each IoT architecture layer.- •What are the key components and functions of the Sensor Connectivity & Network layer in IoT architecture?•How do gateway devices facilitate communication between sensors and the wider network infrastructure in IoT systems?•How does the Management Service layer enable monitoring, control, and maintenance of IoT devices and networks?•Explain the concept of remote device management and its significance in the Management Service layer.•What are some common application scenarios and use cases for IoT systems in the Application layer?
- Lab Activity
Scenario: Weather Station
IoT Communications
At the end of this topic, you should be able to:
•Differentiate between the various IoT communication models and their respective characteristics, advantages, and limitations.•Understand the TCP/IP network model and its layers: application layer, transport layer, Internet layer, and network access layer.•Explain the role of each layer in the TCP/IP model and how it relates to IoT communication.- •Differentiate between the various IoT communication models and their respective characteristics, advantages, and limitations.•What are the four layers of the TCP/IP model and their primary functions?•How does the TCP/IP network model differ from other network models, such as the OSI model?•How do the TCP/IP layers work together to enable communication in IoT systems?
IoT Application Layer
At the end of this topic, you should be able to:
•Understand the concept of IoT communication patterns and their significance in enabling effective communication between IoT devices.•Gain a comprehensive understanding of the IoT application protocols landscape and their role in enabling seamless communication between IoT devices.•Identify and describe the key characteristics and requirements of IoT application protocols, such as low power consumption, scalability, and security.•Compare and contrast different IoT application protocols, including HTTP, CoAP, MQTT, and AMQP, in terms of their architecture, features, and suitability for specific IoT applications.- •How do IoT application protocols contribute to seamless communication between IoT devices in heterogeneous environments?•Compare the architecture of HTTP, CoAP, MQTT, and AMQP in terms of their messaging paradigms and network models.•Describe the differences between the publish/subscribe model used by MQTT and the request/response model used by HTTP.•Discuss the role of security features in IoT application protocols and the potential risks of insecure protocols.•Provide examples of IoT applications that benefit from the use of HTTP, CoAP, MQTT, or AMQP, and explain the rationale behind the selection.
IoT Transport & Internet Layer
At the end of this topic, you should be able to:
•Gain a comprehensive understanding of how the Transport and Internet Layer protocols enable communication and connectivity in IoT systems.•Evaluate transport protocols used in IoT, such as TCP and UDP, considering their strengths, and weaknesses in relation to specific IoT applications.•Gain knowledge of addressing schemes and routing protocols used in IoT networks, including IP addressing, 6LoWPAN, and RPL, to facilitate efficient and scalable communication.•Understand various IoT network architectures, including star, mesh, and hybrid topologies, and how they impact the selection and implementation of transport and internet layer protocols.- •How does the choice of transport layer protocol impact the performance and efficiency of IoT systems?•Compare IPv4 and IPv6 in terms of addressing schemes and the number of available addresses.•Define and compare star, mesh, and tree network architectures in IoT.
IoT Network Access and Physical Layer
At the end of this topic, you should be able to:
•Understand the concept of network access in IoT, including different communication technologies used to connect IoT.•Identify and describe various physical layer protocols commonly used in IoT, such as Wi-Fi, Bluetooth, Zigbee, LoRaWAN, and cellular technologies.•Explain the considerations involved in selecting appropriate network access and physical layer protocols for specific IoT applications, considering factors such as range, power consumption, data rate, scalability and security.•Examine emerging trends and advancements in IoT network access and physical layer protocols, such as 5G, NB-IoT, and LPWAN technologies, and their potential implications for IoT deployments.- •Name some different wired and wireless communication technologies used to connect IoT devices.•Explain the factors to consider when selecting network access and physical layer protocols for specific IoT applications.•Provide three examples of IoT applications and the network access and physical layer protocols that would be appropriate for them.
IoT Security & Privacy
At the end of this topic, you should be able to:
•Articulate the reasons why security is crucial in IoT deployments.•Comprehend the principles of securing IoT networks.•Explore the significance of managing updates in IoT security.•Understand the defence-in-depth strategy for securing IoT applications.•Apply security principles to real-world IoT scenarios.- •What are the challenges and vulnerabilities associated with securing IoT devices? Explain how these challenges differ from traditional computing systems.•Discuss the concept of defence-in-depth in the context of IoT security. How does it involve implementing multiple layers of security measures to protect IoT devices and networks?•Discuss the key aspects of network security, such as encryption, authentication, and access control, in the context of IoT.•Explain the importance of secure communication protocols in IoT. Discuss the role of protocols like Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) in ensuring secure data transmission.
- Tutorial