Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

License

Notifications You must be signed in to change notification settings

sukingw/SerialTest

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
  • (Android: support hardware serial port only, like /dev/ttyXXX)
  • (Android: Workaround for USB serial devices)
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
  • Show timestamp of received data
  • 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/STC8
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

Data Panel Plotter&Data(GIF) Control Panel(GIF) Serial Port, Dark Theme
win_data mixed_plotter ctrl dark_serial
Bluetooth, Windows Serial Port, Android TCP Client, Linux TCP Server
win_bluetooth android_serial linux_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

1. Install depencencies

sudo apt-get update
# sudo apt-get install git build-essential
sudo apt-get install qt5-default 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.

wget https://www.qcustomplot.com/release/2.1.1/QCustomPlot-source.tar.gz
tar -xzf QCustomPlot-source.tar.gz
cp qcustomplot-source/qcustomplot.* ../src

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

Flathub

flatpak install flathub io.github.wh201906.serialtest
# run this app
flatpak run io.github.wh201906.serialtest

Arch Linux

# Install the release
yay -S serialtest
# Install the development version
yay -S serialtest-git

Change Log

Change Log

License

The src/qcustomplot.h and the files in src/qdarkstyle/ are licensed under the same licenses as their respective projects.
The source code in src/ is licensed under GPL 3.0.
The source code in demo/(excluding dependencies), translations, documents and other parts of this project are licensed under MIT.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.2%
  • Other 1.8%

AltStyle によって変換されたページ (->オリジナル) /