Serial-Studio/README.md

121 lines
5.9 KiB
Markdown
Raw Normal View History

2024-03-15 12:47:10 -05:00
# Serial Studio
2020-10-18 06:50:26 -05:00
<a href="#">
2021-09-12 12:47:10 -05:00
<img width="192px" height="192px" src="doc/icon.svg" align="right" />
2020-10-18 06:50:26 -05:00
</a>
2024-09-25 21:10:38 -05:00
[![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)
2020-10-18 06:50:26 -05:00
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.
2020-10-18 06:50:26 -05:00
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.
2020-10-18 06:50:26 -05:00
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).
2020-12-24 19:53:01 -06:00
*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)
2020-10-18 06:50:26 -05:00
![Software usage](doc/screenshot.png)
2021-09-04 13:24:11 -05:00
## Features
2021-09-04 13:24:11 -05:00
- **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).
### Linux Installation
For GNU/Linux users, after downloading the AppImage, ensure it has the correct executable permissions before running the application:
2021-09-04 13:24:11 -05:00
```bash
chmod +x SerialStudio-2.1.0-Linux.AppImage
./SerialStudio-2.1.0-Linux.AppImage
2021-09-04 13:24:11 -05:00
```
Alternatively, you can integrate Serial Studio into your system using [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher/).
2021-10-20 03:06:18 -05:00
### Prebuilt Linux Packages
2021-09-04 13:24:11 -05:00
For Arch Linux users, you can install Serial Studio using the AUR:
2021-09-04 13:24:11 -05:00
```bash
aur fetch serial-studio-git
aur build
sudo pacman -S serial-studio-git
```
**Note:** The AUR package recipe may be outdated, so be sure to check for updates.
2021-09-04 13:24:11 -05:00
## Development
2020-10-18 06:50:26 -05:00
2021-09-28 17:05:16 -05:00
### Requirements
2020-10-18 06:50:26 -05:00
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**.
2021-02-01 11:24:10 -05:00
If you're compiling on GNU/Linux, youll also need to install `libgl1-mesa-dev`:
2021-02-01 11:24:10 -05:00
```bash
sudo apt install libgl1-mesa-dev
```
Heres the list of required Qt modules:
2021-02-01 11:24:10 -05:00
2021-09-30 19:47:24 -05:00
- Qt SVG
2021-02-01 11:24:10 -05:00
- Qt Quick
- Qt Widgets
- Qt Location
- Qt Bluetooth
2021-12-07 03:29:54 -06:00
- Qt Networking
- Qt Positioning
2021-02-01 11:24:10 -05:00
- Qt Serial Port
2021-12-07 03:29:54 -06:00
- Qt Print Support
- Qt Quick Widgets
2021-02-01 11:24:10 -05:00
- Qt Quick Controls 2
2021-09-28 17:05:16 -05:00
### Cloning the Repository
2021-01-18 10:57:23 -05:00
To clone the repository with the necessary submodules, run:
2021-01-18 10:57:23 -05:00
```bash
git clone https://github.com/Serial-Studio/Serial-Studio
cd Serial-Studio
```
2021-01-20 09:16:40 +08:00
### Compiling the Application
2021-01-18 10:57:23 -05:00
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:
2021-01-20 09:16:40 +08:00
```bash
mkdir build
cd build
cmake ../ -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release -j 10
```
2020-10-18 06:50:26 -05:00
## Software Architecture
2020-10-18 06:50:26 -05:00
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/).
2020-10-18 06:50:26 -05:00
![Architecture](doc/architecture/architecture.png)
2022-05-01 19:11:43 -05:00
## License
2022-05-01 19:11:43 -05:00
This project is licensed under the MIT License. For more details, see the [LICENSE](LICENSE.md) file.
2020-10-18 06:50:26 -05:00
## Support & Tipping
2020-10-18 06:50:26 -05:00
If you find Serial Studio useful, consider supporting its development by [tipping through PayPal](https://www.paypal.com/donate?hosted_button_id=XN68J47QJKYDE).
2020-10-18 06:50:26 -05:00
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!