I declare that this report entitled "A PROTOTYPE OF SMART PARCEL BOX" is my own work, except as cited in the references. This is to prevent the package from being stolen by keeping it locked in the package box.
Introduction
- Problem Statement and Motivation
- Project Objectives
- Project Scope and Direction
- Contributions
- Report Organization
The prototype of the smart parcel machine will function as a receiver that helps to receive the parcel from the deliverer. After that, the smart parcel box will open the door to receive the parcel and inform the recipient that the parcel has been received.
Literature Reviews
- Raspberry Pi vs Arduino
- Raspberry Pi
- Barcode vs QR Code
- Barcode
- Survey on the Problem
- Review of the Existing Systems
- Arduino Based Smart Box
- Comparison between Two Existing Systems
Although Arduino sounds better in the automation project, Raspberry Pi is more suitable for the development of the smart package box. From the point of view of the authors' smart package box design, even though they have the security password that allows the user to secure everything in the package box.
SYSTEM METHODOLOGY /APPROACH
- Methodology
- System Development Model 1: Waterfall Model
- System Development Model 2: Spiral Model
- System Development Model 3: Prototyping Model
- Selected Model
- System Requirement
- Hardware
- Software
- Functional Requirement
- QR Code Detection
- QR Code Verification
- Photo Capture
- Notification to Receiver
- Website
- Project Milestone
- Estimated Cost
After some testing on the system prototype, a complete functional system will be developed that will meet most user requirements [20]-[21]. On the main page of the site there will be a list of received packages listed in one.
Grand Total RM 229.83
Concluding Remark
Briefly, this chapter discussed three different system development models and choose an appropriate model to use in this project, which is the prototype model.
System Design
System Architecture
- Overall System Design
- Website Architecture Design
If the user wants to register an account, he or she will be taken to the user registration page. Otherwise, the user will be taken directly to the home page with the correct username and password input. On the home page, the user will find a list of incoming packets, received packets, and abnormal activities.
After that, the user can refer to many pages of the website, for example, parcel tracking page, account setting page, parcel box control page, history record page and insert new tracking number page. On the account settings page, user can choose to go to the password page or account deletion page. Also in the history record page, user can choose to go to received packet history page or abnormal activity history page.
Functional Modules in the System
- QR Code Detection
- QR Code Verification
- Photo Capture
- Notification to Receiver
- Website
- User Registration
- User Login
- Insert New Tracking Number
- Incoming Parcel Tracking
- Received Parcel Confirmation
- Checking on Abnormal Activity
- Lock or Unlock Parcel Box Manually
- View History Record
- Account Password Reset
- Account Deletion
The system will verify the user input with the MySQL database to avoid duplicate username and email. The system will verify the user input and compare it with the data stored in the database. If the user input does not match the information in the database, the user cannot log in to the website.
Every abnormal activity will be recorded in a database, the website will retrieve the information from the database and filter out with the record that is unchecked by the user. A button will be provided by the system for the user to recognize and check the abnormal activity, after which the system will mark it as flagged abnormal activity. The system will check the user input with the information in the database, only the valid user input will proceed with the account deletion process.
When the process is complete, the user's account information will be removed from the database.
System Flowchart
- Overall System
- User Registration
- User Login
- Insert New Tracking Number
- Account Password Reset
- Account Deletion
If the data matches, the servo motor turns to unlock the package box. If the information does not match, the system will record it as unusual activity and update the database with the event time and information detected from the QR code. If the user input is valid, the system will update the database by inserting a new record into the user account database.
To log in, the system will ask the user for a username and password, and then confirm the user input. To reset the account password, the user must enter the username, old password, new password and confirm the new password, then the system will verify the user input before continuing the process. Invalid input conditions, including mismatched username or old password, mismatched new password and new password confirmation, and any blank value.
The system will update database by removing the user information from the user account database if the user input is validated.
Database Design
- Entity Relationship Diagram (ERD)
- Data Dictionary - Users Database
- Data Dictionary - Tracking Database
- Data Dictionary - Abnormal Database
This database is used to store information such as username, first name, last name, email and password. Tracking_num stores the package tracking number that the system uses to verify the QR code scanned by the camera. Parcel_received_time records the timestamp of when the parcel was received, a null value means that the parcel has not been received yet.
Photo is to save the photo taken by the camera when the package is received, zero value means the photo has not been taken yet. Username is used to identify the abnormal activity under which user's smart parcel box. Photo is to save the photo taken when the abnormal activity occurred and save in BLOB data form.
The checked field is to identify whether the recipient has checked for abnormal activity.
Algorithm Design
- Hashing Algorithm
Graphical User Interface Design (Website)
- Login Page
- Account Registration Page
- Home page
- Insert New Tracking Number Page
- Parcel Box Control Page
- History Record Page
- History Record Page – Parcel Record History
- History Record Page – Abnormal Activity History
- Account Setting Page
- Account Setting Page – Change Password
- Account Setting Page – Delete Account
Incoming Parcel Section - a list of incoming parcels is shown to the user and there is a "Track" button which will take the user to the parcel tracking website. Received Package Section – a list of received packages and its information is shown to the user and a “Verify” button for user to acknowledge and confirm the received package. Abnormal activity – a list of abnormal activity and related information is shown to user and a "Check" button for user to mark as marked on the abnormal activity.
It requires the user to enter the tracking number and select a courier from the predefined list. The "Unlock" and "Lock" buttons are for the user to control the smart parcel box manually. Show – to let the user see the route taken for the package, which will redirect the user to the package tracking website.
There are two main sections that allow the user to choose which type of account setup they want, namely change password and delete account.
Use Case Diagram and Description
- Use Case Diagram
- Use Case Description of UC001
- Use Case Description of UC002
- Use Case Description of UC003
- Use Case Description of UC004
- Use Case Description of UC005
- Use Case Description of UC006
- Use Case Description of UC007
- Use Case Description of UC008
- Use Case Description of UC009
- Use Case Description of UC010
- Use Case Description of UC011
User cannot log in if the username and password do not match information in the database. User will be redirected to the package tracking website based on the tracking number and carrier. The parcel cannot track if the user has entered a wrong parcel tracking number or wrong courier in the database.
The user cannot see any record if the confirmed received packet or the monitored abnormal activity data is empty. User key in username, old password, new password and confirm the new password in the account password reset page. Prerequisite: Username and old password must match information in database, new password and new password must match.
Account will be permanently deleted if the username and password match the information in the database.
Concluding Remark
SYSTEM IMPLEMENTATION
- Hardware Setup
- Software Setup
- Raspberry Pi OS
- OpenCV / pyzbar
- WAMP Server
- Telegram Bot
- Setting and Configuration
- Raspberry Pi Camera Module
- WAMP Server
- Telegram Bot
- Main Python Script
- System Operation
- Main Function
- Parcel Box Control Function
- Telegram Bot Notification
- concluding Remark
As for the wiring between Raspberry Pi and SG90 Micro Servo, the connection is shown in Figure 5.3 and Table 5.1. Go to 127.0.0.1 in the web browser. The page will look like Figure 5-8 if the WAMP server is properly installed and running. After that, a window will appear as shown in Figure 5.11, enable the interface of the camera (circled in red).
As shown in Figure 5.14, enter the database created in the previous step and create three tables to store the data. In Figure 5.15, enter the username and hostname based on the Raspberry Pi IP address. To get the user's Telegram chat ID, the user must first send a message to the Telegram bot, as shown in Figure 5.17.
From Figure 5.25, the result shows the process of QR verification, once the QR code is detected on the Raspberry Pi camera module, the system will analyze the data from.
SYSTEM EVALUATION AND DISCUSSION
- System Testing and Performance Metrics
- Testing Setup and Result
- Testing of the Raspberry Pi Camera Module
- Normal Light (Test 10 times)
- Little Light (Test 10 times)
- No Light (Test 10 times)
- QR Get Wet from Water (Test 10 times) Table 6.4 Result of System Testing (4)
- Flaws on QR (Test 10 times)
- Testing of the Servo
- System Control (Test 10 times)
- Receiver Control (Test 10 times)
- Testing of the Database
- Testing of the Telegram Bot
- Project Challenges
- Objectives Evaluation
- Concluding Remark
If there are errors in the QR code, the accuracy will be 50%, as it depends on the state of the error, as shown in Figure 6.1 and Figure 6.2. The accuracy test tests the accuracy of the servo based on the result of QR verification or the receiver's check. As for the connectivity test, it tests how long it takes for the servo to function after the control signal is given.
For the Telegram bot test, the accuracy test will be based on the content of the message, either notification of package received or warning of abnormal activity. Then the connection must test the delay (in seconds) of the message received after the system sent the message. The system test result of Telegram bot can prove that the accuracy and connectivity of the messaging module can work well.
Tests are being performed on the Raspberry Pi camera module, servo motor, database and Telegram bot.
Conclusion
Conclusion
Since every interaction between people has a chance of contracting the Covid-19 virus, contactless delivery will therefore also protect the recipient and the deliverer from the Covid-19 virus.
Future Work
BIBLIOGRAPHY
Panko, “Package Theft Statistics: How to Prevent Lost or Stolen Packages | Clutch.co,” clutch.co, 2019. Keawwang, “Arduino Based Smart Box for Receiving Parcel Posts,” 2020, 18th International Conference on ICT and Knowledge Engineering (ICT&KE), Nov.
APPENDIX
FINAL YEAR PROJECT WEEKLY REPORT
- WORK DONE
- WORK TO BE DONE
- PROBLEMS ENCOUNTERED - None
- SELF EVALUATION OF THE PROGRESS - Looking forward to working on the project
- PROBLEMS ENCOUNTERED
- SELF EVALUATION OF THE PROGRESS
- SELF EVALUATION OF THE PROGRESS - Overall, the progress of the project is as scheduled
- WORK TO BE DONE - None
- WORK DONE - System prototype
- WORK TO BE DONE - Finalize system prototype
- WORK TO BE DONE - Presentation
- PROBLEMS ENCOUNTERED - No issue on the finalization of project
- SELF EVALUATION OF THE PROGRESS - The project completed as scheduled
Write a python script to generate a QR code - Write a python script to read data from a QR code. Updating and upgrading Raspberry Pi OS takes longer due to internet connectivity. I am trying to take up FYP1 work and get familiar with the system easily.
Configuring the Telegram Bot takes a bit of time, but integrating the Telegram Bot into the python script is easy and works great. The website design process takes longer as it involves UI and UX design. System process prototyping is very slow because the Raspberry Pi has little memory to run efficiently.
System tests take longer because the Raspberry Pi has little memory to run efficiently.
POSTER
PLAGIARISM CHECK RESULT
Form Title: Supervisor Comments on Originality Report Generated by Turnitin for Final Year Project Report Submission (for Undergraduate Programs). The required originality parameters and limitations approved by UTAR are as follows:. i) the total similarity index is 20% or less, and. ii) Matching of individual cited sources must be less than 3% each and (iii) Matching of texts in a continuous block must not exceed 8 words. Note: Parameters (i) – (ii) exclude citations, bibliography and text matches of less than 8 words.
Note: Supervisor/candidate(s) are required to provide a soft copy of the full set of the originality report to the faculty/department. Based on the above findings, I hereby declare that I am satisfied with the originality of the final project report submitted by my students as mentioned above.
UNIVERSITI TUNKU ABDUL RAHMAN