Málna PI és GPIO csapok: A Bash és a Python LED vezérlése

Az előző post, láttuk, volt a GPIO csapok és néhány példa a gyakorlati alkalmazások, Ma fogunk összpontosítani a működésének általános célú csapok, és megtanul-hoz irányít őket a megrendelések a tolmács Bash és a Python.

proto&vezetett

Fogja használni a LED-ES, az ellenállás 330 Ohm, drót, és egy Kenyérvágódeszka, vagy ón és egy forrasztópáka.

Is szükségünk lesz a Málna már Raspbian előre telepítve, Ha az Ön esetében nem, Láthatjuk, hogyan kell csinálni az alábbi linket a Könyvtár.

Lovaglás az áramkör

Tudod, forrasztható közvetlenül a LED-ES huzal és az ellenállás, amit látni a következő ábra, Bár-a ' sok jobb-hoz használ egy Kenyérvágódeszka; Az is nagyon fontos, hogy néz ki jól a pajesz, mint az a “átlós” belsejében a dióda LED-ES egyesíti a két láb csatlakoztatni az áramkör, már amit ha Ön felmászik ez visszafelé nem kapcsol be.

Áramkör szükségesek, hogy ellenőrizzék a gyújtást, a LED dióda.

Áramkör szükséges ellenőrzése a hatalom a LED dióda.

Én megyek, hogy használja Kenyérvágódeszka, Javasoljuk, hogy használja, és a, Van néhány körülbelül 4 € abban az esetben, és lehetővé teszik számunkra, hogy újra alkatrészek újra és újra, anélkül, hogy forrasztható őket, egy belső kapcsolatok Kenyérvágódeszka ők ellát-hoz lenni a következő.

protocon

Egy kenyérvágódeszka kapcsolatok.

A kapcsolatok között, a Kenyérvágódeszka és a Málna kell lenniük, mint az alábbi ábrán, a GPIO Érheti el a probléma 3,3V magas érték hozzárendelése.

A kenyérvágódeszka áramkör.

Áramkör szükséges ellenőrzése a hatalom a LED dióda.

Hello World of a Bash, GPIO

Egyszer csatlakoztatott áramkör, Fogunk csinálni, ahogy én nevezem, a “Hello világ GPIO” a Bash fut a következő script.

#!/bin/bash
#Exportamos el puerto GPIO 17 
echo 17 > /sys/class/gpio/export 
#Lo configuramos como salida 
echo out > /sys/class/gpio/gpio17/direction 
#Encendemos el LED asignandole 1 como valor lógico
echo 1 > /sys/class/gpio/gpio17/value

Kapcsolja ki a LED, tudjuk csinálni a következő script.

#!/bin/bash
#Apagamos el LED asignandole 0 como valor lógico
echo 0 > /sys/class/gpio/gpio17/value  
#Eliminamos la entrada del puerto GPIO 17 
echo 17 > /sys/class/gpio/unexport 

Alapvetően mi csinálunk Bash az, hogy hozzon létre egy Könyvtár-hierarchia a /osztály/sys/gpio és tartalom hozzáadása a minden fájl, hogy kell kezelni, mint egy változó.

hierarchia

A /sys/class/gpio directory hierarchiában.

Bevezetés a Python

Mi már bizonyított, hogy megfelelően működik-e az áramkör és a LED-ES Ez már kirúgták, hogy magas érték a változó, Most lássuk, hogyan tehetünk ugyanaz Python, amely lehetővé teszi számunkra, hogy a menetrend a webes alkalmazások a bemenetek és kimenetek ellenőrzése a GPIO bármilyen eszközről.

funcweb

A webes alkalmazás működése.

A folytatás előtt, Azt javaslom, hogy van fejezete a 1 hogy a 10 a Ezt a videót bemutató, a Python a csatorna YouTube-on a Megkönnyítette a kód, Ha nincs sok ötlet, programozás, Python, Ez jöhet, nagyon jól, hogy megismertessük Önt a kódot, hogy több előre látni, és megértették, hogy.

Különböző Pinouts, a GPIO (BCM és a fedélzeten)

