python 控制USB继电器

python 控制USB继电器,第1张

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()

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/789049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存