SerialTest
Ein vielseitiges Testtool, das unter Windows/Linux/macOS/Android läuft.
Funktioniert als Daten-Transceiver/Echtzeitplotter/Shortcut-/Datei-Transceiver.
Unterstützt serielle Schnittstelle, Bluetooth SPP-Client/Server, Bluetooth LE-Client, TCP-Client/Server, UDP.
中文介绍
Merkmale
Plattformübergreifend
- Unterstützt Windows 7 und höher
- Unterstützt die meisten Linux-Distributionen
- Unterstützt macOS 10.13 (High Sierra) und höher
- Unterstützt Android 5.0 (Lollipop) und höher
Debugger für serielle Ports
- Alle verfügbaren seriellen Ports mit Parametern anzeigen. Keine Notwendigkeit, den Geräte-Manager oder dmesg zu überprüfen
- Stellen Sie Baudrate, Datenbits, Stoppbits, Paritätsschema und Flusskontrolle ein und ändern Sie diese im laufenden Betrieb
- Ändern Sie DTR/RTS-Signale, zeigen Sie CTS-, DSR-, DCD- und RI(RNG)-Signale an
- Speichern Sie die Parameter der letzten Verbindung
- Speichern Sie Verbindungsparameter nach Portname oder Geräte-ID und verwenden Sie sie dann schnell wieder
- (Android: unterstützt nur serielle Hardware-Schnittstelle, wie
/dev/ttyXXX
) - (Android: Workaround für USB-Seriell-Geräte)
Bluetooth-SPP-Debugger
- Unterstützt häufig verwendete Bluetooth-Module (HC-05, HC-06, JDY-34, ...)
- Unterstützt die Kommunikation zwischen PC und Smartphone
- Unterstützt den Client-Modus und den Server-Modus
- Der Server kann von mehreren Geräten verbunden werden. Sie können deren Tx/Rx-Funktion aktivieren/deaktivieren.
- Unterstützt mehrere lokale Bluetooth-Adapter (experimentell)
- Client: Unterstützt die Angabe der Dienst-UUID
Bluetooth LE-Debugger
- Alle Dienste (primäre und enthaltene Dienste), Merkmale und Beschreibungen des angeschlossenen Geräts anzeigen
- Geben Sie einen anderen Dienst für Rx/Tx an
TCP
- Unterstützt IPv4/IPv6
- Client: Unterstützt die Angabe einer lokalen Adresse und eines Ports
- Client: Die Remote-Adresse kann eine IP-Adresse oder eine Website sein
- Client: Unterstützt das Speichern von Verbindungsparametern mit vom Benutzer angegebenen Namen und deren schnelle Wiederverwendung
- Server: Unterstützt das Abhören aller NICs oder bestimmter NICs
- Server: Der Server kann von mehreren Geräten verbunden werden. Sie können deren Tx/Rx-Funktion aktivieren/deaktivieren.
UDP
- Unterstützt IPv4/IPv6
- Unterstützt das Abhören aller NICs oder bestimmter NICs
- Unterstützt das Speichern von Verbindungsparametern mit vom Benutzer angegebenen Namen und deren schnelle Wiederverwendung
- Ändern Sie die Remote-Adresse und den Port im Handumdrehen
Hohe Leistung
- Schnelle Reaktion: Das UI-Update ist vom Datenempfang getrennt. Deaktivieren Sie die Option „Echtzeit“ auf der Registerkarte „Daten“, um die Geschwindigkeit zu erhöhen
- Schnelle Reaktion: Zeitaufwändige Arbeiten werden in dedizierten Threads ausgeführt
- Geringe Speicherkosten: Empfangene Bytes und Speicherverbrauch betragen etwa 1:1, wenn die Darstellung und die Option „Echtzeit“ deaktiviert sind.
Datenfeld
- Daten im Hexadezimalformat anzeigen
- Zeitstempel der empfangenen Daten anzeigen
- Zeigen Sie nach Zeitüberschreitung aufgeteilte Pakete mit Zeitstempel an
- Exportieren Sie Rohdaten oder ausgewählten Text
- Fügen Sie hinter jedem Senden ein Suffix hinzu (r, rn, Zeichenfolge, Hexdaten).
- Wiederholen
- Umfangreiche Codierungsunterstützung
(UTF8/16/32, GB2312/GB18030, BIG5, KOI8-R, Shift_JIS, EUC-KR, ...... ) - Unescape-Benutzereingaben
(r, n, t, , 123, xFF, uABCD, ...) - Echo aktivieren/deaktivieren
- Nur gesendete/empfangene Daten anzeigen
Echtzeitplotter
- Für Menschen lesbares Datenformat
- Ziehen oder scrollen Sie mit der Maus über die Leinwand
- Ziehen oder scrollen Sie die Leinwand auf dem Touchscreen
- Aktuelle Daten anzeigen oder festhalten
- Zeigen Sie bis zu 99 Diagramme an
- Mehr-X-Achsen-Modus
- Legenden mit anpassbarem Namen und Farbe
- Diagramme ein-/ausblenden
- Löschen Sie die Leinwand anhand der angegebenen Daten oder der Schaltfläche „Löschen“.
- Demos von STM32/Arduino/STC8
Steuerungsfeld (Verknüpfungsfeld).
- Senden Sie spezifische Daten mit einem Klick
- Senden Sie schnell eine Nummer per Schieberegler
- Daten hexadezimal senden
- Unvermeidliche Unterstützung
- Präfix/Suffix hinzufügen
- Importieren/Exportieren Sie das gesamte Panel
Datei-Transceiver
- Berechnen Sie schnell die CRC32-Prüfsumme
- Mit Gas senden
- Stoppen Sie den Empfang nach der angegebenen Anzahl von Bytes
- CRC32 und Datei-E/A werden zur besseren Leistung in getrennten Threads verarbeitet
Praktische Benutzeroberfläche
- Zeigen Sie mehrere Panels mit Ihrem bevorzugten Layout in einem einzigen Fenster an
- Panel als separate Fenster anzeigen
- PC: Bleibt an der Spitze
- PC: Deckkraft
- PC: Starten Sie mehrere Instanzen mit unterschiedlichen Modi, die in der Titelleiste angezeigt werden
- Überprüfen Sie die Verbindungsparameter und trennen/erneuten Sie die Verbindung in der Statusleiste
- Schriftart anpassen
- Sprache auswählen
- Thema ändern (dunkles Thema)
Tragbar
- Die App generiert nur eine einzige Konfigurationsdatei
- Berührt niemals die Windows-Registrierung
- Verwenden Sie die Konfigurationsdatei im aktuellen Arbeitsverzeichnis oder im Standardkonfigurationsverzeichnis des Systems
- Konfiguration exportieren/importieren/löschen
- Klare Geschichte
- Legen Sie die maximale Verlaufsanzahl fest
Unterstützt Android
- Unterstützung für kleine Bildschirme: Querformatmodus erzwingen
- Unterstützung für kleine Bildschirme: Nur gesendete/empfangene Daten anzeigen
- Unterstützung für kleine Bildschirme: Vollbildmodus
- Unterstützung für Drag/Scale-Gesten auf dem Plotter
- Geben Sie den Text/die Datei an SerialTest weiter und senden Sie ihn dann
Vorschauen
Datenbereich | Plotter & Daten (GIF) | Systemsteuerung (GIF) | Serielle Schnittstelle, dunkles Thema |
---|
| | | |
Bluetooth, Windows | Serieller Anschluss, Android | TCP-Client, Linux | TCP-Server |
---|
| | | |
weitere Vorschauen
Tutorials[WIP]
1.Verbinden
2. Daten senden und empfangen
3. Handlung
Demos
Sie können Programme gemäß den Demos im Ordner demo/ auf der MCU schreiben
Demo-README
Binärdateien für Windows, Android und macOS
Sie können vorgefertigte Binärdateien und Android APK auf der Release-Seite herunterladen.
Sie können sie auch in SourceForge herunterladen
Die Android-App ist auch auf F-Droid verfügbar.
Bauen Sie auf Linux auf
Schritte
1. Abhängigkeiten installieren
# sudo add-apt-repository universe
sudo apt-get update
# sudo apt-get install git build-essential
sudo apt-get install qtbase5-dev qt5-qmake libqt5serialport5-dev qtconnectivity5-dev
2. Holen Sie sich den Quellcode
cd ~
git clone https://github.com/wh201906/SerialTest.git --depth=1
cd SerialTest
mkdir build && cd build
3. Wählen Sie aus, wie QCustomplot importiert werden soll
Verwenden Sie die QCustomPlot-Quelldatei (empfohlen).
Sie müssen das QCustomPlot-Archiv herunterladen, qcustomplot.cpp und qcustomplot.h im Ordner /src extrahieren (die vorhandene qcustomplot.h ersetzen) und dann erstellen.
wget https://www.qcustomplot.com/release/2.1.1/QCustomPlot-source.tar.gz
tar -xzf QCustomPlot-source.tar.gz
cp qcustomplot-source/qcustomplot. * ../src
Verwenden Sie die QCustomPlot-Bibliothek
Wenn qcustomplot.cpp nicht im Ordner src/ vorhanden ist, versucht qmake, die Bibliotheksdatei (xxx.so/xxx.dll) im Gebäudeverzeichnis (wo Sie den Befehl qmake aufrufen) und im Standardbibliotheksverzeichnis zu finden .
4. Erstellen und ausführen
export QT_SELECT=qt5
qmake ../src
make -j4 && make clean
./SerialTest
Installation aus dem Linux-Software-Repository
Flachhub
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
Übersetzung
Das Projekt nutzt Weblate zur Verwaltung der Übersetzungen.
Wenn Sie bei der Übersetzung helfen möchten, besuchen Sie bitte die Weblate-Übersetzungsseite oder erstellen Sie eine PR für den weblate
-Zweig.
Änderungsprotokoll
Änderungsprotokoll
Lizenz
Die src/qcustomplot.h
und die Dateien in src/qdarkstyle/
unterliegen denselben Lizenzen wie ihre jeweiligen Projekte.
Der Quellcode in src/
ist unter GPL 3.0 lizenziert.
Der Quellcode in demo/
(ohne Abhängigkeiten), Übersetzungen, Dokumente und andere Teile dieses Projekts sind unter MIT lizenziert.