This program reads and displays information sent to a computer's serial port from our solar car's radio. This allows us to view and store valuable information about the car's conditions during a race.
- PySerial
- PyQt4
- PyQtGraph
Git: Quick Git Tutorial if anyone needs it. There are also lots of resources available online if you need help, or ask in the group chat.
Python 3 will be used. A virtual environment manager like conda may be helpful.
(On Windows, you can install WinPython, which will include all of the required modules.)
- Clone the repository:
git clone https://github.com/BlueSkySolar/BTI.git
- Install PySerial:
pip install pyserial
- Install PyQt4 (The steps vary depending on operating system) (if using conda
conda install pyqt
) - Install PyQtGraph
pip install pyqtgraph
- Run run.py
- Press the button to start/stop receiving data while the radio is connected
The serial data sent to us from the radio on the car is received in the format displayed in this format. The code in bti.py is able to parse this data into a dictionary as seen in radio_example. We should then be able to display real-time data with proper labeling in the GUI, and also save it in CSV files for processing with the simulator and future optimizer programs.
- Connect to a serial device and read the output
- Parse the output from the radio (currently stored in a dictionary)
- Saving parsed radio output dictionary to a text file or CSV file. (Formatting may change)
- Structure and display functionality of the GUI
- Improving the GUI
- Implementing ability to receive multiple inputs, possibly through multithreading
- Revamp data structures and processing patterns for the new car
- Implement testing framework with simulated serial port input (important)