Помогите понять где ошибка ( if ) в питоне

182 просмотра
0
0 Комментариев

Программа получает из порта COM3 данные ( 38aa3cxxxxxx-86 ) mac и rssi,
если полученный mac адрес нет в листе (macaddrlis) и rssi меньше чем 45, и больше чем 15, то mac адрес и rssi добавляются в документ (guest.txt).

Проблема в том, что добавляются и те которые уже есть в листе (macaddrlis)


проблема в этой стойке

 if (joined_seq[:12]) != (mac[:12]) and (rssi) < str(rssilim) and (rssi) > str(rssilowlim):


Я новичок в программировании помогите понять, где ошибка.
Спасибо огромное.


import serial
import time
 
 
 
ser = serial.Serial(
    port='COM3',\
    baudrate=115200,\
    parity=serial.PARITY_NONE,\
    stopbits=serial.STOPBITS_ONE,\
    bytesize=serial.EIGHTBITS,\
        timeout=0)
 
 
print(">>GUEST-MACCATCHER v1.0<<")
 
#this will store the line
seq = []
rssilim = 45
rssilowlim = 15
 
macaddrlist = ['38aa3cxxxxxx-Henry', '1c7b21xxxxxx-Merry', 'd0fcccxxxxxx-Simon']
 
while True:
    for c in ser.read():
        seq.append(chr(c)) #convert from ANSII
        joined_seq = ''.join(str(v) for v in seq) #Make a string from array
 
 
        if chr(c) == '\n':
            #print(joined_seq)
            seq = []
 
            rssi = (joined_seq[13:15])
 
            for mac in macaddrlist:
                if (joined_seq[:12]) == (mac[:12]):
                    addr = (mac[:12])
                    name = (mac[13:])
                    localtime = time.asctime( time.localtime(time.time()) )
                    print(" Name:", name, "MAC:", addr, "RSSI:", rssi, "Time:", localtime)
 
 
                if (joined_seq[:12]) != (mac[:12]) and (rssi) < str(rssilim) and (rssi) > str(rssilowlim):
                    #print(joined_seq[:12], mac[:12])
                    f = open("guest.txt", "a")
                    f.write(joined_seq)      # str() converts to string
                    f.close()
                    print(" Close Device!", joined_seq)
 
 
 
        break
 
 
ser.close()


Добавить комментарий

0 Answers

Python Опубликовано 16.12.2018
Напишите свой ответ на данный вопрос.
Scroll Up