本文将介绍如何使用 Python 控制 USB 继电器,使用的硬件是一个 USB 继电器,一台 PC 和一根 USB 接口线。
准备工作
- 准备一台 PC 以及一条 USB 接口线,用于连接 USB 继电器
- 在 PC 上安装 Python 环境以及相关依赖,本文使用 Python 3.8
- 安装并配置 USB 继电器驱动并确保能够正常使用
控制 USB 继电器
使用 Python 控制 USB 继电器最重要的是能够正确的识别 USB 继电器的接口,这里使用的是 serial 库,用于识别串口继电器和使用USB串口继电器
使用 PyUSB 库首先需要安装相关依赖:
pip install pyserial
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()
在上面代码中,首先定义了通讯发送的字节指令,随后在KACtrl中定义了串口号和波特率。最后在使用串口模块将开关指令写入到串口中,实现驱动继电器动作。
使用 Python 控制 USB 继电器可以实现很多有趣的项目,值得一试!