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 LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

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