如何构建并向电视发送十六进制命令



我有一台NEC PX-42VM5HA等离子电视,我正试图用连接的计算机控制它。我有数据表,显示了控制电视的所有代码和协议信息。我不确定如何在python中构建正确的数据结构来发送HEX控制代码。以下是电源控制代码和通信协议。

Communication Protocol:
    Interface: RS-232C
    Communication: Asynchronous
    Baud Rate: 9600
    Data Length: 8bits
    Parity: Odd
    Stop Bit: 1bit
    Communication Code: Hex
Power Control Codes
    ON          9FH 80H 60H 4EH 00H CDH
    OFF         9FH 80H 60H 4FH 00H CEH

这是我迄今为止的代码:

import time
import serial
ser = serial.Serial(
    port='COM1',
    baudrate=9600,
    parity=serial.PARITY_ODD,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS
)
ser.close()
ser.open()
ser.isOpen()
ON=bytearray([0x9FH,0x80H,0x60H,0x4EH,0x00H,0xCDH])
OFF=bytearray([0x9FH,0x80H,0x60H,0x4FH,0x00H,0xCEH])
ser.write(OFF)
time.sleep(30)
ser.write(ON)
ser.close()

将控制代码写成字符串

ON = "x9fx80x60x4ex00xcd"
ser.write(ON)

最新更新