You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.4 KiB
38 lines
1.4 KiB
# test_communication.py
|
|
import time
|
|
|
|
from core.serial_handler import MatrixSerialPort
|
|
|
|
# ==========================================
|
|
# 配置区 (请根据对接文档和你的实际环境修改)
|
|
# ==========================================
|
|
SERIAL_PORT = 'COM3' # Windows下是COMx,麒麟下是 /dev/ttyS0 或 /dev/ttyUSB0
|
|
BAUD_RATE = 9600 # 必须与大屏控制器设置一致
|
|
POWER_ON_COMMAND = "80 74 06 FF FF FF FF FF" # 示例:开机指令 (请替换为文档中的真实指令)
|
|
QUERY_STATUS_COMMAND = "A0 01 00 00 00 00 00 5F" # 示例:查询状态指令
|
|
|
|
# ==========================================
|
|
# 执行测试
|
|
# ==========================================
|
|
if __name__ == '__main__':
|
|
# 1. 实例化串口
|
|
# 注意:如果你在麒麟系统上测试,SERIAL_PORT 应该是 "/dev/ttyS0"
|
|
controller = MatrixSerialPort(port=SERIAL_PORT, baudrate=BAUD_RATE)
|
|
|
|
# 2. 尝试连接
|
|
if controller.open_connection():
|
|
|
|
# 3. 发送“查询状态”指令,验证双向通信
|
|
controller.send_data(QUERY_STATUS_COMMAND)
|
|
|
|
# 等待一点点时间让大屏反应
|
|
time.sleep(0.5)
|
|
|
|
# 4. 尝试读取反馈 (如果大屏有返回的话)
|
|
# 这里只是一个循环示例,实际读取通常放在单独的线程里
|
|
for _ in range(5):
|
|
controller.read_data()
|
|
time.sleep(0.1)
|
|
|
|
# 5. 关闭连接
|
|
controller.close_connection()
|