Skip to content

Wireless-Information-Networking/RFID-Reader-FX7500

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

136 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‘ RFID Reader FX7500

This repository contains the code, setup instructions, and tools for interacting with the Zebra FX7500 RFID Reader. It also includes scripts to enable systematic RFID performance measurements under various environmental conditions, and data processing scripts using Bayesian Machine Learning Algorithms.

πŸ“‹ Table of Contents

πŸ› οΈ Regular Set Up

For the regular setup of the Zebra FX7500 RFID Reader, please refer to the Regular Set Up Guide.

🌐 Networkless Set Up

For the networkless setup of the Zebra FX7500 RFID Reader, please refer to the Networkless Set Up Guide.

πŸ“œ License

This project is licensed under the MIT License. See the LICENSE file for details.

πŸ“‚ Project Structure

RFID-Reader-FX7500/
β”œβ”€β”€ arduino_serial/
β”‚   β”œβ”€β”€ __init__.py 
β”‚   └── main.py
β”œβ”€β”€ assets/
β”‚   └── old/
β”‚       └── HOWTO.md
β”œβ”€β”€ data/
β”‚   └── 00-Examples/
β”‚   └── 01-Preliminary-Measurements/
β”‚   └── 02-Final-Measurements/
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ 01_Regular_Set_Up.md
β”‚   └── 02_Networkless_Set_Up.md
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ mqtt_set_up.sh
β”‚   β”œβ”€β”€ live_usb_set_up.sh
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ __init__.py 
β”‚   β”œβ”€β”€ accuracy.py
β”‚   β”œβ”€β”€ data_management.py
β”‚   β”œβ”€β”€ fitting.py
β”‚   β”œβ”€β”€ gaussian_mixture_models_3D.py
β”‚   β”œβ”€β”€ gaussian_mixture_models.py
β”‚   β”œβ”€β”€ plotting.py
β”‚   β”œβ”€β”€ reader.py
β”‚   └── sensors.ino
β”œβ”€β”€ main_tui.css
β”œβ”€β”€ tui.py
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ LICENSE
└── README.md

πŸš€ Getting Started

To get started with the Zebra FX7500 RFID Reader, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Wireless-Information-Networking/RFID-Reader-FX7500.git
    cd RFID-Reader-FX7500
  2. Install the required packages:

    pip install -r requirements.txt
  3. Set up the MQTT broker:

    bash scripts/mqtt_set_up.sh
  4. Run the main script:

    python main.py

πŸ“„ Main Script

The main script is located at tui.py. It initializes the application, sets up the MQTT broker, and starts the RFID reader control interface.

πŸ“Š Plots

The plots are generated using the data from the RFID reader. The plotting scripts are located in the src directory:

πŸ”§ CLI Parameters

You can pass parameters through the CLI to customize the behavior of the RFID reader. If a parameter is not provided, the default value defined in the "CONSTANTS" section of main.py will be used.

Available Parameters

Flag Long Option Description Type Default Value
-t --Tag The coded value of the tag of the RFID reader. int 0
-f --Frequency The frequency of the RFID reader, in MHz. float 865.7
-d --Distance The distance between the RFID reader and the RFID tag, in meters. float 0.3
-o --Obstacle The coded value of the obstacle between the RFID reader and the RFID tag. int 0
-s --Duration The duration of the reading process, in seconds. float 5.0
-p --Power The transmission power of the RFID reader, in dBm float 10.0

Example Usage

To run the script with custom parameters:

python main.py -t 1 -f 866.0 -d 0.5 -o 2 -s 10

In this example:

  • The tag is set to 1.
  • The frequency is set to 866.0 MHz.
  • The distance is set to 0.5 meters.
  • The obstacle is set to 2 (Metal).
  • The duration is set to 10 seconds.

If any parameter is not provided, the default value will be used. For example, running:

python main.py -t 1 -f 866.0

will use:

  • The tag 1.
  • The frequency 866.0 MHz.
  • The default distance 0.3 meters.
  • The default obstacle 0 (None).
  • The default duration 5.0 seconds.

πŸ“œ Scripts

MQTT Setup Script

The scripts/mqtt_set_up.sh script installs and configures the Mosquitto MQTT broker.

Live USB Setup Script

The scripts/live_usb_set_up.sh script sets up a live USB environment for running the RFID reader application without network access.

πŸ“š Modules

Reader Module

The src/reader.py module handles communication with the RFID reader and processes incoming data.

Gaussian Mixture Models

Fitting Module

The src/fitting.py module uses machine learning techniques to fit experimental RSSI values to the Friis equation.

Accuracy Module

The src/accuracy.py module evaluates the accuracy of RFID measurements using ROC curves and other metrics.

Parser Module

The src/parser.py module parses CLI arguments and configures the application based on user input.

About

Contains the necessary scripts, files, and documentation in order to use the Zebra FX7500 RFID reader.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors