การทดสอบแบบอนุกรม
เครื่องมือทดสอบอเนกประสงค์ที่ทำงานบน Windows/Linux/macOS/Android
ทำงานเป็นตัวรับส่งสัญญาณข้อมูล/พล็อตเตอร์เรียลไทม์/ทางลัด/ตัวรับส่งสัญญาณไฟล์
รองรับพอร์ตอนุกรม, ไคลเอนต์/เซิร์ฟเวอร์ Bluetooth SPP, ไคลเอนต์ Bluetooth LE, ไคลเอนต์/เซิร์ฟเวอร์ TCP, UDP
中文介绍
คุณสมบัติ
ข้ามแพลตฟอร์ม
- รองรับ Windows 7 และใหม่กว่า
- รองรับ distros Linux ส่วนใหญ่
- รองรับ macOS 10.13 (High Sierra) และใหม่กว่า
- รองรับ Android 5.0 (Lollipop) และใหม่กว่า
ดีบักเกอร์พอร์ตอนุกรม
- แสดงพอร์ตอนุกรมที่มีอยู่ทั้งหมดพร้อมพารามิเตอร์ ไม่จำเป็นต้องตรวจสอบ Device Manager หรือ dmesg
- ตั้งค่าอัตรารับส่งข้อมูล บิตข้อมูล บิตหยุด รูปแบบพาริตี การควบคุมการไหล และเปลี่ยนแปลงได้ทันที
- ปรับเปลี่ยนสัญญาณ DTR/RTS แสดงสัญญาณ CTS, DSR, DCD, RI (RNG)
- บันทึกพารามิเตอร์ของการเชื่อมต่อครั้งล่าสุด
- บันทึกพารามิเตอร์การเชื่อมต่อตามชื่อพอร์ตหรือรหัสอุปกรณ์ จากนั้นนำกลับมาใช้ใหม่อย่างรวดเร็ว
- (Android: รองรับพอร์ตอนุกรมฮาร์ดแวร์เท่านั้น เช่น
/dev/ttyXXX
) - (Android: วิธีแก้ปัญหาสำหรับอุปกรณ์อนุกรม USB)
ดีบักเกอร์บลูทูธ SPP
- รองรับโมดูลบลูทูธที่ใช้กันทั่วไป (HC-05, HC-06, JDY-34, ... )
- รองรับการสื่อสารระหว่างพีซีและสมาร์ทโฟน
- รองรับโหมดไคลเอนต์และโหมดเซิร์ฟเวอร์
- เซิร์ฟเวอร์สามารถเชื่อมต่อได้ด้วยอุปกรณ์หลายเครื่อง คุณสามารถเปิด/ปิดใช้งานฟังก์ชัน Tx/Rx ได้
- รองรับอะแดปเตอร์ Bluetooth ท้องถิ่นหลายตัว (ทดลอง)
- ลูกค้า: รองรับการระบุบริการ UUID
ดีบักเกอร์บลูทูธ LE
- แสดงบริการทั้งหมด (บริการหลักและบริการที่รวมอยู่) ลักษณะและคำอธิบายของอุปกรณ์ที่เชื่อมต่อ
- ระบุบริการอื่นสำหรับ Rx/Tx
TCP
- รองรับ IPv4/IPv6
- ลูกค้า:รองรับการระบุที่อยู่ในเครื่องและพอร์ต
- ลูกค้า:ที่อยู่ระยะไกลอาจเป็นที่อยู่ IP หรือเว็บไซต์
- ไคลเอนต์:รองรับการจัดเก็บพารามิเตอร์การเชื่อมต่อด้วยชื่อที่ผู้ใช้ระบุ จากนั้นนำมาใช้ซ้ำอย่างรวดเร็ว
- เซิร์ฟเวอร์:รองรับการฟังบน NIC ทั้งหมดหรือ NIC ที่ระบุ
- เซิร์ฟเวอร์:เซิร์ฟเวอร์สามารถเชื่อมต่อได้ด้วยอุปกรณ์หลายเครื่อง คุณสามารถเปิด/ปิดใช้งานฟังก์ชัน Tx/Rx ได้
ยูดีพี
- รองรับ IPv4/IPv6
- รองรับการฟังบน NIC ทั้งหมดหรือ NIC ที่ระบุ
- รองรับการจัดเก็บพารามิเตอร์การเชื่อมต่อด้วยชื่อที่ผู้ใช้ระบุ จากนั้นนำกลับมาใช้ใหม่ได้อย่างรวดเร็ว
- เปลี่ยนที่อยู่ระยะไกลและพอร์ตได้ทันที
ประสิทธิภาพสูง
- การตอบสนองที่รวดเร็ว: การอัปเดต UI แยกออกจากการรับข้อมูล ปิดการใช้งานตัวเลือก "เรียลไทม์" ในแท็บ "ข้อมูล" เพื่อความเร็วที่สูงขึ้น
- การตอบสนองที่รวดเร็ว:งานที่ใช้เวลานานจะทำงานในเธรดเฉพาะ
- ต้นทุนหน่วยความจำต่ำ:จำนวนไบต์ที่ได้รับต่อการใช้หน่วยความจำคือประมาณ 1:1 หากปิดใช้งานตัวเลือกพล็อตและ "เรียลไทม์"
แผงข้อมูล
- แสดงข้อมูลเป็นเลขฐานสิบหก
- แสดงการประทับเวลาของข้อมูลที่ได้รับ
- แสดงแพ็กเก็ตที่แยกตามระยะหมดเวลาพร้อมการประทับเวลา
- ส่งออกข้อมูลดิบหรือข้อความที่เลือก
- เพิ่มส่วนต่อท้ายแต่ละ send(r, rn, string, hex data)
- ทำซ้ำ
- รองรับการเข้ารหัสที่หลากหลาย
(UTF8/16/32, GB2312/GB18030, BIG5, KOI8-R, Shift_JIS, EUC-KR, ...... ) - ยกเลิกการป้อนข้อมูลของผู้ใช้
(r, n, t, , 123, xFF, uABCD, ...) - เปิด/ปิดเสียงสะท้อน
- แสดงข้อมูลที่ส่ง/รับเท่านั้น
พล็อตเตอร์เรียลไทม์
- รูปแบบข้อมูลที่มนุษย์สามารถอ่านได้
- ลากหรือเลื่อนผ้าใบด้วยเมาส์
- ลากหรือเลื่อนผืนผ้าใบบนหน้าจอสัมผัส
- การแสดงข้อมูลล่าสุดหรือการระงับ
- แสดงกราฟได้สูงสุด 99 รายการ
- โหมดแกน X หลายแกน
- ตำนานที่มีชื่อและสีที่ปรับแต่งได้
- แสดง/ซ่อนกราฟ
- ล้างแคนวาสตามข้อมูลที่ระบุหรือปุ่ม "ล้าง"
- การสาธิต STM32/Arduino/STC8
แผงควบคุม (ทางลัด)
- ส่งข้อมูลที่รวดเร็วเพียงคลิกเดียว
- ส่งหมายเลขอย่างรวดเร็วด้วยแถบเลื่อน
- ส่งข้อมูลเป็นเลขฐานสิบหก
- การสนับสนุนที่หลีกเลี่ยงไม่ได้
- เพิ่มคำนำหน้า/คำต่อท้าย
- นำเข้า/ส่งออกทั้งแผง
ตัวรับส่งสัญญาณไฟล์
- คำนวณเช็คซัม CRC32 อย่างรวดเร็ว
- ส่งคันเร่ง
- หยุดรับหลังจากจำนวนไบต์ที่ระบุ
- CRC32 และไฟล์ IO ได้รับการจัดการในเธรดที่แยกจากกันเพื่อประสิทธิภาพที่ดีขึ้น
UI ที่มีประโยชน์
- แสดงแผงหลายแผงด้วยเค้าโครงที่คุณต้องการในหน้าต่างเดียว
- แสดงแผงเป็นหน้าต่างที่แยกจากกัน
- PC: อยู่ด้านบน
- พีซี: ความทึบ
- พีซี: เริ่มหลายอินสแตนซ์ด้วยโหมดที่แตกต่างกัน ซึ่งแสดงอยู่บนแถบชื่อเรื่อง
- ตรวจสอบพารามิเตอร์การเชื่อมต่อและยกเลิกการเชื่อมต่อ/เชื่อมต่อใหม่บนแถบสถานะ
- ปรับแต่งแบบอักษร
- เลือกภาษา
- เปลี่ยนธีม (ธีมสีเข้ม)
แบบพกพา
- แอปสร้างไฟล์กำหนดค่าเพียงไฟล์เดียวเท่านั้น
- ไม่เคยสัมผัส Windows Registry
- ใช้ไฟล์กำหนดค่าในไดเร็กทอรีการทำงานปัจจุบันหรือไดเร็กทอรีการกำหนดค่าเริ่มต้นของระบบ
- ส่งออก/นำเข้า/ล้างการกำหนดค่า
- ล้างประวัติ
- ตั้งค่าการนับประวัติสูงสุด
รองรับระบบปฏิบัติการแอนดรอยด์
- รองรับหน้าจอขนาดเล็ก: บังคับโหมดแนวนอน
- รองรับหน้าจอขนาดเล็ก: แสดงข้อมูลที่ส่ง/รับเท่านั้น
- รองรับหน้าจอขนาดเล็ก: โหมดเต็มหน้าจอ
- รองรับท่าทางลาก/ปรับขนาดบนพล็อตเตอร์
- แชร์ข้อความ/ไฟล์ไปที่ SerialTest แล้วส่ง
ตัวอย่าง
แผงข้อมูล | พล็อตเตอร์และข้อมูล(GIF) | แผงควบคุม(GIF) | พอร์ตอนุกรม ธีมสีเข้ม |
---|
| | | |
บลูทูธ, วินโดวส์ | พอร์ตอนุกรม, แอนดรอยด์ | ไคลเอ็นต์ TCP, ลินุกซ์ | เซิร์ฟเวอร์ TCP |
---|
| | | |
ตัวอย่างเพิ่มเติม
บทช่วยสอน[WIP]
1.เชื่อมต่อ
2.ส่งและรับข้อมูล
3.โครงเรื่อง
การสาธิต
คุณสามารถเขียนโปรแกรมบน MCU ตามการสาธิตในโฟลเดอร์ demo/
สาธิต README
ไบนารีสำหรับ Windows, Android และ macOS
คุณสามารถดาวน์โหลดไบนารีที่สร้างไว้ล่วงหน้าและ Android APK ได้ในหน้าเผยแพร่
คุณสามารถดาวน์โหลดได้ใน SourceForge
แอพ Android มีให้ใช้งานบน F-Droid เช่นกัน
สร้างบนลินุกซ์
ขั้นตอน
1. ติดตั้งการพึ่งพา
# 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. รับซอร์สโค้ด
cd ~
git clone https://github.com/wh201906/SerialTest.git --depth=1
cd SerialTest
mkdir build && cd build
3. เลือกวิธีการนำเข้า QCustomplot
ใช้ไฟล์ต้นฉบับ QCustomPlot (แนะนำ)
คุณต้องดาวน์โหลดไฟล์เก็บถาวร QCustomPlot จากนั้นแยก qcustomplot.cpp และ qcustomplot.h ในโฟลเดอร์ /src (แทนที่ qcustomplot.h ที่มีอยู่) จากนั้นจึงสร้าง
wget https://www.qcustomplot.com/release/2.1.1/QCustomPlot-source.tar.gz
tar -xzf QCustomPlot-source.tar.gz
cp qcustomplot-source/qcustomplot. * ../src
ใช้ไลบรารี QCustomPlot
หากไม่มี qcustomplot.cpp ในโฟลเดอร์ src/ qmake จะพยายามค้นหาไฟล์ไลบรารี (xxx.so/xxx.dll) ในไดเร็กทอรี building (โดยที่คุณเรียกใช้คำสั่ง qmake) และไดเร็กทอรีไลบรารีเริ่มต้น .
4. สร้างและดำเนินการ
export QT_SELECT=qt5
qmake ../src
make -j4 && make clean
./SerialTest
ติดตั้งจากที่เก็บซอฟต์แวร์ Linux
แฟลตฮับ
flatpak install flathub io.github.wh201906.serialtest
# run this app
flatpak run io.github.wh201906.serialtest
อาร์ค ลินุกซ์
# Install the release
yay -S serialtest
# Install the development version
yay -S serialtest-git
การแปล
โครงการใช้ Weblate เพื่อจัดการการแปล
หากคุณต้องการช่วยแปล กรุณาไปที่หน้าแปล Weblate หรือสร้างประชาสัมพันธ์ไปที่สาขา weblate
เปลี่ยนบันทึก
เปลี่ยนบันทึก
ใบอนุญาต
src/qcustomplot.h
และไฟล์ใน src/qdarkstyle/
ได้รับไลเซนส์ภายใต้ไลเซนส์เดียวกันกับโปรเจ็กต์ที่เกี่ยวข้อง
ซอร์สโค้ดใน src/
ได้รับอนุญาตภายใต้ GPL 3.0
ซอร์สโค้ดใน demo/
(ไม่รวมการอ้างอิง) การแปล เอกสาร และส่วนอื่นๆ ของโปรเจ็กต์นี้ได้รับอนุญาตภายใต้ MIT