https://github.com/sufst/intermediate-server
The intermediate server that sits between the sufst car telemetry system and the front-end GUI clients for the translation of telemetry frames.
https://github.com/sufst/intermediate-server
telemetry
Last synced: 4 months ago
JSON representation
The intermediate server that sits between the sufst car telemetry system and the front-end GUI clients for the translation of telemetry frames.
- Host: GitHub
- URL: https://github.com/sufst/intermediate-server
- Owner: sufst
- License: gpl-3.0
- Created: 2020-12-26T12:14:41.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-03-02T18:58:46.000Z (over 3 years ago)
- Last Synced: 2023-03-06T06:28:01.789Z (over 3 years ago)
- Topics: telemetry
- Language: Python
- Homepage:
- Size: 218 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Intermediate Server
Welcome to the intermediate server repository. The intermediate server is a black-box intermediate server that sits between the SUFST car telemetry system and the back-end server to translate PDU frames to sensors.
Relevant Repositories are linked below:
- [On-Car-Telemetry](https://github.com/sufst/on-car-telemetry) - Embedded Code for On-Car-Telemetry Module
- [Back-end Server](https://github.com/sufst/back-end) - SUFST Back-end server.
- [can-defs](https://github.com/sufst/can-defs/) - Helper module to generate `schema.json`, `sensors.json` files and embedded C code.
## Getting Started
To install the server, follow the instructions below:
### 1. Prerequisites
Currently, you will need the following items installed on your system in order to get the server running:
- `Git`
- `Python3.9`
You also need a **UNIX based environment**. If you're using a macOS or Linux system, you're fine. If you're using Windows, you need to either install *WSL*.
*Note: Currently, only Python versions 3.9.x work. If you have anything higher, make sure to install a supported version.*
### 2. Installing & Building
1. Clone the repository using:
```
https://github.com/sufst/intermediate-server.git
```
2. Open the terminal window and navigate to the folder where the server was cloned.
*Note: On Windows, this need to be a WSL terminal.*
3. Create a new Python Virtual Environment named `venv` using:
```
python3 -m venv venv
```
*Note: If you have multiple versions of Python3 installed, you will need to replace `python3` with `python3.9`*.
4. Activate the Python Virtual Environment using:
```
source venv/bin/activate
```
`(venv)` should now appear in the LHS of your terminal.
5. Install all dependancies using:
```
pip install wheel
```
and then
```
pip install -r requirements.txt
```
If everything installs fine, you should now be able to run the server using
```
python server.py
```
You can cancel the server anything with `Control+C`. To leave/exit the python venv run `deactivate`.
## Running
Once the server is installed, you can run it anytime using the following steps.
1. Open a terminal window and navigate to the intermediate-server folder.
*Note: On Windows, this need to be a WSL terminal.*
2. Activate the Python Virtual Environment using:
```
source venv/bin/activate
```
`(venv)` should now appear in the LHS of your terminal.
3. Run the python file to start the server using:
```
python server.py
```
You can cancel the server anything with `Control+C`. To leave/exit the python venv run `deactivate`.
## Known Issues:
1. Currently, the `schema.json` and `verson.json` files need to be **manually** updated everytime a new version of these is generated from the [can-defs](https://github.com/sufst/can-defs/) repo. In the future this will be automatically handled using `git-submodules`.
## Contact - Maintenance
For any questions, please contact [Andreas](https://github.com/AndreasDemenagas). Note, this server was originally developed by [Nathan](https://github.com/Nathanrs97).