Необходимые знания Python для дверного замка RFID [closed]

У меня есть проект, который запускает изображение до тех пор, пока не будет сканирована принятая RFID-карта. На этом этапе воспроизводится видео и отправляется сигнал разблокировки. Перед и после использования принятой карты отображается изображение. Сейчас при запуске скрипта изображение отображается, при сканировании карты ничего не происходит. Alt-Tab в код, введите курсор в оболочку и отсканируйте принятую карту, программа работает без фонового изображения. Пожалуйста помоги….????

Принятые карты проверяются по текстовому файлу.

Вот мой код:

#!/usr/bin/env python3
from evdev import InputDevice
from select import select
import RPi.GPIO as GPIO
import time
from time import sleep
import subprocess
from subprocess import run
import datetime
import os
import sys
import re
import pygame
from pygame.locals import *

#def main():    

def check_if_string_in_file(file_name, string_to_search):
    """Check if any line in the file contains given string"""
    with open(file_name,'r') as read_obj:
        for line in read_obj:
            if string_to_search in line:
                return True
    return False
    
keys = "X^1234567890asdfghjklXXXXXycbnmXXXXXXXXXXXXXXXXXXXXXXX"
dev = InputDevice('/dev/input/event0')
    
pygame.init()
windowSurface = pygame.display.set_mode ((1024, 600), pygame.NOFRAME)
img = pygame.image.load("/home/pi/Access/New Phone Wallpaper copy.jpg")
pygame.mouse.set_cursor((8,8),(0,0), (0,0,0,0,0,0,0,0), (0,0,0,0,0,0,0,0))
windowSurface.blit(img, (0,0))
pygame.display.flip()
pygame.event.clear()
    
while True:
        r,w,x = select([dev], [],[])
        for event in dev.read():
                if event.type==1 and event.value==1:
                    if event.code==28:
                        rfid_presented=input()
                        e = rfid_presented
                        if check_if_string_in_file("/home/pi/Access/Loaded_Cards.txt", e):
                            videoPath = "/home/pi/Access/18 Test_1.mp4"
                            omx = run(["omxplayer", '--win', '1,1,1024,600', videoPath])
                            GPIO.setmode(GPIO.BCM)
                            GPIO.setwarnings(False)
                            GPIO.setup(26, GPIO.OUT, initial=GPIO.LOW)
                            GPIO.output(26, GPIO.HIGH)
                            time.sleep(0.5)
                            GPIO.output(26, GPIO.LOW)
                                
                        else:              
                            rfid_presented = ""
                                      
else:
            rfid_presented += keys[event.code]
del e
root.mainloop()    
#main() 

0

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

Ваш адрес email не будет опубликован.