This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Our aim as a team is to share this software as an academic material, and contribute to solar car's community. We also want to give attribution to the people who put the effort to make this software possible. You may license your contributions to adaptations of this BY-SA 4.0 work under GPLv3 Licence, it's BY-SA 4.0 compatible.
The telemetry system runs in a Raspberry Pi inside the car. On one hand, it uses a Java Application to receive data from the car and other logistics tasks. On the other hand, it runs a VueJS application to visualize data and interact with the users. The system uses a middleware written in JS to communicate back-end and front-end.
Software required:
- IntelliJ https://www.jetbrains.com/idea/
- Java JDK https://www.oracle.com/technetwork/java/javase/downloads/index.html
- NodeJS https://nodejs.org/en/
For Back-end:
- Import the directory Protocol into IntelliJ
- Configure the project to work with Java 8
- To import dependencies:
- Right click in Protocol.iml and select import modules OR
- Go to File->Project Strucure->Modules to add all the JAR files inside the libs directory. The JAR files inside JUnit must be imported for testing, not compiling
For Middleware and Front-end:
- Run
npm install
inside the Server API and VueJS front end directories to install all dependencies - Install Quasar CLI with
npm i -g @quasar/cli
- In Windows allow scripts to run. In Admin Power Shell run
Set-ExecutionPolicy RemoteSigned
- Run
npm run lint -- --fix
for lint operations
Back end:
- Run the MainReceiver and MainSender classes as requested
Middleware:
- With back-end running, run
node index.js
inside Server API to run the middleware between back-end and front-end
Front end:
- Run
npm run dev
inside VueJS front end to run the front-end
The project is under development. Basic data dynamics are already implemented. Front-end must be completed. Compatibility with Eolian Fenix (older solar car) is in progress.