Skip to content

Data transceiver/realtime plotter/shortcut/file transceiver over serial port/Bluetooth/network on Win/Linux/Android | 跨平台串口/蓝牙/网络助手,带数据收发/实时绘图/快捷发送/文件收发面板,可在PC和Android设备上使用

License

Notifications You must be signed in to change notification settings

lucas-wu-wakakak/SerialTest

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SerialTest

downloads
downloads
A versatile test tool running on Windows/Linux/Android.
Works as data transceiver/realtime plotter/shortcut/file transceiver.
Supports serial port, Bluetooth SPP client/server, Bluetooth LE client, TCP client/server, UDP.

中文介绍

Get it on F-Droid Download on Flathub

Features

Cross-platform
  • Runs on Windows/Linux/Android
  • Maybe supports MacOS?
Serial port debugger
  • Show all available serial ports with parameters. No need to check Device Manager or dmesg
  • Set baud rate, data bits, stop bits, parity scheme, flow control and change them on the fly
  • Modify DTR/RTS signals, Show CTS, DSR, DCD, RI(RNG)signals
  • Save the parameters of the last connection
  • Save connection parameters by port name or device ID then reuse them quickly
  • (Serial port is not supported on Android now)
Bluetooth SPP debugger
  • Supports commonly used Bluetooth modules(HC-05, HC-06, JDY-34, ...)
  • Supports communication between PC and smartphone
  • Supports client mode and server mode
  • The server can be connected by multiple devices. You can enable/disable the Tx/Rx function of them.
  • Supports multiple local Bluetooth adapters (Experimental)
Bluetooth LE debugger
  • Show all services(primary and included services), characteristics and descriptors of connected device
  • Specify different service for Rx/Tx
TCP
  • Supports IPv4/IPv6
  • Client:Supports spceifying local address and port
  • Client:The remote address can be a IP address or a website
  • Client:Supports storing connection parameters with user specified name then reuse them quickly
  • Server:Supports listening on all NICs or specified NIC
  • Server:The server can be connected by multiple devices. You can enable/disable the Tx/Rx function of them.
UDP
  • Supports IPv4/IPv6
  • Supports listening on all NICs or specified NIC
  • Supports storing connection parameters with user specified name then reuse them quickly
  • Change remote address and port on the fly
High performance
  • Fast response:UI update is separated from Data reception. Disable "Realtime" option in "data" tab for higher speed
  • Fast response:Time-consuming works run in dedicated threads
  • Low memory cost:Received bytes to memory consumption is about 1:1, if the plot and "Realtime" option are disabled.
Data panel
  • Show data in hexadecimal
  • Export raw data or selected text
  • Add suffix behind each sending(\r, \r\n, string, hex data)
  • Repeat
  • Rich encoding support
    (UTF8/16/32, GB2312/GB18030, BIG5, KOI8-R, Shift_JIS, EUC-KR, ...... )
  • Unescape user input
    (\r, \n, \t, \0, \123, \xFF, \uABCD, ...)
  • Enable/disable echo
  • Show sended/received data only
Realtime plotter
  • Human-readable data format
  • Drag or scroll the canvas by mouse
  • Drag or scroll the canvas on touchscreen
  • Showing the latest data or holding on
  • Show up to 99 graphs
  • Multiple X-axis mode
  • Legends with customizable name and color
  • Show/hide graphs
  • Clear the canvas by specified data or "Clear" button
  • Demos of STM32/Arduino/STM8
Controll(shortcut) panel
  • Send spedified data by one click
  • Send a number quickly by slider
  • Send data in hexadecimal
  • Unescaping support
  • Add prefix/suffix
  • Import/Export the whole panel
File transceiver
  • Calculate CRC32 checksum quickly
  • Send with throttle
  • Stop receiving after specified number of bytes
  • CRC32 and file IO are handled in separated threads for better performance
Handy UI
  • Show multiple panels with your preferred layout on a single window
  • Show panel as separated windows
  • PC: Stays on top
  • PC: Opacity
  • PC: Start multiple instances with different modes, which are shown on the title bar
  • Check connection parameters and disconnect/reconnect on status bar
  • Customize font
  • Select language
  • Change theme(dark theme)
Portable
  • The app generates one single config file only
  • Never touchs Windows Registry
  • Use config file in current working directory or system default config directory
  • Export/Import/Clear config
  • Clear history
  • Set maximum history count
Supports Android
  • Small screen support: Force landscape mode
  • Small screen support: Show sended/received data only
  • Small screen support: Full screen mode
  • Drag/Scale gesture support on Plotter
  • Share text to SerialTest then send it

Previews

port
connect_android
data
plot
ctrl
tcp_client
tcp_server

more previews

Tutorials[WIP]

1.Connect
2.Send&Receive Data
3.Plot

Demos

You can write programs on MCU according to the demos in the demo/ folder
Demo README

Binaries for Windows and Android

You can download pre-built binaries and Android APK in release page.

You can also download them in SourceForge
Download SerialTest

The Android app is available on F-Droid as well.
Get it on F-Droid

Build on Linux

Build and install a Flatpak package from sources

To build and install the last release, run the following in the source tree root:

    flatpak-builder --install --user build-dir pack/flatpak/io.github.wh201906.serialtest.yml

To start the application run:

    flatpak run io.github.wh201906.serialtest

Without packaging

1. Install depencencies

sudo apt-get update
sudo apt-get install qt5-default libqt5serialport5 libqt5serialport5-dev qtconnectivity5-dev 

2. Get the source code

cd ~
git clone https://github.com/wh201906/SerialTest.git --depth=1
cd SerialTest
mkdir build && cd build

3. Choose how to import QCustomplot

Use QCustomPlot source file(recommended)

You need to download QCustomPlot archive, extract the qcustomplot.cpp and qcustomplot.h in the /src folder(replace the existing qcustomplot.h), then build.

Use QCustomPlot library

If the qcustomplot.cpp doesn't exist in the src/ folder, the qmake will try to find the library file(xxx.so/xxx.dll) in the building directory(where you call the qmake command) and the default library directory.

4. Build and run

qmake ../src
make -j4 && make clean
./SerialTest 

Install from the Linux software repository

Arch Linux

# Install the release
yay -S serialtest

# Install the development version
yay -S serialtest-git

Change Log

Change Log

About

Data transceiver/realtime plotter/shortcut/file transceiver over serial port/Bluetooth/network on Win/Linux/Android | 跨平台串口/蓝牙/网络助手,带数据收发/实时绘图/快捷发送/文件收发面板,可在PC和Android设备上使用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.1%
  • Other 1.9%