RFID card reading application for Client and Server. Client application simulate terminal which can read RFID cards (temporary mocked, target by rasberryPi with RFID card reader). Server application - allow to control data in database and generate various reports
- ✅ Client server publish/subscribe messaging pattern (by using MQTT 3.1.1 protocol)
- ✅ Security and authentication (By using SSL and uthentication mechanism)
- ✅ MVC (Model-View-Controller)
- ✅ Documentation
- ✅ Use Case Daigram:
use_case_diagram.pdf
For more: see screenshots
directories
- Install required packages (MQTT)
pip install -r requirements.txt --user
-
Generate certificates and keys: Generate pair of keys:
openssl genrsa -des3 -out ca.key 2048
Make certificate:
openssl req -new -x509 -days 1826 -key ca.key -out ca.crt
Make another pair of keys:
openssl genrsa -out server.key 2048
Sign certificate:
openssl req -new -out server.csr -key server.key
Verify certificate
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 360
-
Make password file (in your mosquitto installation folder, e.g.
/etc/mosquitto/
):
mosquitto_passwd -c passwd.conf server
-
Modify mosquitto.conf file. Append this lines to it:
allow_anonymous false password_file //path to passwd.conf which you had made in section 3// port 8883 cafile //path to ca.crt which you had made in section 2// certfile //path to server.crt which you had made in section 2// keyfile //path to server.key which you had made in section 2//
-
Navigate do client or server directory
-
Run script
- Windows
Run bash script run_windows.bat
- Linux
Run shell script run_linux.sh
You can also run this application by commend:
python3 main.py
To open documentation:
- open
server
orclient
directory - unzip
doc.zip
file - open
index.html
file
You can also find report for this project (PL language, 16 pages)
Report_PL.pdf
Created by
gajerski.lukasz@gmail.com - feel free to contact me! ✊