Skip to content

Discord RFID Attendance System realized with ESP32 (esp-idf) and C# (WinForms)

License

Notifications You must be signed in to change notification settings

abobija/discord-rfid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

discord-rfid

Discord RFID Attendance System realized with ESP32 (esp-idf) and C# (WinForms)

Cloning

git clone --recursive https://github.com/abobija/discord-rfid.git

Demonstration video

Discord-Driven RFID Attendance System ... C#, ESP32 + MFRC522

Abstraction

Abstraction

What is this?

This repository represent RFID Attendance System realized with using Discord as communication layer between ESP32 (+MFRC522) as IoT device on one side, and WinForms desktop application as a server on the other side.

System is design in a way that there can be multiple devices, for example if company that uses this app is in need to install RFID devices on more than one entrance.

How it works?

When new RFID tag is applied over the RFID scanner module ESP32 will immediately serialize it into appropriate package and push it to the Discord server into specific channel. When package arrives in channel, Discord will forward it to the WinForm application through the permanent WebSocket channel. WinForms application will than deserialize package and do validation (does received message represent package, does user who sends package has slave role, does received tag exists in local database etc...). If validation passed new activity of appropriate Employee will be stored into SQLite database.

Creation of required Discord channel, as well as roles for differentiate between slave (ESP32) and master (WinForm app) is done automatically (by user approvement) on first (WinForm) application startup. Only what needs to be manually done is to assign slave role to ESP32 bot in Discord server settings, once when WinForm application create roles (this can be as well automatically done but it's not implemented in current v1.0.0.0 version).

Tool stack

Author

GitHub: abobija
Homepage: abobija.com

License

MIT