1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import serial,time
class RelayControl:
def __init__(self,port='COM5',baudrate=9600): self.ser=serial.Serial(port, baudrate) while not self.ser.is_open:time.sleep(0.1) time.sleep(0.2) self.types={ "1": "10000", "2": "20000", "3": "50000" } print('下位机已经连上')
def _sendMsg(self,code:str): ''' 给下位机发送消息 :param code: :return: ''' print(code.encode().hex()) self.ser.write(code.encode("gbk"))
def alart(self,level:str,ajlxmc:str,clxx:list,afdz:str): with lock: print('BJ:%s,%s,%d,%s,%s,OK' % (level,self.types[ajlxmc],len(clxx),','.join(clxx),afdz)) self._sendMsg('BJ:%s,%s,%d,%s,%s,OK' % (level,self.types[ajlxmc],len(clxx),','.join(clxx),afdz)) print('已经发送成功')
def sendHeart(self): with lock: now=time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())) self._sendMsg("XT:%s,OK" % now) print('心跳发送成功')
|