Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V části 1 jsem předvedl, jak sestavit RPi + VS1838b a nakonfigurovat modul LIRC Raspbian pro příjem IR příkazů z IR dálkového ovladače. Všechny problémy s nastavením hardwaru a LIRC jsou popsány v části 1. Část 2 předvede, jak propojit hardware + modul LIRC, který jsme nastavili v části 1, s pythonem.
Dálkový [IR přijímač + RPI] LIRC Pythondisplay (nebo odeslat).
Zásoby
žádný
Krok 1: Skrýt Devinput.lircd.conf
Vaše vzdálené konfigurační soubory budou umístěny do adresáře /etc/lirc/lircd.conf.d. LIRC najde jakýkoli soubor v tomto adresáři, pokud má příponu.conf (tj: JVC.lircd.conf). Nebudeme používat soubor devinput.lircd.conf, takže jej skryjeme změnou rozšíření následovně přejmenováním devinput.lircd.conf na devinput.lircd.conf.copy
$ sudo mv /etc/lirc/lircd.conf.d/devinput.lircd.conf /etc/lirc/lircd.conf.d/devinput.lircd.conf.copy
Krok 2: Stáhněte si soubor.conf pro dálkové ovládání
Zdaleka nejjednodušší způsob, jak získat vzdálený soubor.conf, je stáhnout jej z obrovské knihovny na lirc.sourceforge.net I když váš konkrétní vzdálený model není uveden, je VELMI pravděpodobné, že jiný model od stejného výrobce bude fungovat dobře. Najděte výrobce dálkového ovladače a klikněte na model, který je blízko. Pokud si nejste jisti, který model je blízko, můžete se podívat na obsah každého modelu a najít ten, který je vám blízký.
Nejtěžší způsob, jak získat soubor.conf, je vytvořit si vlastní pomocí vestavěného nástroje ircord, ale při pokusu o vytvoření souboru pomocí tohoto nástroje jsem byl velmi neúspěšný. Existuje spousta dalších lidí, kteří mají podobné potíže s používáním ircordu a já vřele doporučuji snadnou cestu ke stažení souboru.conf z lirc.sourceforge.net
Vaše vzdálené konfigurační soubory budou umístěny do adresáře /etc/lirc/lircd.conf.d. LIRC najde jakýkoli soubor v tomto adresáři, pokud má příponu.conf (tj.: JVC.lircd.conf).
Krok 3: Kód Pythonu
Zde je nějaký kód k testování.
z lirc importujte RawConnection
def ProcessIRRemote ():
#get IR příkaz #keypress format = (hexcode, repeat_num, command_key, remote_id) zkuste: keypress = conn.readline (.0001) kromě: keypress = "" if (keypress! = "" a keypress! = None): data = keypress.split () posloupnost = data [1] příkaz = data [2] #ignore příkaz opakuje if (posloupnost! = "00"): návrat tisku (příkaz)
#define Global
conn = RawConnection ()
tisk („Spouštění…“)
zatímco pravda:
ProcessIRRemote ()