This project is designed to record and replay GNSS serial data, specifically handling NMEA and UBX messages.
It consists of three main scripts: record/src/record.py
, replay/src/replay.py
, and replay/src/serial_emulator.py
.
- serial_emulator.py: Emulates a serial device using
socat
. - record.py: Reads data from a serial device and saves it to a JSON file.
- replay.py: Reads data from a JSON file and writes it to a serial device and, if desired, it displays a GUI to visualize the vehicle.
- decoded_messages: Decodes NMEA messages to extract latitude, longitude, and heading of vehicle for the GUI.
- Python 3.x
- pyserial
- socat (for serial emulation)
- nodejs (for the GUI mode)
-
Clone the repository:
git clone https://github.com/Diegomangasco/GNSS-Parser-Reproducer.git cd GNSS-Parser-Reproducer
-
Install the required Python packages:
pip install pyserial
-
Ensure
socat
is installed on your system:sudo apt-get install socat
-
Ensure
nodejs
is installed on your system:
sudo apt install nodejs
- Install the npm packages:
cd replay/vehicle_visualizer
npm install