Serial-Studio/README.md
2024-11-06 16:10:22 -05:00

138 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Serial Studio
<a href="#">
<img width="192px" height="192px" src="doc/icon.svg" align="right" />
</a>
[![Github commits](https://img.shields.io/github/last-commit/Serial-Studio/Serial-Studio?style=for-the-badge&logo=github)](https://github.com/Serial-Studio/Serial-Studio/commits/master)
[![GitHub contributors](https://img.shields.io/github/contributors/Serial-Studio/Serial-Studio?style=for-the-badge&logo=github)](https://github.com/Serial-Studio/Serial-Studio/graphs/contributors)
[![PR's Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen?style=for-the-badge)](https://github.com/Serial-Studio/Serial-Studio/pull/new)
[![Github All Releases](https://img.shields.io/github/downloads/Serial-Studio/Serial-Studio/total.svg?style=for-the-badge&logo=github)](https://github.com/Serial-Studio/Serial-Studio/releases/)
[![Instagram](https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white)](https://instagram.com/serialstudio.app)
[![Donate](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://www.paypal.com/donate?hosted_button_id=XN68J47QJKYDE)
Serial Studio is a multi-platform, versatile data visualization tool designed for embedded engineers, students, hackers, and teachers. It allows users to visualize, analyze, and represent data from their projects and devices without needing custom, project-specific visualization software. Serial Studio offers a flexible solution that adapts to a wide range of use cases, making it ideal for both educational and professional environments.
The tool was born out of my experience in multiple CanSat-based competitions, where I often found myself developing new Ground Station Software for each project. Over time, I realized it would be more efficient and sustainable to maintain a single, flexible Ground Station Software that allows users to define how incoming data is processed and displayed.
Today, Serial Studio is a powerful and adaptable tool, suitable not only for CanSat competitions but for any data acquisition and visualization project. It supports data retrieval from a wide range of sources, including hardware and software serial ports, MQTT, Bluetooth Low Energy (BLE), and network sockets (TCP/UDP).
*Read this document in other languages*: [Español](doc/README_ES.md) [简体中文](doc/README_ZH.md) [Deutsch](doc/README_DE.md) [Русский](doc/README_RU.md) [Français](doc/README_FR.md)
![Software usage](doc/screenshot.png)
## Features
- **Cross-platform:** Compatible with Windows, macOS, and Linux.
- **CSV Export:** Easily saves received data in CSV files for further analysis or processing.
- **Support for multiple data sources:** Handles a wide variety of sources, including serial ports, MQTT, Bluetooth Low Energy (BLE), and network sockets (TCP/UDP).
- **Customizable visualization:** Allows users to define and display data using various widgets, configurable via the project editor to meet specific needs.
- **Customizable frame analysis:** Provides the option to modify a JavaScript function to interpret incoming data frames, enabling the preprocessing of raw sensor data and handling of complex binary formats.
- **MQTT publishing and receiving:** Sends and receives data over the internet, enabling real-time data visualization from anywhere in the world.
## Installation
You can download and install the latest version of Serial Studio for your preferred platform from [here](https://github.com/Serial-Studio/Serial-Studio/releases/latest).
Heres an updated version of your Linux installation instructions with the additional details:
### Linux Installation
For GNU/Linux users, there are multiple ways to install and run the application:
#### 1. AppImage
Download the AppImage file and ensure it has the correct executable permissions before running:
```bash
chmod +x SerialStudio-3.0.5-Linux-x86_64.AppImage
./SerialStudio-3.0.5-Linux-x86_64.AppImage
```
*Note:* You may need to install libfuse2 for the AppImage to work. On Debian/Ubuntu-based systems, you can install it using:
```bash
sudo apt update
sudo apt install libfuse2
```
You can integrate the Serial Studio *AppImage* into your system more easily using [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher/)..
#### 2. DEB/RPM Packages (Experimental)
You can also install Serial Studio using DEB or RPM packages, which are currently in an experimental stage. Please report any issues you encounter.
For Debian-based distributions (e.g., Debian, Ubuntu, Linux Mint, etc):
```bash
sudo dpkg -i SerialStudio-3.0.5-Linux-x86_64.deb
```
For RPM-based distributions (e.g., Fedora, RHEL, OpenSUSE, etc):
```bash
sudo rpm -i SerialStudio-3.0.5-Linux-x86_64.rpm
```
## Development
### Requirements
To compile Serial Studio, the only required dependency is [Qt](http://www.qt.io/download-open-source/). The desktop application compiles with **Qt 6.8.0**.
If you're compiling on GNU/Linux, youll also need to install `libgl1-mesa-dev`:
```bash
sudo apt install libgl1-mesa-dev
```
Heres the list of required Qt modules:
- Qt SVG
- Qt Quick
- Qt Widgets
- Qt Location
- Qt Bluetooth
- Qt Networking
- Qt Positioning
- Qt Serial Port
- Qt Print Support
- Qt Quick Widgets
- Qt Quick Controls 2
### Cloning the Repository
To clone the repository with the necessary submodules, run:
```bash
git clone https://github.com/Serial-Studio/Serial-Studio
cd Serial-Studio
```
### Compiling the Application
Once Qt is installed, you can compile the project by opening the **CMakeLists.txt** file in your preferred IDE or by using the command line:
```bash
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j 10
```
## Software Architecture
Below is a simplified diagram illustrating how the different Serial Studio modules interact. For more detailed information, check out the full DOXYGEN documentation [here](https://serial-studio.github.io/hackers/).
![Architecture](doc/architecture/architecture.png)
## License
This project is licensed under the MIT License. For more details, see the [LICENSE](LICENSE.md) file.
## Support & Tipping
If you find Serial Studio useful, consider supporting its development by [tipping through PayPal](https://www.paypal.com/donate?hosted_button_id=XN68J47QJKYDE).
Alternatively, if you ever find yourself in [Cancún, Mexico](https://en.wikipedia.org/wiki/Cancun) and want to buy me a drink in person, feel free to [send me a DM on Instagram](https://instagram.com/aspatru). Id love to meet you!