Kétféle pin számozás, a fizikai számozás vagy mód IGAZGATÓSÁG, és a számozás a chip SoC Broadcom kontrolling őket, Fogjuk használni a bekötés módban BCM, de nézzük meg a különbséget.

BCMvsBOARD

Hello World of a GPIO Python

Után néz a video, és a különböző pinouts már ért a kód alap, hogy a “Hello világ GPIO” a Python.

Először fogjuk letölteni mindent, amit kell irányítani a GPIO a Python, a Raspbian Ők már telepítve van Python és a könyvtárak GPIO, de mi lesz egy további csomag felszerel és korszerűsíteni a rendszer van a legutolsó változat.

usuario@maquina:~$ sudo apt-get install python-dev
usuario@maquina:~$ sudo apt-get install python-rpi.gpio
usuario@maquina:~$ sudo apt-get update && sudo apt-get upgrade

Egyszer korszerűsített, Lássuk, hogyan kell bekapcsolni a LED-ES a következő script, Például hívása enciende.py, és lehet futtatni a parancsot root-ként “sudo Python enciende.py”.

#!usr/bin/env/ python
#enciende.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM 
GPIO.setmode(GPIO.BCM) 
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico alto para encender el LED
GPIO.output(17, GPIO.HIGH) 

Ezzel tudjuk kikapcsolni ez, például a hívás apaga.py

#!usr/bin/env/ python
#apaga.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)  
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico bajo para apagar el LED
GPIO.output(17, GPIO.LOW) 
#Finalmente liberamos todos los pines GPIO, es decir, los desconfiguramos)
GPIO.cleanup() 

És ezzel mi fogunk hívni parpadea.py, Villogó teszünk a LED-ES.

#!usr/bin/env/ python
#parpadea.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Importamos la libreria time
import time 
#Definimos el modo BCM 
GPIO.setmode(GPIO.BCM) 
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Queremos que lo que contenga el for i in range se repita 5 veces
for i in range(0,5): 
        #Asignamos valor logico alto para encenderlo
               GPIO.output(17, GPIO.HIGH) 
        #Esperamos un segundo
               time.sleep(1)
        #Asignamos valor logico bajo para apagarlo
         GPIO.output(17, GPIO.LOW) 
        #Esperamos un segundo
         time.sleep(1) 
#Una vez termina las 5 repeticiones, liberamos el pin GPIO utilizado; en este caso el 17
GPIO.cleanup() 

Ha nem importálja a könyvtár “idő“, nem lehet hozzáadni a “alvás“, és ha nem, Add hozzá a “alvás” a második között be- és kikapcsolása, Nagyon is lehetséges, hogy a szemünk nem érzékeli lebegés.

Nagyon fontos nem-hoz összead speciális betűk-ban a parancsfájlok Python, Ezért a hozzászólások nem viszi át a hangsúlyok, Mivel ez adott érvénytelen karakter-hiba.

Az alábbi bejegyzés Majd meglátjuk, hogyan lehet egy egyszerű Webes alkalmazás lehetővé teszi számunkra, hogy végre ezek parancsfájlok, ahhoz, hogy ellenőrizzék a böngésző bármilyen eszközről Web.

Ha tetszik, akkor Kövess engem, Twitter, Facebook, A Google +, LinkedIn, vagy ossza meg a gombok alatt a kiadvány, Ha bármilyen kérdése van, vagy javaslatokat kérjük ne habozzon megjegyzést.

Segítsen nekünk, hogy elérje több olvasót Share on LinkedIn
LinkedIn
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on Google+
A Google +
Email this to someone
e-mailben

