Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Nella Parte 1 ho dimostrato come assemblare RPi + VS1838b e configurare il modulo LIRC di Raspbian per ricevere comandi IR da un telecomando IR. Tutti i problemi di configurazione hardware e LIRC sono discussi nella parte 1. La parte 2 dimostrerà come interfacciare il modulo hardware + LIRC che abbiamo configurato nella parte 1 con python.
Telecomando [Ricevitore IR + RPI] LIRC Pythondisplay (o invio).
Forniture
nessuno
Passaggio 1: nascondi Devinput.lircd.conf
I tuoi file di configurazione remota verranno inseriti nella directory /etc/lirc/lircd.conf.d. LIRC troverà qualsiasi file in questa directory purché abbia un'estensione.conf (es: JVC.lircd.conf). Non useremo il file devinput.lircd.conf quindi lo nasconderemo cambiando l'estensione come segue rinominando devinput.lircd.conf in devinput.lircd.conf.copy
$ sudo mv /etc/lirc/lircd.conf.d/devinput.lircd.conf /etc/lirc/lircd.conf.d/devinput.lircd.conf.copy
Passaggio 2: scarica il file.conf per il tuo telecomando
Il modo di gran lunga più semplice per ottenere un file.conf remoto è scaricarlo dalla vasta libreria su lirc.sourceforge.net Anche se il tuo particolare modello remoto non è elencato, è MOLTO probabile che un altro modello dello stesso produttore funzioni correttamente. Trova il produttore del tuo telecomando e fai clic su un modello vicino. Se non sei sicuro di quale modello sia vicino, puoi guardare il contenuto di ciascun modello e trovarne uno vicino al tuo.
Il modo più difficile per ottenere un file.conf è crearne uno proprio utilizzando lo strumento integrato irrecord, ma sono stato MOLTO infruttuoso nel tentativo di creare un file utilizzando questa utility nonostante molti sforzi. Ci sono molte altre persone con difficoltà simili nell'usare irrecord e consiglio vivamente il percorso semplice per scaricare un file.conf da lirc.sourceforge.net
I tuoi file di configurazione remota verranno inseriti nella directory /etc/lirc/lircd.conf.d. LIRC troverà qualsiasi file in questa directory purché abbia un'estensione.conf (es: JVC.lircd.conf).
Passaggio 3: codice Python
Ecco del codice da testare.
da lirc import RawConnection
def ProcessIRRemote():
#get IR command #keypress format = (hexcode, repeat_num, command_key, remote_id) try: keypress = conn.readline(.0001) tranne: if (keypress != "" e keypress != Nessuno): data = keypress.split() sequence = data[1] command = data[2] #ignore comando ripete if (sequence != "00"): return print(comando)
#define Global
conn = RawConnection()
print("Avvio…")
mentre vero:
ProcessoIRRemoto()