Skip to content

SeaDve/uets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Universal Entity Tracking System (UETS)

UETS is a universal system that tracks entities using RFID tags. It is designed to be used in a variety of applications, such as inventory management, establishment access control, and more.

πŸ•ΉοΈ Operation Modes

πŸ”’ Counter

This is used for entities that don't have any specific data (e.g., mall entry counter).

πŸ•’ Attendance

This is used for tracking attendance, whereas unauthorized entities are not allowed to enter (e.g., classroom, meeting room, school gate, establishment entry).

πŸš— Parking

This is used for tracking parking spaces and vehicles (e.g., parking lot).

This is useful for tracking how long a vehicle has been parked and whether it is authorized to park.

πŸ“¦ Inventory

This is used for entities that have lifetime, location, and quantity (e.g., stock room, department store, medicine storage).

🧊 Refrigerator

This is used for entities that have lifetime and quantity (e.g., food storage).

This is experimental as it is labor-intensive to tag entities with this kind.

✨ Features

πŸ“Š Report Generation

  • Filter by date range, entity ID, name, location, etc.
  • Visualize data in a graph.
  • Create report about depleting stocks, overflows, nearly expiring items, etc.
  • Export as PDF or XLSX via QR code.

⏱️ Real-time Monitoring

  • View entities entering and exiting in real-time.
  • View real time statistics and graphs.
  • Notify on stock depletion, capacity overflow, or expiring items.

🧾 Easy Data Handling

  • Pre-input data via spreadsheet files.
  • Support for BPSU CEA's QRifying system and national ID QR codes.

πŸ€– Automation

  • Automatically control IoT devices, such as lights, doors, etc. based on entity count data.

πŸ”’ Security

  • Prevents unauthorized entities from entering, such as those without IDs or disallowed entities.
  • Prevents overstay of entities. This is useful for parking lots, classrooms, arcade games, etc.

πŸ“ˆ Smart Data Analysis

  • Provide insights on data.
  • Detects anomalies in data, such as sudden increase in entity count, etc.
  • Predicts future entity count based on historical data.
  • Suggests optimal stock levels based on historical data.
  • Provide recipes based on available stock.

πŸš€ Planned Features

  1. Override timeline items for errors
  2. Show license of all libraries
  3. Implement local transfer wormhole
  4. Support changing stock id
  5. Consider entity name on sorter, etc.
  6. Ability to filter entity data on report generation

πŸ“· Screenshots

Dashboard

Dashboard

Dashboard 1

Dashboard 2

Camera Live Feed

Camera Live Feed

Detected Without IDs

Detected Without IDs

Entity Gallery

Entity Gallery

Data Analyzer and Assistant

Data Analyzer and Assistant

Advance Data Registration

Advance Data Registration

Timeline

Timeline

Entities View

Entities View

Entity Details

Entity Details 0

Entity Details 1

Entity Details Editor

Entity Details Editor

Stocks View

Stocks View

Report Generation

Report Generation

Settings

Settings 0

Settings 1

Date Time Range Picker

Date Time Range Picker

πŸ—οΈ Building and Running

  1. Set up a toolbox container.
    • Run, toolbox create --distro ubuntu --release 24.04
  2. Set up Rust via rustup.
    • Optionally, install rust-analyzer via rustup component add rust-analyzer.
  3. Run ./setup to install the required dependencies.
  4. Run ./run to build and run the project.

πŸ”Œ Setting up Raspberry Pi

πŸ”ƒ Upload Code

  1. Run the following command to upload or sync the code to the device:
rsync --filter=':- .gitignore' --exclude \".*/\" -aP ./ $REMOTE_DIR

πŸ› οΈ Setup Touchscreen Display

  1. Set display orientation to portrait mode via GNOME Control Center.
  2. Fix touchcreen calibration rules by adding the following to /etc/udev/rules.d/99-calibration.rules:
ATTRS{name}=="wch.cn USB2IIC_CTP_CONTROL", ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 -1 0 1"
  1. Reboot the system.

About

Universal Entity Tracking System

Resources

License

Stars

Watchers

Forks

Languages