16 gondolatok a"Málna PI és GPIO csapok: A Bash és a Python LED vezérlése

  1. Nekem van egy kérdés, a newbie…
    mert az ellenállás 330 ohm, és mikor kell használni?

    Mindig használatos 330 Mikor együttműködünk RPI, vagy ez változhat?

    A köszöntés és kiváló blog!!!

    • Szia Péter,

      Elméletileg ez kellet volna dolgozik, hiba csak adott engedélyeket a néhány ember, de a webes alkalmazás fut, a felhasználó www-data alapértelmezés szerint már nem rendelkezik ezekkel az engedélyekkel.

      Csak abban az esetben próbálja meg futás “sudo chmod + x script.py” annak érdekében, hogy végrehajtható, Bár nem így működnie kell csak a terminál; Tud tanít én ha hibát jelez a terminál-hoz fuss a kézírás??

      Köszönöm szépen részére-a magyarázat.

  2. jó, Mikor adja meg a parancsfájl Python, azt mondja, hogy a arroba egy SyntaxError amit lehet? Köszönet és Üdvözlet.

  3. helló,
    Én kipróbálás-hoz kapcsolja egy python útmutató mintákat követő keresztül LED, de ez ad nekem a következő hiba, amikor futtatom a kódot,:

    importálás, GPIO RPi.GPIO

    Hiba:
    -bash: import: nem találta meg a rendelés

    Tudod, hogy miért van ez a hiba?

    Köszönöm, és gratulálok a blog szolgál engem sok!

    • Nano-Hello, Köszönöm, hogy kommentálja.

      Úgy tűnik, hogy a kód Bash és nem a Python és értelmezi.

      A parancsfájl futása, vagy a vonalak-ból kód közvetlenül a terminál?

      • Hmm volt futás ez-ból szegélyező…hehe kövér hiba (Én vagyok az új, hogy a málna nem engedheti meg magának még = P )

        • Örülök, hogy Ön megfejt!!!

          Köszönöm, hogy kommentálja, Ne habozzon, hogy abban az esetben, ha bármilyen kérdése van; olvasók között és Hiányozni fogsz, egy kéz.

  4. Jó újra,
    amit nem értek, a első vonal-ból kód: #!usr/tartó/env/python
    mi ez?
    Látom, hogy ez szerkezet csak-val vagy nélkül

    • Nano-Hello, Üdvözöljük újra.

      A sorban említette, hogy a kijelentés, hogy gyakran szerepel egy kézírás-hoz mond a terminál, ahol a tolmács, amelyek megrendelések érdemes kezdetén adja át, Ebben az esetben a Python; bash a következőképpen kell:

      #!/tartó/erős ütés

      Ebben az esetben működik a nyilatkozattal, és anélkül, mert a fájl már a kiterjesztés .py, de ez jó gyakorlat-hoz mindig add meg.

      Remélem, hogy törölte a kétségek, ide vissza, amikor csak akar, és köszönöm szépen a megjegyzést 🙂

  5. köszönöm, a bemutató kiválóan, de van egy kétség:

    a következő hibákat el nekem:

    vonal 12 import:nem található
    vonal 14 Szintaktikai hiba: nem várt word (vár “)”)

    Az én-m kód:

    #GPIO-setup.py
    ### KEZDŐDIK AZ INIT INFO
    # Biztosít: GPIO-setup.ch
    # Szükséges-Start: $remote_fs $syslog
    # Szükséges-Stop: $remote_fs $syslog
    # Alapértelmezett-Start: 2 3 4 5
    # Alapértelmezett-Stop: 0 1 6
    # Rövid-leírás: A telepítő mód gpio
    # Leírás: A telepítő gpio 22/27/17/4 ki mód
    ### VÉGÉN INIT INFO

    importálás, GPIO RPi.GPIO
    #Mi határozza meg a BCM-mód
    GPIO.setmode(GPIO. BCM)
    #Most definiáljuk a GPIO kimenő pinje
    GPIO.setup(4, GPIO. KI)
    GPIO.setup(17, GPIO. KI)
    GPIO.setup(27, GPIO. KI)
    GPIO.setup(22, GPIO. KI)

    Akármi eszme???

    • Szia Leoctam, Köszönöm, hogy kommentálja.

      Az első sorokban adja meg megérteni, hogy próbál létrehozni egy rendszer daemon, de ők is nyilatkozott, így figyelembe nem venni.

      mindazonáltal, a kód, amit használsz, hogy kölcsönhatásba lépnek a GPIO a Python, így meg kell maradni a script .py, hogy majd lehet hivatkozni a rendszer démonból, vagy használja a Bash ehhez az első példa a bemutató.

Hozzászólás