这是从串口读取数据并解析的代码。当警报生成时,串口发送警报,将其发送到RS-232端口(串行通信):
port = serial.Serial("/dev/ttyUSB0", baudrate=9600, parity=serial.PARITY_EVEN, stopbits=serial.STOPBITS_ONE,bytesize=serial.SEVENBITS, timeout=None, xonxoff=1)
while True:
rcv=[]
beta=[]
rcv = port.readline()
rcv=rcv.decode("UTF-8")
beta = (rcv)
replacements = (' ',' ','/','\r','\n')
for r in replacements:
beta = beta.replace(r,' ')
#beta = beta.split()
print(beta)
输出:
!!! *A0628 306 18-04-20 19 H 45 N=5373 TYP=COM CAT=IM EVENT=MAL
NCEN=QTCEN AFCN =CNLM12-0 AGEO=S1-TR01-B14-A003
TEXAL=CN ISOLATED
主要问题是我无法解析所有这些值。 我想要这个:
A = !!! <br>
B = *A0628<br>
C = 306<br>
D = 18-04-20<br>
E = 19 H 45
等等,直到覆盖所有价值。