LIRC mit Python :: pylirc

Es gibt ein Modul namens pylirc, damit kann man unter Python LIRC ansprechen.
Vorraussetzung ist hier, dass LIRC eingerichtet ist und die Fernbedienung schon angelernt ist.

Zuerst muss pylirc2 installiert werden.

Als zweites legen wir uns neue Konfiguration an, die nennen wir demo_pylirc.conf.

begin pylirc
begin
prog = pylirc
button = KEY_1
repeat = 0
config = echo „Key 1“
end
begin
prog = pylirc
button = KEY_2
repeat = 0
config = echo „Key 2“
end
end pylirc

Damit euer Script überhaupt mit der Fernbedienung umgehen kann, muss man die Tasten zuweisen und sagen was die Taste tun soll.
Hier habe ich Taste 1 und Taste 2 belegt, drückt man eine Taste an der Fernbedieung soll Key 1 oder Key 2 ausgegeben werden.

Jetzt das Python-script dazu:
#!/usr/bin/python

try:
import pylirc
except ImportError:
raise plugin.MissingDependency(„pylirc“)

import time,os

blocking = 0;

if(pylirc.init(„pylirc“, „/home/pi/Desktop/script/f.conf“, blocking)):

code = {„config“ : „“}
while(code[„config“] != „quit“):

# Very intuitive indeed
if(not blocking):
time.sleep(1)

# Read next code
s = pylirc.nextcode(1)

# Loop as long as there are more on the queue
# (dont want to wait a second if the user pressed many buttons…)
while(s):

# Print all the configs…
for (code) in s:

handle = os.popen(code[„config“])
line = “ “
while line:
line = handle.read()
print line
handle.close()

if(code[„config“] == „blocking“):
blocking = 1
pylirc.blocking(1)

elif(code[„config“] == „nonblocking“):
blocking = 0
pylirc.blocking(0)

# Read next code?
if(not blocking):
s = pylirc.nextcode(1)
else:
s = []

# Clean up lirc
pylirc.exit()