fablab-bergamo / rfid-database-interface

1 stars 0 forks source link

rfid-access

Roles

Admin(s)

One or a few admins of the infrastructure

Crew

The organization's Crew, performing specialistic maintenance, allowed to add new user

User

A registered member of the organization.

User proprieties

Endpoints

Access endpoint

Access Purpose - general operation

This endpoint's purpose is to keep track of the presence of a user in the lab's facilities, in compliance to the COVID-19 regulations. At arrival, the user presents his card to the RFID reader and is then registered. When the user leaves, presents his card again to the reader and the exit time is registered. If no logout is made before 00AM, the user is automatically logged out, with 23:59:59 exit time. The access endpoint should show the number of active users on that moment.

Access Interface

The user can interact with this endpoint via the RFID reader and a 16x2 LCD.

Access Checks

Machine endpoint

Machine Purpose - general operation

This endpoint will be installed into the machines, cutting power to the machine, until a valid RFID card is presented. At this point starts the session for that user and powers up the machine. The session is then terminated by the user by presenting again the RFID card or by powering off the machine. An user shouldn't be allowed to user any machine if didn't made access to the access endpoint.

Machine Interface

The user can interact with this endpoint via the RFID reader and an RGB LED. Optionally, a 16x2 LCD can be added.

Machine Statuses

Machine Checks

Administrative endpoint

Administrative Purpose - general operation

The admin endpoint is a pc based application to which an admin has access. It might be a Python application (advantageous for the integration with the USB RFID reader) or a web browser page, or a combination of the two.

Administrative Capabilities

Administrative Checks

Server side

Sequence diagrams

Keep alive diagram

keep alive

Machine connection diagram

machine connection

User interaction diagram

user interaction

MQTT interface

When the machine connects:

  1. publish a message "connect" to the topic "machine/"
  2. periodically publish a message "alive" to the topic "machine/"

both message and topics can be changed by editing the settings.toml file.

Frontend

Backend