锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

python串口控制8通道继电器方法笔记

时间:2022-09-23 23:30:00 继电器用什么串口控制继电器串口路继电器开关连接器ff181控2继电器控制输出继电器控制板

python串口控制8通道继电器方法笔记
保存当前文件RelayControl.py,在其他py引用文件时使用from RelayControl import relay 格式导入
调用时,使用 relay.connect() 即 relay.ALL_ON() 等即可。

# coding:utf-8  import serial import time from logset import logger  ''' 8路继电器开关控制函数包括打开连接串口、单独继电器开关控制和所有开关控制。 author:yutao '''  class relay(object):      def __init__(self):         self.chl_ON_code = ['00 f1 ff', '00 f2 ff', '00 f3 ff', '00 f4 ff', '00 f5 ff', '00 f6 ff', '00 f7 ff', '00 f8 ff', '00 f9 ff']         self.chl_OFF_code = ['00 01 ff', '00 02 ff', '00 03 ff', '00 04 ff', '00 05 ff', '00 06 ff', '00 07 ff', '00 08 ff', '00 09 ff']         self.ACC_chl = 1         self.BAT_chl = 2         self.GND_chl = 3         self.ALL_chl = 9         self.port = 'COM3'      def relay_send(self,send_code):         if self.port:             relay_serial = serial.Serial(self.port, 9600, timeout = 1)             if not relay_serial.isOpen():                 relay_serialspan class="token punctuation">.Open()
            relay_serial.write(bytes.fromhex(send_code))
            time.sleep(0.5)   #等待操作完成,防止干扰后续指令
            relay_serial.close()


    def ALL_ON(self):
        send_code = self.chl_ON_code[self.ALL_chl - 1]
        print(send_code)
        self.relay_send(send_code)
        logger.info("继电器控制: ALL_CHANNEL_ON")


    def ALL_OFF(self):
        send_code = self.chl_OFF_code[self.ALL_chl - 1]
        self.relay_send(send_code)
        logger.info("继电器控制: ALL_CHANNEL_OFF")


    def GND_ON(self):
        send_code = self.chl_ON_code[self.GND_chl - 1]
        self.relay_send(send_code)
        logger.info("继电器控制: GND_ON")


    def GND_OFF(self):
        send_code = self.chl_OFF_code[self.GND_chl - 1]
        self.relay_send(send_code)
        logger.info("继电器控制: GND_OFF")


    def BAT_ON(self):
        send_code = self.chl_ON_code[self.BAT_chl - 1]
        self.relay_send(send_code)
        logger.info("继电器控制: BAT_ON")

    
    def BAT_OFF(self):
        send_code = self.chl_OFF_code[self.BAT_chl - 1]
        self.relay_send(send_code)
        logger.info("继电器控制: BAT_OFF")

    
    def ACC_ON(self):
        send_code = self.chl_ON_code[self.ACC_chl - 1]
        self.relay_send(send_code)
        logger.info("继电器控制: ACC_ON")


    def ACC_OFF(self):
        send_code = self.chl_OFF_code[self.ACC_chl - 1]
        self.relay_send(send_code)
        logger.info("继电器控制: ACC_OFF")


if __name__ == "__main__":
    relay = relay()
    relay.port = 'COM5'
    relay.ALL_chl = 1
    relay.ALL_ON()
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章