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
ASSIGNMENT FRONT SHEET Qualification BTEC Level HND Diploma in Computing Unit number and title Unit 43: Internet of Things Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Bui Quang Minh Student ID GCD210325 Class GCD1104 Assessor name Tran Trong Minh 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 P5 P6 P7 M5 M6 D3 D4 Summative Feedback: Grade: Resubmission Feedback: Assessor Signature: Internal Verifier’s Comments: IV Signature: Date: Contents TASK DEVELOP IOT APPLICATION I Development of IoT application (P5) 1.1 Selection of tools, frameworks¸ and devices 1.2 Solution development II Testing and feedback (P6) 2.1 Testing result 2.2 Examination of Feedback 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 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 TASK 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 (HCSR501), RFID module (RC522), DHT11 sensor, and servo motor (SG90) Figure 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 Blynk IoT logo Microcontroller/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 Firebase logo 1.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 Environmental 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 Motion sensors successfully detect human presence Figure The RFID authentication process successfully grants access and open the door Figure DHT11 sensor providing accurate temperature and humidity readings 2.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 III 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 Fine-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 Data 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 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 TASK 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 1.3 Possibility of Commercialization Low Price: Positive reactions to the affordability of the IoT application, making it an easily accessible solution for potential customers Affordability is a key strength, contributing to the accessibility of the application This positive response supports the low-price aspect as a driving factor for potential commercial success Reality in Every Home: Users express that the application addresses a universal need, making it a practical addition to every home The perception that the application addresses a universal need strengthens its potential for widespread adoption This aligns with the reality of the IoT application becoming a common feature in households Security: Positive responses to the security features, emphasizing the importance of enhanced home security provided by the IoT application Security is highlighted as a key benefit by users This positive feedback enhances the application's credibility and emphasizes its role in fulfilling a crucial aspect of user needs 1.4 Ability of improvement User Interface Enhancement: Feedback: Some users express a preference for a more intuitive user interface Improvement Plan: Focus on refining the user interface for better user interaction and understanding Feature Expansion: Feedback: Users show interest in additional features beyond the current capabilities Improvement Plan: Explore opportunities for feature expansion, considering user needs and emerging trends Real-Time Notifications: Feedback: Users express interest in receiving real-time notifications for critical events Improvement Plan: Implement a real-time notification system to keep users informed promptly II Critical Review and Comparison (M6) 2.1 Success Meeting Initial Objectives: Original Plan: The original plan aimed to create an IoT application that prioritizes home security, environmental monitoring, and remote control Comparison: The final application successfully meets these objectives, providing security through RFID access control, door status monitoring, and environmental awareness with temperature and humidity sensors User Feedback Alignment: Original Plan: User feedback was anticipated to shape the application's evolution Comparison: The critical review indicates that user feedback has been considered and aligned with the application's enhancements Successes include positive responses to affordability, security features, and ease of integration Feasibility Validation: Original Plan: Technical, economic, and organizational feasibility were key considerations Comparison: Positive feedback on technical functionality, affordability, and ease of integration validate the feasibility outlined in the original plan 2.2 Challenges User Interface Feedback: Original Plan: User interface considerations were mentioned but may require refinement Comparison: User feedback suggests a need for improvements in the user interface This identifies an area for future development to enhance user experience Continuous Education Requirement: Original Plan: Emphasized the importance of continuous user education Comparison: User feedback indicates a need for ongoing education to maximize the benefits of the IoT application The plan for the next version should incorporate educational initiatives 2.3 Learned Lessons Adaptation to User Needs: Original Plan: User feedback was anticipated to guide improvements Comparison: The critical review emphasizes the importance of adaptability and responsiveness to user needs Lessons learned include the need for continuous refinement based on user experiences Feature Expansion Opportunities: Original Plan: Emphasized the potential for feature expansion Comparison: User feedback expresses interest in additional features, providing opportunities for future development and feature expansion III Critique the overall success of the application (D4) 3.1 Problem resolution Problem Statement: Original Problem: Enhancing home security, environmental monitoring, and remote control through an IoT application Success Evaluation: Application's Role: The IoT application successfully addresses the original problem by providing effective home security (RFID access control), environmental monitoring (temperature and humidity sensors), and remote control functionalities 3.2 Potential On Business: The application's low-cost nature and positive feedback position it favourably for market adoption, potentially leading to increased business opportunities On Society: Improved home security can contribute to overall community safety Environmental monitoring aligns with sustainability goals, fostering a positive societal impact On End-Users: End users benefit from a secure home environment, real-time environmental insights, and the convenience of remote control The positive user experience contributes to overall satisfaction 3.3 Integration Challenges into the Wider IoT Ecosystem Data Security and Privacy: Challenge: Sharing data with the wider IoT ecosystem may raise concerns about data security and privacy Mitigation: Implementing robust data encryption, user authentication, and clear privacy policies can address security and privacy concerns Scalability: Challenge: As the application scales, challenges related to data processing and system responsiveness may arise Mitigation: Employing scalable architecture and periodic system optimization can address scalability challenges TABLE OF FIGURES Figure Arduino IDE logo Figure Blynk IoT logo Figure Firebase logo Figure Motion sensors successfully detect human presence Figure The RFID authentication process successfully grants access and open the door Figure DHT11 sensor providing accurate temperature and humidity readings Figure Thief illustration 12