Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mazenelnahla/autospectra
https://github.com/mazenelnahla/autospectra
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mazenelnahla/autospectra
- Owner: mazenelnahla
- Created: 2024-05-10T11:46:26.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-09-17T15:32:42.000Z (4 months ago)
- Last Synced: 2024-09-17T19:33:05.052Z (4 months ago)
- Language: QML
- Size: 18.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Auto Spectra
![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/main/Preview/1.engine-not-running.png)
![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/main/Preview/2.no-alert.png)
![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/main/Preview/3.engine-not-running-spotify-on.png)
![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/main/Preview/4.autopilot-on.png)
![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/main/Preview/5.dynamic-speed-color.png)
![Auto Spectra](https://github.com/mazenelnahla/AutoSpectra/blob/main/Preview/6.fota.png)
## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Dependencies](#dependencies)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgements](#acknowledgements)## Introduction
The Auto Spectra Instrument Cluster is a Qt Quick application designed for automotive use. It provides a modern, interactive interface for displaying various vehicle parameters and diagnostics. This project leverages the power of Qt Quick to deliver a responsive and visually appealing user experience.
## Features
- Real-time display of vehicle metrics and diagnostics.
- Customizable widgets and layouts.
- Smooth animations and transitions.
- Support for different screen resolutions.
- Integration with Python for advanced data processing and control.
- UDP communication for JSON data exchange.
- Support for displaying and controlling Spotify playback.
- Bluetooth device connected to the vehicle.## Installation
### Prerequisites
Ensure you have the following installed:
- Qt 5.15
- C++ compiler
- Python 3.8 (for additional scripting)
- Raspberry Pi 3 and up (or any DevBoard), this project tested on pi 4 and pi 5### Steps
1. Clone the repository:
```bash
git clone https://github.com/yourusername/autospectra-instrument-cluster.git2. Navigate to the project directory:
```bash
cd autospectra-instrument-cluster
3. Install dependencies:
```bash
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot -h now
sudo apt-get build-dep qt5-qmake
sudo apt-get build-dep libqt5gui5
sudo apt-get build-dep libqt5webengine-data
sudo apt-get build-dep libqt5webkit5
sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 gdbserver
sudo apt-get install libasound2-dev libpulse-dev gstreamer1.0-omx libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-alsa
sudo apt-get install libgeoclue-2-dev libdbus-glib-1-dev libgudev-1.0-dev libbluetooth-dev
sudo apt-get install libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev libegl1-mesa-dev libgbm-dev libgles2-mesa-dev mesa-common-dev xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libwayland-devsudo apt install build-essential cmake unzip pkg-config gfortran
sudo apt build-dep qt5-qmake libqt5gui5 libqt5webengine-data libqt5webkit5 libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 gdbserver
sudo apt install libxcb-randr0-dev libxcb-xtest0-dev libxcb-shape0-dev libxcb-xkb-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt install libxvidcore-dev libx264-dev
sudo apt install libopenal-data libsndio7.0 libopenal1 libopenal-dev pulseaudio
sudo apt install bluez-tools
sudo apt install libbluetooth-dev
sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-devsudo apt install qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev qtconnectivity5-dev
sudo apt-get install qt5-default qt5-qmake qtbase5-dev qtdeclarative5-dev libqt5gui5 libqt5quick5 qml-module-qtquick2 qtvirtualkeyboard-plugin
sudo apt-get install qtbase5-dev qtdeclarative5-dev libqt5quick5 qtquickcontrols2-5-dev qtvirtualkeyboard-plugin
sudo apt install qtcreator
sudo apt install build-essential libgl1-mesa-dev libpulse-dev
sudo apt-get install libqt5serialport5-dev
sudo apt-get install libqt5multimedia5-plugins qml-module-qtmultimedia
sudo apt-get install qtdeclarative5-* qml-module-qtquick* qtquick1-* qtquickcontrols5-* qml-module-qtquick2
sudo apt-get install -y qml-module-qtquick-extrassudo apt-get build-dep qt5-qmake
sudo apt-get build-dep libqt5gui5
sudo apt-get build-dep libqt5webengine-data
sudo apt-get build-dep libqt5webkit5
sudo apt-get install libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 gdbserver
sudo apt-get install libasound2-dev libpulse-dev gstreamer1.0-omx libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-alsa
sudo apt-get install libgeoclue-2-dev libdbus-glib-1-dev libgudev-1.0-dev libbluetooth-dev
sudo apt-get install libboost1.58-all-dev libudev-dev libinput-dev libts-dev libmtdev-dev libjpeg-dev libfontconfig1-dev libssl-dev libdbus-1-dev libglib2.0-dev libxkbcommon-dev libegl1-mesa-dev libgbm-dev libgles2-mesa-dev mesa-common-dev xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libwayland-devsudo apt install build-essential cmake unzip pkg-config gfortran
sudo apt build-dep qt5-qmake libqt5gui5 libqt5webengine-data libqt5webkit5 libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0 gdbserver
sudo apt install libxcb-randr0-dev libxcb-xtest0-dev libxcb-shape0-dev libxcb-xkb-dev
sudo apt install libjpeg-dev libpng-dev libtiff-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt install libxvidcore-dev libx264-dev openjdk-8-jre-headless
sudo apt install libopenal-data libsndio7.0 libopenal1 libopenal-dev pulseaudio
sudo apt install bluez-tools
sudo apt install libbluetooth-dev
sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-devsudo apt install qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev qtconnectivity5-dev
sudo apt-get install qt5-default qt5-qmake qtbase5-dev qtdeclarative5-dev libqt5gui5 libqt5quick5 qml-module-qtquick2 qtvirtualkeyboard-plugin
sudo apt-get update
sudo apt-get install qtbase5-dev qtdeclarative5-dev libqt5quick5 qtquickcontrols2-5-dev qtvirtualkeyboard-plugin
sudo apt install qtcreator
sudo apt install build-essential libgl1-mesa-dev libpulse-dev
sudo apt-get install libqt5serialport5-dev
sudo apt-get install libqt5multimedia5-plugins qml-module-qtmultimedia
sudo apt-get install qtdeclarative5-* qml-module-qtquick* qtquickcontrols5-* qml-module-qtquick2
sudo apt-get install -y qml-module-qtquick-extrassudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev \
libxcb-xinerama0-dev libfontconfig1-dev libdbus-1-dev libicu-dev \
libsqlite3-dev libxslt1-dev libxml2-dev libssl-dev libpng-dev \
libjpeg-dev libglib2.0-dev libxrender-dev libxi-dev \
libx11-dev libxext-dev libxrandr-dev libxcursor-dev \
libxcomposite-dev libxdamage-dev libxfixes-dev \
libxss-dev libxft-dev libxkbcommon-dev \
libinput-dev libmtdev-dev libudev-dev \
libasound2-dev pulseaudio libpulse-dev \
gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
gstreamer1.0-libav gstreamer1.0-alsa \
gstreamer1.0-pulseaudio gstreamer1.0-tools \
bison flex gperf libevent-dev libnss3-dev libnss3 \
libxss-dev libxtst-dev libx11-xcb-dev \sudo apt-get install qml-module-qt-labs-folderlistmodel
sudo apt-get install qml-module-qtquick-controlssudo apt install build-essential
sudo apt install libnss3-dev libfontconfig1-dev libdbus-1-dev libx11-xcb-dev libxcomposite-dev libxcursor-dev libxi-dev libxtst-dev libxrandr-dev libxss-devsudo apt install qml-module-qtlocation
sudo apt install qtpositioning5-dev qml-module-qtpositioning4. Build the project:
```bash
qmake
make
5. Run the application:
```bash
./autospectra
6. Usage
Once the application is running, you can interact with the instrument cluster using the touchscreen (if available) or a mouse/keyboard. The interface is designed to be intuitive, with various widgets displaying different vehicle parameters.7. Starting the Application
To start the application, run the following command:```bash
./autospectra## Dependencies
- Qt 5.15: The main framework for the application.
- Python: For scripting and advanced data processing.
- QProcess: For handling external processes and scripts.
- JSON: For configuration and data communication.
- Spotipy: For Spotify integration. (not needed in Auto Spectra v2.1)## Contributing
Contributions are welcome! Please follow these steps to contribute:Fork the repository.
Create a new branch (git checkout -b feature-branch).
Commit your changes (git commit -am 'Add new feature').
Push to the branch (git push origin feature-branch).
Create a new Pull Request.## License
This project is licensed under the MIT License. See the LICENSE file for details.## Acknowledgements
Qt community for providing extensive documentation and support.
Spotipy library contributors for making Spotify integration easier.
Raspberry Pi Foundation for providing a versatile development platform.
All contributors to the open-source libraries and tools used in this project.Feel free to modify any sections as needed to better fit your project specifics. Let me know if you need any further adjustments!