Läs/emulera fjärrkontroller med Arduino och Raspberry Pi (11 / 12 steg)
Steg 11: LIRC med Python - del II
Vi vill använda LIRC med python, importera lirc modul först. Öppna IDLE och öppna slidepuzzle.py. Det bör i /home/pi/python_games. På toppen med den övriga importen, lägga till
importera lirc
Vi måste skapa en anslutning till LIRC. För att skriva det under kodrad strax innan spelet huvudloop startar:
sockid = lirc.init ("slidepuzzle", blockerar = False)
LIRC matchar den första parameter(slidepuzzle) med prog värdet i lircrc och returnerar endast knappen matcher för dem. andra parameter(blocking = False) berättar LIRC att det inte ska sluta python kodkörning vänta på tryck på knapp.
Precis innan vi går in händelsehantering slingan, skriv:
codeIR = lirc.nextcode()
om codeIR och isValidMove (moderkort, codeIR[0]):
slideTo = codeIR [0]
LIRC lagrar knapptryckningar i en kö. lirc.nextcode() tar bort nästa värde från kön och lämna tillbaka den. Så om vi trycker på knappen remote tilldelats KEY_UP vi kommer att få en lista som innehåller den sträng upp dvs codeIR kommer att ['upp '].
På nästa rad kontrollerar vi om codeIR inte är tom och att vi försöker göra är giltig. Om ja, vi slideTo att den returnerade strängen i codeIR. Eftersom slidepuzzle tilldelas slideTo upp, ner, vänster, höger strängar för att göra flytta blocken, vi direkt tilldelade strängen sparas i lircrc's conf att flytta.
Det är allt. Jag har gjort samma sak med simulate.py python spel och fäst dem båda. Njut av spel med en fjärrkontroll!