Raspberry Pi PirateBox (20 / 21 steg)
Steg 20: Hur Python program arbete
Det finns två anpassade Python program används i detta instructable att skapa Raspberry Pi PirateBox.
rpi_halt_btn.py
Första programmet "rpi_halt_btn.py" startas upp under uppstartsprocessen med kommandot
python /home/pi/python_programs/rpi_halt_btn.py &
i "rc.local" system-filen. Den "&" i slutet av kommandot gör programmet körs som en separat process som håller igång tills programmet avslutas.
1 importera RPi.GPIO som GPIO
2 import os
3 GPIO.setmode (GPIO. BCM)
4 GPIO.setup (25, GPIO. IN, pull_up_down = GPIO. PUD_UP)
5 print "\nrpi_halt_btn: började och nu väntar GPIO stoppa knapp vara intryckt."
6 prova:
7 GPIO.wait_for_edge (25, GPIO. OMFATTAS AV)
8 utom KeyboardInterrupt:
9 GPIO.cleanup()
10 GPIO.cleanup()
11 os.system("halt")
Funktionen av varje rad är följande:
- Linje 1 import biblioteket som tillåter ett Python program att använda Raspberry Pi GPIO stift.
- Linje 2 import biblioteket som låter en Python programmet fråga systemkommandon.
- Linje 3 berättar den efterföljande GPIO fungerar definitionen av GPIO pin-koder som används.
- Linje 4 anger GPIO stift 25 att vara en ingångsstift och möjliggöra en dra upp motstånd för att stiftet.
- Linje 5 skriver ut ett meddelande på konsolen som anger att programmet körs. Om du har en bildskärm ansluten till Raspberry Pi under uppstart, ser du detta meddelande på konsolskärmen.
- Linje 6 och 7 gör programmet vänta tills knappen trycks innan du fortsätter till linje 10.
- Linje 8 och 9 gör programmet sluta om användaren träffar Ctrl/C - dessa rader är för felsökning ändamål.
- Linje 10 körs efter knappen ansluten till GPIO stift 25 används. Denna kodrad avslutar alla GPIO bearbetning.
- Linje 11 använder systembiblioteket för att utfärda Raspbian "halt" kommandot. Kommandot "stopp" stängs av systemet.
illuminate_leds.py
Det andra programmet "illuminate_leds.py" drivs av kommandot
efter upp python /home/pi/python_programs/illuminate_leds.py
i system-filen "/ etc/nätverken/gräns flat". "Post upp" kommandot körs när nätverksgränssnitt är igång. I detta fall, det är när WiFi är igång.
1 importera RPi.GPIO som GPIO
2 GPIO.setmode (GPIO. BCM)
3 GPIO.setup (23, GPIO. OUT)
Funktionen av varje rad är följande:
- Linje 1 import biblioteket som tillåter ett Python program att använda Raspberry Pi GPIO stift.
- Linje 2 berättar den efterföljande GPIO fungerar definitionen av GPIO pin-koder som används.
- Linje 3 anger GPIO pin 23 till en utgång och sätter värdet till låg orsakar LED styrelsen att belysa lysdioderna.