Sommario:
- Passaggio 1: preparare Raspberry Pi
- Passaggio 2: pulsante di spegnimento
- Passaggio 3: avvio automatico
- Passaggio 4: test
- Passaggio 5: informazioni aggiuntive
Video: Cornice per foto USB Raspberry Pi: 5 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-10 13:47
Cornice USB Raspberry Pi
Raspberry Pi riproduce automaticamente le immagini dall'unità flash USB inserita e si spegne premendo il pulsante inserito nel dispositivo.
feh viene utilizzato per visualizzare le immagini da USB e script python per spegnere il dispositivo.
In questa istruzione non sto spiegando come aggiungere il pulsante su raspberry pi tra i pin 9 e 11.
Passaggio 1: preparare Raspberry Pi
Installa il pacchetto rasbian standard da www.raspberrypi.org seguendo la guida all'installazione dell'immagine. Anche NOOBS o Raspian andranno bene.
Configura Raspberry Pi in base alle tue preferenze. L'unica cosa da garantire è che Raspberry si avvii sulla GUI. Le istruzioni sono disponibili anche su www.raspberrypi.org. Hai bisogno della tastiera al primo avvio. Puoi utilizzare entrambe le console direttamente da Raspberry Pi o, come preferisco, SSH per connettere il dispositivo. Se utilizzi l'ultima versione di Rasbian e desideri abilitare ssh al primo avvio, devi aggiungere il file denominato ssh nella directory /boot/ della scheda SD.
Installa feh
Aggiorna rasbian e installa feh. È necessaria una connessione di rete.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install feh
Crea punto di montaggio
Il punto di montaggio è necessario per garantire che tutte le unità flash USB vengano trattate allo stesso modo. Se l'USB non è montato, verrà visualizzato in media come il nome dell'unità flash. Ad esempio KINGSTON sarebbe '/media/KINGSTON' e non potrebbe essere rilevato da feh se in precedenza è stata utilizzata un'unità flash diversa
sudo mkdir /media/usb
Passaggio 2: pulsante di spegnimento
Questa fase può essere saltata se il pulsante non viene utilizzato per spegnere Raspberry Pi. Consiglio di utilizzarlo poiché spegnere il Raspberry Pi semplicemente scollegando il dispositivo può causare il danneggiamento dell'unità flash SD o USB.
Collegando il GPIO 17 a terra, verrà eseguito lo spegnimento. È possibile utilizzare anche altri pin, ma il codice deve essere modificato di conseguenza.
Crea shutdown.py
spegnimento nano py
E incolla il seguente codice
importa RPi. GPIO come GPIO
import time import os # GPIO 17 = pin 11 # GND = pin 9 GPIO.setmode(GPIO. BCM) GPIO.setup(17, GPIO. IN, pull_up_down=GPIO. PUD_UP) while True: stampa GPIO.input(17) if (GPIO.input(17) == False): os.system("sudo shutdown -h now") break time.sleep(1)
Ctrl-x e Sì e Invio per chiudere l'editor e salvare le modifiche
Passaggio 3: avvio automatico
Aggiorna rc.local
Aggiorna rc-local in modo che USB venga montato automaticamente e shutdown.py venga caricato all'avvio
sudo nano /etc/rc.local
In rc.local prima di "exit 0" aggiungi le seguenti righe per montare l'unità flash USB e avviare shutdown.py sul processo in background
sudo mount /dev/sda1 /media/usb
sudo python /home/pi/shutdown.py &
Ctrl-x e Sì e Invio per chiudere l'editor e salvare le modifiche
Aggiorna l'avvio automatico di LXDE
Aggiorna LXDE in modo che feh venga avviato automaticamente all'avvio
sudo nano ~/.config/lxsession/LXDE-pi/autostart
Inserisci le seguenti righe alla fine dell'avvio automatico
@xset è spento
@xset -dpms @xset s noblank @feh --quiet --fullscreen --borderless --hide-pointer --slideshow-delay 30 /media/usb/
Ctrl-x e Sì e Invio per chiudere l'editor e salvare le modifiche
Passaggio 4: test
Aggiungi alcune immagini sull'unità USB.
Montare USB eseguendo
sudo mount /dev/sda1 /media/usb
E vedi se riesci a vedere il contenuto dell'unità USB
ls /media/usb
Prova feh eseguendo quanto segue sulla riga di comando. Hai bisogno di foto su USB?
feh --quiet --fullscreen --borderless --hide-pointer --slideshow-delay 1 /media/usb/
Spegnimento di prova eseguendo
sudo python shutdown.py
e premere il pulsante di spegnimento (collegare gli appositi pin).
Passaggio 5: informazioni aggiuntive
Soluzione che accende e spegne la TV utilizzando CEC
Grazie a RichardW58 per questa soluzione.
Installa cec-utils:
sudo apt-get install cec-utils
aggiungi le seguenti righe in crontab -e
# Accendi la TV
0 8 * * 1-5 echo "su 0" | cec-client -s # Spegne la TV 0 16 * * 1-5 echo "standby 0" | cec-client -s
Funzionava bene con la TV
Di più
Il mio articolo originale può essere trovato da qui.
feh info e manuale.