电插锁控制逻辑与程序

电插锁的参数

在这里插入图片描述

双锁控制器连接线

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

双锁控制器逻辑

	aa ee xx xx

说明:aa头字节,ee表示下发控制继电器指令,xx 表示1#继电器控制,xx 表示2#继电器控制
举例:aa ee 01 01 控制1#、2#继电器都吸合,aa bb 01 00 控制1#继电器吸合,2#继电器断开

	aa dd
说明:aa头字节,dd表示下发查询指令

	dd xx xx xx xx
控制器状态:1开,0关;锁的状态:1关,0开;两个刚好相反

说明:dd返回头字节, xx 1#继电器状态,xx 2#继电器状态,xx锁1状态,xx锁2状态
举例:返回dd 01 00 00 01 说明:1#继电器吸合,2#继电器断开,锁1开,锁2关

双锁串口通信控制程序

        import sys
import serial
import serial.tools.list_ports


class SerialPort():
    def __init__(self, comStr):
        self.comPort = comStr   # 门锁对应COM口
        self.ser = None  # 串口对象
        self.status = False  # 定义串口状态,串口开:True, 关:False

    # 检测串口
    def detectionSerialPort(self):
        if self.status == True:
            print("串口%s已打开,无需重复打开" % self.comPort)
            return True
        portList = list(serial.tools.list_ports.comports())
        if len(portList) <= 0:
            print("窗口显示:本机中没有串口!")
            return False
        else:
            print("本机所有串口:")
            flag = 0
            for port in list(portList):
                print(port[0])
                if port[0] == self.comPort:
                    flag = 1

            if flag == 1:
                print("成功检测到门锁串口%s" % self.comPort)
                self.ser = serial.Serial(self.comPort, 9600, timeout=0.5)   # 打开串口,给self.ser定义类型
                self.ser.close()    # 再关闭串口
                return True
            else:
                print("检测门锁串口{0}失败".format(self.comPort<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值