Mong mọi người giúp đỡ, mình cần 2 hàm checkRFidTag và KtraCB nó chạy song song với nhau chỉ khi có 1 điều kiện của 1 hàm thỏa thì thực hiện hàm đó và tạm ngắt hàm còn lại sau đó lại tiếp tục kiểm tra 2 hàm có thỏa điều kiện k. Nhưng mà mình code như vầy thì nó lại chỉ kiểm tra đc 1 hàm RFID và không kiểm tra đc hàm còn lại, nó cứ chạy dòng lệnh print(’------------R F I D-------------’) và chờ đến khi thẻ RFID được đặt lên và cứ lặp lại (While True), mong mọi người giúp đỡ mình cách để 2 phần có thể kiểm tra song song
Đây là phần code:
def checkRFidTag():
if not GPIO.input(11):
return
try:
print('------------R F I D-------------')
#print("Hold a tag near the reader")
tagid, text = reader.read()
print("ID: %s" % (tagid))
sleep(2)
except KeyboardInterrupt:
GPIO.cleanup()
raise
if tagid != "":
RFidRegistered = False
with open("Database.csv") as csvfile:
csv_reader = csv.DictReader(csvfile)
for row in csv_reader:
#print(row['RFid'], row['User'])
if str(tagid) == row['RFid']:
RFidRegistered = True
print("Xe ở vị trí " + row['No']+ " đang xuống........... ")
vtt= int(row['No'])
xuatoutput(vtt)
print("---------------Thông tin---------------")
print("Chủ xe: " + row['User'])
print("Biển số: " + row['User'])
print("Màu xe: " + row['Color'])
if RFidRegistered == False:
print("ID không hợp lệ---Vui lòng kiểm tra lại")
############################
def KtraCB():
global x, enable
if x == True:
if not GPIO.input(11):
sleep(1)
print('Xe toi vi tri 1')
x= False
if x == False:
if not GPIO.input(13):
sleep(1)
print('Chup hinh xe')
with PiCamera() as camera:
camera.resolution=(1366,768)
camera.capture('11.jpg')
print('Da chup. Cho 3s bat dau xu ly')
sleep(3)
enable = True
x = True
####################
def main():
while True:
KtraCB()
if enable == True:
break
checkRFidTag()
######################
if __name__ == "__main__":
main()