Mam prototyp, który muszę pokazać w projekcie RFID. Mam RFID (Parallax USB), a przykładowy skrypt Pythona (mój pierwszy) wyświetla identyfikator karty tak, jak powinien ... Problem polega na tym, że nie jest to bardzo przekonująca wersja demo / prototyp.
To, co chciałbym móc zrobić, to uruchomić moją aplikację na pi i jakoś wyświetlić PNG. Nowe okno, pełny ekran itp. Następnie, gdy karta zostanie wykryta przez Pi, zamienia wyświetlany obraz (1.PNG dla 2.PNG itp.).
Jaki byłby najbardziej pragmatyczny, najłatwiejszy i najszybszy sposób, aby ekran wyświetlał tylko plik obrazu?
Oto mój kod, który wysyła RFID:
#! /usr/bin/python
import serial
import time
ser = serial.Serial('/dev/ttyUSB0', 2400, timeout=1) # replace '/dev/ttyUSB0' with your port
while True:
response = ser.read(12)
if response <> "":
print "raw: " + str(response)
print "hex: " + str(response[-8:])
print "dec: " + str(int(response[-8:], 16))
time.sleep(1)
ser.close()
Odpowiedzi:
Jeśli używasz środowiska graficznego X11, takiego jak LXDE , możesz to zrobić, korzystając z podstawowej logiki przedstawionej w tym artykule .
Oto, co wymyśliłem, aby przełączyć wyświetlanie dwóch obrazów czekających 30 sekund między każdym przełącznikiem. Powinieneś być w stanie wstawić logikę do przełączania obrazów na podstawie tego, co czytasz z czujnika RFID.
displayImages.py
Powinieneś być w stanie to zmienić, aby poczekać 1000 ms i przetestować swój status RFID, aby określić, który obraz ma zostać wyświetlony.
źródło
python window.py
się błąd:ImportError: cannot import name ImageTk
Przekopuję go teraz, aby zobaczyć, jak go rozwiązać.from ttk import
powinno byćfrom Tkinter.ttk import
- ale to również wydaje mi się błędne, tak sądzę, że tak powinno byćfrom tk import
, ponieważ to jest po stronieas
Tkintera.Różdżka ma moduł / metodę wyświetlania .
W terminalu
W skrypcie Python
źródło
Jeśli chcesz wyświetlić obraz z wiersza poleceń, możesz użyć programu konsoli „fbi” z
sudo apt-get install -y fbi
źródło