/Serial-Studio

Multi-purpose serial data visualization & processing program

Primary LanguageC++OtherNOASSERTION

Serial Studio

Github commits GitHub contributors PR's Welcome Codacy Badge Github All Releases Contributor Covenant Donate

Serial Studio is a simple, multi-platform, and multi-purpose serial data visualization program that allows embedded developers to visualize, analyze, and present data generated from their projects and devices while avoiding the need to write project-specific visualization software.

Over my many CanSat-based competitions, I found myself writing and maintaing several Ground Station Softwares for each program. However, I decided that it would be easier and more sustainble to define one flexible Ground Station Software that lets developers define how each CanSat presents data using an extensible communication protocol for easy data visualization. Developers can also use Serial Studio for almost any data acquisition and visualization project outside of CanSat, now supporting data retrieval from a hardware serial ports, software serial ports, MQTT, and network sockets (TCP/UDP).

If you want a more in-depth explanation of what this project is about and why it exists, check out this blog post.

Read this in other languages: Español 简体中文 Deutsch

Software usage

Install

You can download and install Serial Studio for your preferred platform.

GNU/Linux users must enable the executable flag before attempting to run the application:

chmod +x SerialStudio-1.1.1-Linux.AppImage
./SerialStudio-1.1.1-Linux.AppImage

You can also use the AppImageLauncher to integrate Serial Studio with your system.

Prebuilt Linux packages

Arch Linux users can install serial-studio-git from the aur, e.g. with aurutils:

aur fetch serial-studio-git
aur build
sudo pacman -S serial-studio-git

Licence

This project is released under the MIT license, for more information, check the LICENSE file.

Development

Requirements

The only requirement to compile the application is to have Qt installed in your system. The desktop application will compile with Qt 5.15.

On GNU/Linux systems, you will also need to install libgl1-mesa-dev in order to compile the application.

Full list of used Qt modules:

  • Qt SVG
  • Qt Quick
  • Qt Widgets
  • Qt Networking
  • Qt Serial Port
  • Qt Print Support
  • Qt Quick Widgets
  • Qt Quick Controls 2

Cloning

This repository makes use of git submodule. In order to clone it, execute these commands on your Terminal:

git clone https://github.com/Serial-Studio/Serial-Studio
cd Serial-Studio
git submodule init
git submodule update

Alternatively, just run:

git clone --recursive https://github.com/Serial-Studio/Serial-Studio

Compiling the application

Once you have Qt installed, open Serial-Studio.pro in Qt Creator and click the "Run" button.

Alternatively, you can also use the following commands:

qmake
make -j4

Software architecture

This is a simplified diagram that explains how the different Serial Studio modules interact with each other. You can find the DOXYGEN documentation by clicking here.

Architecture

Tipping

If you find Serial Studio suitable for your needs, please consider giving me a tip through PayPal. Or, if you prefer to buy me a drink personally instead, just send me a DM when you visit Querétaro, Mexico, where I live. I look forward to meeting you!