Học phần này giới thiệu cho sinh viên nền tảng kỹ thuật và kiến trúc của hệ sinh thái IoT, nền tảng và khuôn khổ trong thiết kế hệ thống IoT, khuyến khích trải nghiệm thực hành với thực hành trong phòng thí nghiệm và lập trình ứng dụng IoT.
Trang 1ASSIGNMENT 1 FRONT SHEET
Unit number and title Unit 43: Internet of Things
Student declaration
I certify that the assignment submission is entirely my work and I fully understand the consequences of plagiarism I understand that making a false declaration is a form of malpractice
Student’s signature Grading grid
Trang 2Summative Feedback: Resubmission Feedback:
Internal Verifier’s Comments:
IV Signature:
Trang 3Contents
TASK 1 Review and evaluation of IoT aspects 4
I Exploring and reviewing IoT 4
1 Concepts about IoT (P1) 4
2 IoT Standard and Framework, Tools and harware (P2) 6
II Evaluation of a common IoT platform 13
1 Impact on Software Development Lifecycle (M1) 13
2 Impact on IoT Security (M2) 14
Task 2 Appropriate IoT application plan 15
I Problem and its IoT solution 15
1 Exploring IoT Development Components (P3) 15
2 Determining a specific problem to solve using IoT 18
II IoT application plan 19
1 Selecting appropriate IoT options (M3) 19
2 Feasibility and plan for IoT application (M4) 21
Task 3 Advanced Evaluating and Justifying 23
I Evaluating and Justifying IoT architecture (D1) 23
1 Identification of IoT architecture forms 23
2 Evaluating each architecture forms 25
3 Justifying usage and their roles 26
II Enhance IoT application security iteratively (D2) 26
1 Identifying weaknesses 26
2 Setting iteration goals 27
3 Implementation of upgrades 27
Table Of Figures 28
REFERENCE LIST 29
Trang 4TASK 1 Review and evaluation of IoT aspects
I Exploring and reviewing IoT
1 Concepts about IoT (P1)
With IoT, data can be sent between devices without people directly interacting
In the Internet of Things, a "thing" can be anything from a person with a heart monitor, a farm animal with a biochip, to a car with sensors that warn the driver about low tire pressure Essentially, any object, natural or man-made, that can have an Internet Protocol address and share data over a network can be part of the Internet of Things
Figure 1 Internet Of Things illustration
1.2 How IoT work
IoT works through a system of smart devices connected to the internet These devices have built-in technology like processors, sensors, and communication hardware to gather, send, and respond to data from their surroundings
The collected data from IoT devices is shared by connecting to an IoT gateway, acting as a central hub Before sharing, the data can be analyzed locally on an edge device, reducing the amount of data sent to the cloud and saving bandwidth
Sometimes, these devices talk to each other and act on the shared information Most of the time, they operate without human involvement, but people can interact with them to set them up, give
instructions, or access data
Trang 5The way these devices connect, network, and communicate depends on the specific IoT applications in use Additionally, IoT can leverage artificial intelligence and machine learning to make data collection processes easier and more adaptable
Figure 2 How IoT works illustration
1.3 IoT characteristics
Understanding the capabilities and impact of IoT in various industries involves recognizing these key characteristics:
Scalability:
IoT systems can handle a large number of devices without compromising performance
Whether in a smart home, city, or industry, IoT networks can expand as more devices join Interoperability:
Devices from different brands or types can communicate seamlessly in an IoT environment
This ensures effective information exchange and collaboration, irrespective of individual
specifications
Real-time Data:
IoT involves continuous real-time data collection and analysis
Devices transmit information promptly, enabling informed decision-making based on up-to-date data
Automation
IoT devices can perform tasks autonomously without human intervention
Through programming and artificial intelligence, devices can execute predefined actions based
on conditions or triggers
Trang 61.4 Real-world examples
Smart Home Automation:
Utilizes IoT devices like smart thermostats, lighting controls, and security cameras
Example: A smart thermostat learns your heating and cooling preferences, optimizing energy usage, while smart security cameras enable remote monitoring and alerts for suspicious
activities
Remote Patient Monitoring and Healthcare:
Wearable IoT devices like fitness trackers and smartwatches collect health data
Example: Real-time monitoring allows early identification of health conditions, and IoT-enabled medical devices integrate patient data with electronic health records for informed healthcare decisions
Connected Vehicles and Transportation:
Enables connected cars and intelligent transportation systems with real-time tracking of vehicle performance and diagnostics
Example: Smart traffic management systems optimize traffic flow, reduce congestion, and enhance road safety Networked cars provide alternate routes and real-time traffic data
Smart Cities:
Transforms cities into smart cities using IoT sensors to collect data on energy use, waste
management, traffic flow, and environmental factors
Example: Data-driven decision-making helps city officials allocate resources efficiently, enhance public services, and improve the overall quality of life for citizens
2 IoT Standard and Framework, Tools and harware (P2)
2.1 IoT Standard and Framework
Organizations Involved in IoT Standards:
International Electrotechnical Commission (IEC)
Institute of Electrical and Electronics Engineers (IEEE)
Industrial Internet Consortium
Open Connectivity Foundation
Thread Group
Connectivity Standards Alliance
Trang 7Examples of IoT Standards:
IPv6 over Low-Power Wireless Personal Area Networks (6LoWPAN):
Standardized by the Internet Engineering Task Force (IETF)
Enables low-power radios (e.g., 804.15.4, Bluetooth Low Energy, Z-Wave) to communicate with the internet
Used in home automation, industrial monitoring, and agriculture
Figure 3 LoWPAN logo
Zigbee:
A low-power, low-data rate wireless network standard based on IEEE 802.15.4
Zigbee Alliance created Dotdot, a universal language for secure IoT communication
Figure 4 Zigbee logo
Data Distribution Service (DDS):
Developed by the Object Management Group
An industrial IoT (IIoT) standard for real-time, scalable, and high-performance machine (M2M) communication
machine-to-Figure 5 DDS logo
Trang 8IoT Protocols:
Constrained Application Protocol (CoAP):
IETF-designed protocol for low-power, compute-constrained IoT devices
Advanced Message Queuing Protocol (AMQP):
Open-source standard for asynchronous messaging in IoT device management
Long-Range Wide Area Network (LoRaWAN):
Designed for WANs to support large networks, such as smart cities, with millions of low-power devices
MQ Telemetry Transport (MQTT):
Lightweight protocol for control and remote monitoring applications, suitable for devices with limited resources
IoT Frameworks:
Amazon Web Services (AWS) IoT:
A cloud computing platform for IoT by Amazon, facilitating secure interactions between smart devices and the AWS cloud
Figure 6 Amazon Web Services IoT logo
Arm Mbed IoT:
An open-source platform for developing IoT apps based on Arm microcontrollers, providing a scalable and secure environment
Figure 7 Arm Mbed IoT logo
Microsoft Azure IoT Suite:
A set of services for interacting with and analyzing data from IoT devices, offering
multidimensional analysis, transformation, and aggregation
Trang 9Figure 8 Microsoft Azure IoT Suite logo
2.2 Top tools and devices
Arduino:
Hardware Offerings: Microcontroller boards, modules, shields, and kits
Software:
Arduino IDE: Open-source prototyping platform for coding compatible with Arduino boards
Arduino Cloud: Enables wireless communication, remote control, and data collection for IoT devices
IoT Cloud Remote: Application for creating dashboards to control cloud-connected devices
Web Editor: Browser-based application for coding
Flutter:
Programmable processor core based on Arduino with an ARM processor, built-in battery charging, and a security chip
Offers basic and pro control modules, complete kits, accessory boards, and 3D-printed parts
Ideal for wireless sensor networks
Tessel 2:
Programmable microcontroller supporting JavaScript, Node.js libraries, and other languages
Runs Linux and provides access to NPM modules
Extendable with external hardware (sensors, peripherals) and features Wi-Fi, Ethernet
connectivity, MediaTek router, 64MB of RAM, and 32MB of Flash
Convenient command-line tools for prototyping
M2MLabs Mainspring:
Open-source Java-based framework for developing machine-to-machine applications
Widely used for fleet management apps and remote monitoring projects
Enables flexible device configuration and supports reliable machine-to-machine connections
Quick app prototyping and long-term data storage with a scalable Apache Cassandra database Raspberry Pi OS (formerly Raspbian):
Official operating system for Raspberry Pi hardware
Trang 10 Free, Debian-based system with a 32-bit version available and a 64-bit version in active
development
Includes basic programs and utilities for hardware functionality
Compiles thousands of packages and pre-compiled software for easy installation
2.3 IoT hardware
The hardware in IoT systems includes devices like a remote dashboard, control devices, servers, a routing or bridge device, and sensors These devices handle important tasks such as turning on the system, specifying actions, ensuring security, communication, and detection to support specific goals
In IoT, sensors are crucial hardware They include energy modules, power management modules, RF modules, and sensing modules RF modules manage communication through signal processing, using technologies like WiFi, ZigBee, Bluetooth, radio transceiver, duplexer, and BAW
Trang 11Standard devices like desktops, tablets, and cell phones are essential in IoT The desktop gives the user
a high level of control, the tablet provides access to key features, and the cellphone allows for some settings modification and remote functionality
2.4 Popular APIs for IoT
APIs play a crucial role in the Internet of Things (IoT) by securely exposing connected devices to
customers and other apps in the IT infrastructure This is particularly important as APIs connect
essential things like medical devices, cars, thermostats, and energy grids to the broader ecosystem Deploying scalable, flexible, and secure API management becomes crucial in facilitating this connection
In our everyday lives, many of us use smartwatches and fitness trackers connected to mobile phones, linking these devices to the internet and accessing services from providers APIs play a key role in connecting applications to these providers
Different Types of APIs in IoT:
SOAP:
Protocol defining communication between server and client in XML format
Web services publish their interface definition in a machine-readable document
JSON and XML:
Older methods compared to SOAP, using simpler approaches for calling and utilizing less
bandwidth
REST:
Representation State Transfer for establishing communication with electronic devices
Architectural principles, not just a protocol, with features like interface simplicity and resource identification
Top IoT APIs:
Google Assistant API:
Manages and converses with devices, providing voice control, language understanding, hot word detection, and other services
Figure 11 Google Assistant API logo
Trang 12Garmin Health API:
Allows mobile app developers to use health-related data collected from Garmin wearables, monitoring steps, calories, sleep, heart rate, stress, intensity, and more
Figure 12 Garmin Health API logo
Withings API:
Developed by Withings for IoT app development, focusing on measuring devices like blood pressure monitors and scales
Allows third parties to access users' activity data, supporting nearly thirty activity types
Figure 13 Withings API logo
Trang 13II Evaluation of a common IoT platform
1 Impact on Software Development Lifecycle (M1)
Software Specification
The customer and the engineer work together to figure out what services the software needs to
provide and the limitations on how it can operate and be developed The agreed-upon requirements are written down in a document called the Software Requirement Specification (SRS) This whole
process is also known as software requirements and is divided into four stages:
Feasibility Study: This is an analysis to see if it makes financial and technical sense to develop the software The study should be relatively quick and cost-effective
Requirement Elicitation and Analysis: This involves figuring out the system's requirements to understand what it needs It might include creating system models and prototypes
Requirement Specification: This step is about turning the system's requirements into written documents (user and system requirements) to move on to the next phase
Requirement Validation: This involves checking if the system requirements are complete and consistent Any mistakes in the document from the previous step are found and corrected Software development
Software development is the process of turning the specifications decided in the previous stage into a working system that can be executed It involves both designing and programming the software During the design process, the structure of the software is decided, and a data model is created to build a system architecture, specify the database, and outline interfaces and components This involves the following activities:
Architectural Design: In this phase, designers decide on the overall structure of the system, including its components They define the modules and subsystems along with their
arrangements and relationships
Interface Design: This phase focuses on creating interfaces for the system and its components, ensuring they work seamlessly
Component Design: Each part of the system is individually designed to determine what it does and how it operates This also considers reusing existing components
Database Design: Here, the database is designed, including the structure of the system's data and how it's represented in the database This also considers reusing existing databases
Software validation
Software validation is a crucial phase that involves confirming that the designed software meets the customer's specified requirements and expectations This includes both validating the development process and the final product
Component Testing:
Every component of the system is tested separately and independently
Trang 14 The system is tested using real data provided by the customer in acceptance testing
This ensures the system meets the customer's requirements, and they accept it for operational use
2 Impact on IoT Security (M2)
Even though IoT technology has many advantages and is well-regarded, it comes with several
difficulties and potential risks for users Below are these challenges:
Privacy Concerns:
Due to the vast amount of data collected by IoT, including information about everyday objects and potentially private details like users' locations or health records, people worry that this data could be accessed by unauthorized parties Ensuring and addressing these privacy concerns is crucial
Security Issues:
Connected to privacy, security challenges arise in safeguarding user data from unauthorized access, especially considering the reliance of IoT systems on networks Researchers are actively working on achieving high levels of security to mitigate these risks
Compatibility Challenges:
When devices from different manufacturers are linked through a network, ensuring compatibility is essential for the entire system to function properly While a common standard among manufacturers could address this, technical issues may persist
Data Authentication:
Verifying that IoT data comes from the correct sender to the intended receiver involves correctly identifying every object on the network These challenges highlight the complexities associated with IoT technology