A professional, enterprise-focused web interface designed for Zebra FX7500/FX9600 fixed RFID readers. This is a functional model with full database persistence, allowing for long-term data storage and integration with external business systems.
Designed for inventory tracking, warehouse management, asset monitoring, and ERP systems integration.
flowchart LR
Reader["Zebra Reader"] -- "HTTP POST" --> API["Django API"]
API -- "ORM" --> DB["SQL / PostgreSQL"]
DB --> Dashboard["Tailwind Dashboard"]
Dashboard -- "Polling" --> API
- Real-Time Monitoring: Live EPC tag list with antenna and RSSI metadata.
- Hardware Integration: Optimized for Zebra's HTTP POST push mechanism (IoT Connector).
- Persistent Storage: All scans are automatically saved to a database via Django ORM.
- Mobile-First Design: Built with Tailwind CSS for warehouse handhelds and Zebra scanners.
- Diagnostic Tools: Built-in logging and testing suite for network verification.
This application is built on the Django framework, meaning it uses a powerful ORM (Object-Relational Mapper) to handle data. It is NOT just a visual sample; every tag read is stored in a structured database.
By default, the project uses SQLite (db.sqlite3), which requires zero configuration and is perfect for small deployments or edge devices.
Because it uses Django, you can easily switch to a professional database engine. Simply modify the DATABASES section in scanner_zebra_rfid/settings.py:
# Example for PostgreSQL
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'your_db_name',
'USER': 'your_user',
'PASSWORD': 'your_password',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}Note: Ensure you install the appropriate driver (e.g., psycopg2 for Postgres or mysqlclient for MySQL).
- Python 3.10+
- Access to any Zebra FX series reader (FX7500, FX9600, etc.).
- Model Compatibility: This interface is compatible with all Zebra FX-series models (e.g., FX9600-4, FX7500-4, FX9600-8). The specific model suffix does not affect functionality.
-
# Clone the repository
git clone <repository-url>
cd Scanner-Zebra-RFID
# Install dependencies
pip install -r requirements.txt
# Run migrations
python manage.py migratepython manage.py runserver 0.0.0.0:8000Note: Binding to 0.0.0.0 is required so the scanner can reach your computer.
To connect a Zebra FX reader (Firmware 3.x+):
- IoT Connector:
- Go to
Communication > IoT Connector > Endpoints. - Add a new HTTP POST endpoint pointing to:
http://<YOUR_PC_IP>:8000/api/receive-scan/.
- Go to
- Interface Mapping:
- Map Tag Data to your new endpoint.
- Primary Mode:
- In
Inventory > Settings, set Primary Mode to IoT Connector.
- In
- Start:
- Click Start in the
Inventory > Controlmenu.
- Click Start in the
Detailed setup instructions are available in SCANNER_SETUP.md.
Go to "Connections" and there you go:

- Live Logs: Monitor real scanner traffic in real-time:
Get-Content -Path "zebra_traffic.log" -Wait
- Simulate Tags: Test the backend without hardware:
curl.exe -X POST http://localhost:8000/api/receive-scan/ -H "Content-Type: application/json" -d '[{"data": "TEST-EPC-12345", "antenna": 1, "peakRssi": -60}]'
For more diagnostic commands, see commands.md.
DONE !
/RFID: Django app handling ingestion and storage./templates: Responsive Tailwind UI.zebra_traffic.log: Forensic log for incoming scanner payloads.commands.md: Advanced PowerShell tools for network debugging.

