1. 一般情况下,USB继电器通过上位机COM口发送HEX本文还采用这种方法控制命令
2. 控制命令通常由制造商提供。在这里,我以我手中的例子为例
废话少说 上代码
import logging import time import serial from serial.tools import list_ports class cmd: ka1_on = bytes.fromhex('A00101A2') ka1_off = bytes.fromhex('A00100A1') class KACtrl(cmd): def __enter__(self): self.__get_KA() self.serial = serial.Serial(self.com, 9600, bytesize=8, timeout=0.1) if not self.serial.isOpen(): self.serial.open() return self def __get_KA(self): for i in list_ports.comports(): if 'USB-SERIAL CH340' in i.description: # 在设备管理器中 继电器串口的描述(唯一) self.com = i.name logging.debug(f'KA port:{self.com}') def __exit__(self, exc_type, exc_val, exc_tb): self.serial.close() def poweron(self): self.serial.write(cmd.ka1_on) def poweroff(self): self.serial.write(cmd.ka1_off) if __name__ == '__main__': with KACtrl() as kac: kac.poweron() time.sleep(1) kac.poweroff()