Giter VIP home page Giter VIP logo

serial-studio's Introduction

Serial Studio

Build Status Codacy Badge Github All Releases GitHub Latest Release Contributor Covenant Donate

Serial Studio is a multi-platform, multi-purpose serial data visualization program. The goal of this project is to allow embedded developers & makers to easily visualize, present & analyze the data generated by their projects and devices, without the need of writing specialized computer software for each project.

The need for this project arose during the development of the Ground Station Software for several CanSat-based competitions in which I participate. It's simply not sustainable to develop and maintain different GSS programs for each competition & project. The smart solution is to have one common Ground Station software and let each CanSat define how the data is presented to the end user by using an extensible communication protocol.

Furthermore, this approach can be extended to almost any type of project that involves some kind of data acquisition & measurement. If you want a more in-depth explanation of why this project exists, and what its all about, check this blog post.

Serial studio started out receiving data over a hardware serial port, but can now receive data over serial, MQTT and websockets (TCP/UDP).

NOTE: Information regarding the communication protocol is provided in the wiki.

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.0.21-Linux.AppImage
./SerialStudio-1.0.21-Linux.AppImage

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 or greater. You will also need to have the following Qt non-LGPL modules installed:

  • Qt Charts

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 SQL
  • Qt Quick
  • Qt Widgets
  • Qt Charts
  • Qt Serial Port
  • Qt Quick Controls
  • Qt Quick Controls 2
  • Qt Graphical Effects

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

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!

serial-studio's People

Contributors

2e0byo avatar alex-spataru avatar bradfora avatar jiangjiangjun avatar umarcor avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.