Skip to content

0ldManPlaying/equicus-rfid-controller

Repository files navigation

Equicus RFID Controller

Version License Platform Node.js

A modern Electron-based application for controlling and testing RFID readers over TCP/IP connections.

Features

πŸ”Œ Connection Management

  • TCP/IP connection to Scotty-Ex RFID readers
  • Configurable host and port settings
  • Real-time connection status monitoring
  • Automatic reconnection handling

πŸ“‘ Reader Controls

  • Start/Stop AutoRead functionality
  • Manual command interface with preset buttons
  • Reader information display (version, antenna tuning, parameters)
  • Support for Equicus RFID protocol commands

🏷️ Tag Detection

  • Real-time tag reading and display
  • Tag statistics (total, unique, rate)
  • Tag history with timestamps
  • Signal strength and channel information

πŸ“Š Logging & Debugging

  • Comprehensive communication log
  • Export functionality for logs
  • Auto-scroll option
  • Different log entry types (info, success, warning, error, command, response, tag)

🎨 User Interface

  • Modern, responsive design
  • Dark/Light theme toggle
  • Keyboard shortcuts for common operations
  • Status bar with real-time information

Installation

From Source

  1. Clone or download the project
  2. Install dependencies:
    npm install

From Release

Download the latest release for your platform from the releases page.

Release v2.0.0 (Development)

Equicus RFID Controller v2.0.0 is currently in development with exciting new features!

🚧 V2 Development Status

  • πŸ”„ In Progress - Access Control System
  • πŸ”„ In Progress - User Management
  • πŸ”„ In Progress - Advanced Reporting
  • πŸ”„ In Progress - Multi-door Support

πŸ“‹ V2 Roadmap

  • πŸ” Access Control System - Tag authorization and door control
  • πŸ‘₯ User Management - Multi-user support with roles
  • πŸ“Š Advanced Reporting - Access logs and analytics
  • πŸ”„ Multi-door Support - Control multiple doors simultaneously
  • 🌐 Web Interface - Remote management capabilities
  • πŸ”’ Security Enhancements - Encryption and authentication
  • πŸ“± Mobile App - Companion mobile application

Release v1.0.0 (Stable)

Equicus RFID Controller v1.0.0 is available for production use.

What's New

  • βœ… Complete I/O Control Panel (LEDs, Relays, Inputs)
  • βœ… Professional RFID Reader Interface
  • βœ… Unlimited Communication Log with Scrolling
  • βœ… Real-time Tag Detection and Statistics
  • βœ… TCP/IP Connection Management
  • βœ… Modern, Responsive UI Design
  • βœ… Cross-platform Support (Windows, macOS, Linux)

System Requirements

  • Operating System: Windows 10+, macOS 10.14+, or Linux
  • Memory: 512MB RAM minimum
  • Network: TCP/IP connection to RFID reader
  • RFID Reader: Compatible with Equicus/Scotty-Ex protocol

Usage

Development Mode

npm run dev

Production Mode

npm start

Testing with Simulator

For testing without an actual RFID reader:

  1. Start the RFID simulator:

    npm run test-simulator
  2. Start the application:

    npm run dev
  3. Connect to localhost:6677 in the application

Configuration

Default Settings

  • Host: (Enter your RFID reader IP address)
  • Port: 6677

Equicus RFID Commands Supported

  • sv - Get software version
  • param - Get parameters
  • ata - Antenna tuning A
  • atb - Antenna tuning B
  • se - Get status
  • fmt 15 - Set format (all fields)
  • fmt 2 - Set format (ID only)
  • sa 1 - Start autoread
  • sa 0 - Stop autoread

Keyboard Shortcuts

Shortcut Action
Ctrl+O Connect to reader
Ctrl+D Disconnect
Ctrl+S Start AutoRead
Ctrl+T Stop AutoRead
Ctrl+L Clear log
Ctrl+Q Exit application

Project Structure

rfid-test-app/
β”œβ”€β”€ src/main/           # Main Electron process
β”‚   β”œβ”€β”€ main.js         # Main application logic
β”‚   β”œβ”€β”€ preload.js      # Preload script for security
β”‚   └── index.html      # Main application window
β”œβ”€β”€ security/renderer/  # Renderer process files
β”‚   β”œβ”€β”€ app.js          # Main application logic
β”‚   β”œβ”€β”€ rfid_manager.js # RFID communication manager
β”‚   └── styles.css      # Application styling
β”œβ”€β”€ Documents/          # Scotty-Ex documentation
β”œβ”€β”€ test-simulator.js   # RFID reader simulator
└── package.json        # Project configuration

Troubleshooting

Connection Issues

  1. Verify the RFID reader IP address and port
  2. Check network connectivity
  3. Ensure the reader is powered on and configured for TCP/IP
  4. Check firewall settings

Application Issues

  1. Check the console for error messages (F12 in dev mode)
  2. Verify all dependencies are installed
  3. Try clearing the application cache

Tag Reading Issues

  1. Verify antenna connections
  2. Check reader parameters
  3. Ensure tags are within reading range
  4. Verify output format settings

Development

Adding New Commands

  1. Add command to the preset buttons in index.html
  2. Update command handling in rfid_manager.js
  3. Test with the simulator

UI Customization

  • Modify styles.css for visual changes
  • Update index.html for layout changes
  • Modify app.js for behavior changes

Protocol Extensions

  • Update rfid_manager.js for new protocol support
  • Modify main.js for communication changes
  • Test thoroughly with actual hardware

Building for Distribution

# Create distributable package
npm run build

# Create unpacked directory
npm run pack

# Create distribution files
npm run dist

License

MIT License - see LICENSE file for details.

Support

For technical support or questions about the Equicus RFID reader protocol, refer to the documentation in the Documents/ folder.