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
Qualification BTEC Level 5 HND Diploma in Computing
Unit number and title Unit 43: Internet of Things
Student declaration
I certify that the assignment submission is entirely my own 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 2 Summative Feedback: Resubmission Feedback:
Internal Verifier’s Comments:
IV Signature:
Trang 3Contents
TASK 1 DEVELOP IOT APPLICATION 4
I Development of IoT application (P5) 4
1.1 Selection of tools, frameworks¸ and devices 4
1.2 Solution development 6
II Testing and feedback (P6) 7
2.1 Testing result 7
2.2 Examination of Feedback 9
III Analysis and improvement plan (M5) 10
3.1 Advantages and disadvantages 10
3.2 Improving disadvantages 10
3.3 Improvement plan 11
IV Critical evaluation security risks (D3) 11
4.1 RFID Security Risks 11
4.2 Simple solutions 12
TASK 2 TEST AND EVALUATE USER FEEDBACK 13
I Run IoT Application and Gather Feedback (P7) 13
1.1 How my IoT meet the requirements 13
1.2 Feasibility 13
1.3 Possibility of Commercialization 14
1.4 Ability of improvement 14
II Critical Review and Comparison (M6) 15
2.1 Success 15
2.2 Challenges 15
2.3 Learned Lessons 15
III Critique the overall success of the application (D4) 16
3.1 Problem resolution 16
3.2 Potential 16
3.3 Integration Challenges into the Wider IoT Ecosystem 16
TABLE OF FIGURES 17
Trang 4TASK 1 DEVELOP IOT APPLICATION
I Development of IoT application (P5)
1.1 Selection of tools, frameworks¸ and devices
In developing my IoT application, the selection of appropriate tools and frameworks plays a crucial role in ensuring efficient coding, seamless integration, and reliable performance The following tools and frameworks have been carefully chosen based on their compatibility with my hardware
components and the specific requirements of the project
Arduino IDE:
The Arduino IDE was selected as the primary development environment for coding my IoT application This choice stems from its user-friendly interface, extensive community support, and compatibility with the NodeMCU ESP8266, which is at the core of my project The Arduino IDE simplifies the
programming process, allowing me to effectively implement functionalities for the motion sensor (HC-SR501), RFID module (RC522), DHT11 sensor, and servo motor (SG90)
Figure 1 Arduino IDE logo Blynk IoT Platform:
To enable remote monitoring and control of my IoT devices, I have integrated the Blynk IoT platform into my project Blynk provides a versatile and user-friendly interface, allowing users to interact with
my IoT application through a smartphone or laptop With Blynk, I can easily create a customized dashboard to control the servo motor, monitor sensor readings, and receive real-time updates on the status of my connected devices
Figure 2 Blynk IoT logo
Trang 5Microcontroller/Devices:
NodeMCU ESP8266:
Description: Central microcontroller providing processing power and Wi-Fi connectivity for seamless integration of sensors and actuators in the IoT application
Motion Sensor HC-SR501:
Description: Detects human presence, triggering actions such as controlling the servo motor to open or close the door based on detected motion
RFID RC522:
Description: Enhances security by validating individuals through RFID cards, allowing or
denying access based on RFID card authentication
Servo SG90:
Description: Controls the opening and closing of the door in response to motion detection and RFID authentication, contributing to the automation aspect of the project
DHT11–Temperature and Humidity Sensor:
Description: Monitors and controls temperature and humidity levels within the environment, ensuring the IoT application can maintain optimal conditions
Firebase:
For efficient data management and storage, I have integrated Firebase into my IoT application
Firebase serves as a cloud-based database, allowing me to securely store and retrieve sensor data By leveraging Firebase's real-time database capabilities, I ensure that users can access the latest
information regarding temperature, humidity, and motion detection This integration facilitates data synchronization across devices and enables seamless scalability
Figure 3 Firebase logo
Trang 61.2 Solution development
I have developed the IoT application using the Arduino IDE, leveraging the capabilities of the
NodeMCU ESP8266 microcontroller The code integrates various components, including sensors, actuators, and communication modules, to create a smart home system with security and
environmental control features
Motion Sensor HC-SR501:
The motion sensor (HC-SR501) is utilized to detect human presence When motion is detected, the system responds by triggering the servo motor to control the opening and closing of the door
Additionally, the motion sensor initiates the RFID card authentication process
RFID RC522:
The RFID module (RC522) enhances security by validating individuals through RFID cards Access is granted or denied based on the authentication of RFID cards Authorized individuals can open the door, while unauthorized attempts are logged and denied
Servo SG90:
The SG90 servo motor is employed to physically control the opening and closing of the door It
operates in response to both motion detection and RFID card authentication, contributing to the automation aspect of the project
DHT11–Temperature and Humidity Sensor:
The DHT11 sensor monitors and controls the temperature and humidity levels within the
environment The obtained data is sent to the Blynk IoT platform for remote monitoring and is also stored in the Firebase real-time database
Blynk Integration:
Blynk is integrated into the project to enable remote monitoring and control of IoT devices through a smartphone or laptop The Blynk app provides a customized dashboard, allowing users to interact with and monitor various aspects of the smart home system, including temperature, humidity, and door status
Firebase Integration:
Firebase is utilized for efficient data management and storage Sensor data, including temperature, humidity, motion events, and door status, is sent to the Firebase real-time database This integration facilitates real-time synchronization and retrieval of data for further analysis and monitoring
Security and Authentication:
The system employs RFID card authentication for door access control Authorized RFID cards are associated with specific individuals, and access attempts are logged in the Firebase database
Additionally, the system captures motion events and logs them along with the corresponding member details
Trang 7Environmental Monitoring:
The DHT11 sensor continuously monitors temperature and humidity levels within the environment This data is not only displayed on the Blynk app but is also stored in Firebase, allowing for historical tracking and analysis
Code Structure and Organization:
The Arduino sketch is organized into functions, each dedicated to specific tasks such as
opening/closing the door, checking RFID cards, sending motion data, and handling environmental monitoring This modular structure enhances code readability and maintainability
II Testing and feedback (P6)
2.1 Testing result
During the testing phase of the IoT application, I conducted a series of experiments to evaluate the functionality and performance of the system The primary focus areas were motion detection, RFID authentication, door control, environmental monitoring, Blynk integration, and Firebase data storage
Figure 4 Motion sensors successfully detect human presence
Trang 8Figure 5 The RFID authentication process successfully grants access and open the door
Figure 6 DHT11 sensor providing accurate temperature and humidity readings
Trang 92.2 Examination of Feedback
Good Points:
Reliable Motion Detection: The motion sensor (HC-SR501) consistently detects human
presence, triggering the desired actions
RFID Authentication: The RFID authentication process effectively grants access to authorized individuals based on recognized RFID cards
Door Control: The SG90 servo motor successfully controls the door's opening and closing, providing a seamless automation experience
Environmental Monitoring: The DHT11 sensor reliably monitors and reports temperature and humidity levels in real-time
Blynk Integration: The Blynk IoT platform provides a user-friendly interface for remote
monitoring and control, enhancing the overall user experience
Firebase Data Storage: Firebase successfully stores sensor data, ensuring historical tracking and analysis are possible
Not Good Points:
RFID Card Recognition Speed: In some instances, the RFID card recognition process exhibited a slight delay This delay could impact the user experience, especially in high-traffic scenarios
Motion Detection Timeout: The motion detection timeout may be set too short for certain scenarios Adjustments might be needed to ensure that legitimate user actions are not
interrupted
Explanation for Not Good Points:
RFID Card Recognition Speed: The delay in RFID card recognition may be attributed to factors such as signal interference or the need for additional optimization in the RFID code Further investigation and fine-tuning of the RFID authentication process are recommended to enhance response times
Motion Detection Timeout: The current motion detection timeout of 15 seconds may be too short for situations where users need extended access Adjusting the timeout duration or implementing dynamic timeout based on user activities could address this limitation
Trang 10III Analysis and improvement plan (M5)
3.1 Advantages and disadvantages
Advantages of Chosen IoT Techniques:
Flexibility with Arduino IDE: Using the Arduino IDE provides a versatile and user-friendly platform for coding the NodeMCU ESP8266, enabling seamless integration of various sensors and actuators
Blynk IoT Platform for User Interaction: Integration with the Blynk IoT platform enhances user interaction by providing a customizable dashboard for remote monitoring and control via smartphones and laptops
Firebase for Data Management: Utilizing Firebase as a cloud-based database ensures efficient data management, real-time synchronization, and historical tracking of sensor data
Modular Code Structure: The modular code structure enhances code readability and
maintainability, allowing for future enhancements and optimizations
Disadvantages and Areas for Improvement:
RFID Card Recognition Speed: The RFID card recognition process exhibits a slight delay,
impacting the user experience, especially in scenarios with high RFID card usage
Motion Detection Timeout: The fixed motion detection timeout of 15 seconds may not be suitable for all scenarios, potentially interrupting legitimate user actions
3.2 Improving disadvantages
Improve RFID Card Recognition:
Optimization of RFID Code:
Conduct a detailed review of the RFID authentication code
Optimize the code for faster recognition, minimizing delays in the authentication process Error Handling Mechanisms:
Implement robust error-handling mechanisms to address potential delays or communication issues during RFID card recognition
Signal Quality Enhancement:
Evaluate and enhance the signal quality between the RFID module and the RFID cards
Consider shielding or repositioning the RFID components to minimize interference
Enhance Motion Detection:
Dynamic Timeout System:
Implement a dynamic motion detection timeout system that adapts based on user activities
Allow for longer timeouts during continuous user presence and shorter timeouts during intermittent activities
Trang 11Fine-Tuning Sensitivity:
Fine-tune the motion sensor sensitivity settings to optimize detection accuracy while
minimizing false positives
User Feedback Integration:
Incorporate user feedback mechanisms to better understand and adapt to user preferences regarding motion detection timeout
3.3 Improvement plan
Continuous Testing and User Feedback:
Conduct thorough testing with diverse scenarios to identify additional areas for improvement
Solicit continuous user feedback to understand user preferences and pain points
Iterative Code Refinement:
Implement iterative code refinement based on feedback and identified issues
Continuously optimize the application code for improved performance and reliability
Regular Software Updates:
Plan and execute regular software updates to address emerging challenges, implement
enhancements, and introduce new features
Community Engagement:
Engage with the developer community and seek insights from other IoT enthusiasts to
leverage collective knowledge for further improvements
Documentation and Knowledge Sharing:
Maintain comprehensive documentation to facilitate troubleshooting, updates, and
collaboration
Share knowledge gained during the improvement process with the community
IV Critical evaluation security risks (D3)
4.1 RFID Security Risks
Unauthorized Access:
Risk: Someone might try to use a fake or unauthorized RFID card to gain access to the secured area
Evaluation: Assess the system's ability to detect and reject unauthorized RFID cards
Addressing the Risk: Strengthen authentication processes to minimize the chances of
unauthorized access
Trang 12Data Interception:
Risk: Information transmitted between the RFID card and the system could be intercepted by malicious entities
Evaluation: Examine the encryption methods used to protect data during RFID communication
Addressing the Risk: Implement robust encryption techniques to safeguard data during
transmission
RFID Cloning:
Risk: An attacker might attempt to clone an RFID card to gain unauthorized access
Evaluation: Assess the system's resilience against RFID cloning attempts
Addressing the Risk: Implement measures such as unique identifiers and secure key
management to prevent cloning
Figure 7 Thief illustration 4.2 Simple solutions
Regular System Audits: Regularly audit the system to detect any unusual activities or attempts
at unauthorized access
Encryption Best Practices: Ensure the use of strong encryption methods to protect data
exchanged during RFID communication
User Education: Educate users about the importance of safeguarding their RFID cards and report any lost cards promptly
Trang 13TASK 2 TEST AND EVALUATE USER FEEDBACK
I Run IoT Application and Gather Feedback (P7)
1.1 How my IoT meet the requirements
Requirement 1: Protect Family Members:
Feedback: Users appreciate the application's role in enhancing home security, and ensuring family members are protected from strangers or potential intruders
Requirement 2: Door Status Monitoring:
Feedback: Positive responses regarding the ability to know when the door is open or closed, with the added benefit of identifying who is accessing the home
Requirement 3: Temperature and Humidity Monitoring:
Feedback: Users find value in the environmental monitoring feature, allowing them to stay informed about temperature and humidity levels within their homes
Requirement 4: Remote Control:
Feedback: Positive sentiments regarding the ease of remote control capabilities, providing users with convenient access and control over their home security and environmental conditions
1.2 Feasibility
Technical Feasibility:
High-tech components and sensors are well-received, with positive feedback on the effective functioning of the IoT application
The positive response to the technical aspects indicates a strong foundation for the
application, establishing its technical feasibility Further enhancements could focus on
continuous improvement and staying abreast of technological advancements
Economic Feasibility:
Users appreciate the low-cost nature of the application, making it accessible to a wide range of households High demand is noted, indicating economic feasibility
The positive feedback on affordability and high demand underscores the economic feasibility
of the IoT application This positions it well for widespread adoption and potential market success
Organizational Feasibility:
Users find the application easy to integrate into their existing home environments, minimizing disruptions and ensuring seamless adoption
The ease of integration reported by users establishes strong organizational feasibility This suggests that the application aligns well with existing home setups, fostering user acceptance and integration