Network of cleaning robots to combat Coronavirus
- Requirements
- Libraries
- SQL Database Setup
- Test Cases
Python Compiler Version 3.7 which can be installed here
Note: Library incompatibilities with Python 3.8
- socket
- json
- threading
- time
- base64
- random
Used for password hashing
$ pip install bcryptUsed for low-level cryptography
$ pip install pycryptodomeImplements low-level packaging
$ pip install distlibProvides networking and cryptography capabilities
$ pip install PyNaClUsed for database connections and queries
$ pip install mysql-connector-pythonGo to the link below and download the MySQL Community Server:
[https://dev.mysql.com/downloads/mysql/]For macOS download the version titled:
macOS 10.15 (x86, 64-bit), DMG ArchiveFor Windows, download the version titled:
Windows (x86, 64-bit), ZIP ArchiveDownload the SQLWorkbench from the following link:
[https://www.mysql.com/products/workbench/]Click the "Download Now" button, then navigate to the botton of the page. Select your operating system and click download.
- Navigate to System Preferences on your device.
- Click the MySQL icon.
- CLick initialise database.
- Enter a password for the database root user (password123)
- Click Use Legacy Password Encryption and press ok
- Click Start MySQL Server
Open the MySQL Workbench:
- Click '+' icon beside MySQL Connections
- Name the connection "Test Connection"
- Beside password, click Store in Keychain and enter password123
- Click Test Connection to check the connection
- From the bar at the top of the application, select Server > Data Import
- Choose Import from Self-Contained File and select the
sql_dump.sqlfile - Click Start Import in the bottom right of the screen
- Run HospitalServer.py
- Run Staff.py
- Enter username: Gwen and password: gwenpw
- Enter a room number for cleaning
Result:
- "Welcome to the Hospital System" message displayed after successfull login
- "Room number added successfully" message displayed after room added to cleaning list
- "New Server connection" message displayed in HospitalServer.py
- Run Robot.py
- Enter Robot id: 1 and password: robot1
Result:
- "Welcome to the Hospital System" message displayed after successfull login
- Update messages on the current status of the robot outputted periodically
- "New Robot connection" message displayed in HospitalServer.py
- Run Staff.py or Robot.py
- Enter an incorrect username of password
Result:
- Incorrect username/password messages are diplayed
- Login the same staff/robot at the same time
Result:
- "Staff/robot already logged in" message is displayed
- Run Staff.py or Robot.py without running HospitalServer.py
Result:
- "Server Offline" message is displayed