Stap 11: LIRC met Python - deel II
Wilt u LIRC met python, moeten we import lirc module eerste. Open IDLE en slidepuzzle.py. Het moet in /home/pi/python_games. Aan de top met de andere invoer, toevoegen
sockid = lirc.init("slidepuzzle", blocking = False)
We moeten een verbinding maken met LIRC. Schrijven voor dat de onderstaande coderegel vlak voor de hoofdlus game begint:
codeIR = lirc.nextcode() if codeIR and isValidMove(mainBoard, codeIR[0]): slideTo = codeIR[0]
LIRC overeenkomt met de eerste parameter(slidepuzzle) met de waarde van de prog in lircrc en retourneert alleen de knop matches voor hen. de tweede parameter(blocking = False) LIRC vertelt dat het niet de python codeuitvoering te wachten tot de druk op de knop moet stoppen.
Net voordat we gaan in de gebeurtenisafhandeling lus, schrijven:
irsend SEND_ONCE samsungTV KEY_VOLUMEUP
LIRC slaat de knop persen in een wachtrij. lirc.nextcode() Hiermee verwijdert u de volgende waarde uit wachtrij en terug te sturen. Dus als we de afstandsbediening knop toegewezen aan KEY_UP ingedrukt, zullen we een lijst met de tekenreeks van d.w.z. codeIR zullen ['up'].
In de volgende regel controleren wij als codeIR niet leeg is en dat de beweging die we proberen te maken een geldig is is. Als ja, we slideTo ingesteld op de geretourneerde tekenreeks in codeIR. Aangezien slidepuzzle omhoog, omlaag, links, rechts tekenreeksen aan slideTo toegewezen om bewegen de blokken, we direct toegewezen die tekenreeks opgeslagen in lircrc de conf om het verplaatsen te maken.
Dat is alles. Ik heb hetzelfde met simulate.py python spel gedaan en aangesloten hen beiden. Genieten van de spellen met een afstandsbediening!