电插锁的参数
双锁控制器连接线
双锁控制器逻辑
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<