Malina PI i GPIO igle: Kontrolisanje LED sa Bash i piton

U prethodnom postu videli smo bili GPIO igle i neke primere praktičnih aplikacija, Danas smo će se fokusirati na rad Numerical igle, i naučiti da ih kontrolišemo prevodilac je naređenja Bash i sa Piton.

proto&vodio

Će koristiti za LED, otpornost na 330 Ohm, žica, i jedan Dasci, ili lemljenje i lemilicu.

Moramo da nam Malina već imam Raspbian unapred instalirane, Ako tvoj slučaj nije, Možete da vidite kako se to radi na sledeći način povezati iz na Direktorijum.

Jahanje na stazi

Ti možeš lemljenje direktno na LED žice i otpor kao te videti u sledećim dijagram, Iako je mnogo bolje iskoristiti za Dasci; Takođe je vrlo važno da izgledam dobro na zaliscima, kao u u “Dijagonalne” unutar od na dioda LED Kombinovanje dve igle da postavi kolo, već To ako ti je ugraditi unazad će uključite.

Kolo potrebni za kontrolu paljenjem LED diode.

Kolo potrebni za kontrolu napajanja za LED diode.

Ja ću iskoristiti jednu Dasci, i preporučujem da koristite za, Postoje neki od otprilike 4 € i oni nam omogućavaju da ponovo iznova i iznova koristiti komponente bez potrebe da ih lemljenje, unutrašnjih veza jednog Dasci Oni imaju tendenciju da bude na sledeći način.

protocon

Na dasci za povezivanje.

Veze između na Dasci i na Malina Mora da su i u sledećem dijagramu, na GPIO Ne pronadeš pitanje 3,3V za dodeljivanje logičke visoke vrednosti.

Struja na dasci.

Kolo potrebni za kontrolu napajanja za LED diode.

Zdravo World of GPIO sa Bash

Jednom postavljeni kolo, Idemo da radim ja nazivam je “Zdravo sveta GPIO” u Bash pokrenut na sledeći način Skripta.

#!/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

Da biste isključili na LED, mi to možemo sa sledećim Skripta.

#!/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 

U osnovi ono što radimo sa Bash da se stvori je Hijerarhije imenika u /klasa/sys/gpio i Dodavanje sadržaja svake datoteke koja će biti tretirani kao jedan Promenljiva.

hijerarhija

Hijerarhija unutar /sys/class/gpio direktorijum.

Uvod u Python

Već smo pokazali da nam kolo radi ispravno i na LED to ispalio je dati logičku visoku vrednost na promenljivu, Sada da vidimo kako da radimo isto Piton, To će nam omogućiti da isplanirate nam Web aplikacije za kontrolu sa ulazom i izlazom od na GPIO iz bilo kojeg uređaja.

funcweb

Operacija pomoću WEB aplikacije.

Prije nego što nastavite, Preporučujem da vidite poglavlja u 1 da je 10 od Ovo uputstvo od pitona kanal od YouTube od Šifra olakšana, Ako kao ja nemam puno ideja programiranja u Piton, To bi dolazili kod tebe samog pa da vas upoznam sa šifrom koja će to shvatiti i vidimo još pred nama.

Različite Pinouts od na GPIO (BCM i odbor)

Postoje dva tipa pin numerisanje, na fizičkom numerisanje ili režim ODBOR, i numerisanje čip Šoć Broadcom Kontrolisanje ih, Da li cemo iskoristiti na pinout u režimu BCM, Ali pogledajmo razliku.

BCMvsBOARD

Zdravo World of GPIO sa pitonom

Nakon gledanja videa, i različitih pinouts već mogu da razumem osnovni kod da bi se “Zdravo sveta GPIO” u Piton.

Prvo cemo preuzeti sve što trebate na kontrolu u GPIO sa Piton, u Raspbian Oni su već instalirani. Piton i biblioteke GPIO, Ali mi idemo da instalirate dodatni paket i ažurirali sistem da imate najnoviju verziju.

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

Ažurira jednom, Da vidimo kako se uključiti u LED sa na sledeći način Skripta, Na primer zovite enciende.PY, i možemo to da štampamo kao koren sa komandom “Sudo Piton 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) 

Sa ovim smo možete isključiti, na primer zvati. 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() 

I sa ovim, mi ćemo zvati vas parpadea.PY, Napravićemo bljeskanje na LED.

#!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() 

Ako ti ne uvozi u biblioteku “vremena“, Nije moguće dodati na “Spavaj“, a ako ne dodate na “Spavaj” sekunde između sa prekidima, To je sasvim moguće da motrimo ne bi je svetluca.

To je veoma važno da ne dodate specijalne znakove u na skripte u Python, iz tog razloga komentare ne nose akcenata, Od kada ga je dao nevažeći znak greške.

U sledećoj stavci Ćemo videti kako napraviti jednostavni Web aplikacije Dozvolite nam da izvrši ove skripte, da mogu kontrolisati sa bilo kojim uređajem pomoću pregledača Web.

Kao ti da pratite me Twitter-a, Facebook, Google +, LinkedIn, niti je deliti sa dugmadi ispod ove publikacije, Ako imate bilo kakvih pitanja ili sugestije ne oklevajte da komentariše.

Pomozi nam da dosegnemo više čitalaca Share on LinkedIn
LinkedIn
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter-a
Share on Google+
Google +
Email this to someone
e-pošta

16 misli na"Malina PI i GPIO igle: Kontrolisanje LED sa Bash i piton

  1. Imam pitanje iz novajlijo…
    Jer otpora 330 Ohm i kada je koristiti?

    Uvek koriste se za 330 Kada radimo sa RPI, ili ga može se razlikovati.?

    Pozdravna poruka i odličan blog!!!

    • Zdravo, Peter.,

      U principu bi trebao raditi, Greška je samo dao dozvole za neke ljude, ali manje od web aplikacija, kao korisnik www-data podrazumevano više nema ove dozvole.

      Samo u slučaju pokušajte pokrenuti “Sudo chmod + x script.py” da biste to izvršne, Iako nije tako bi trebao raditi samo iz terminala; Nauиiжeљ me ako ti daje grešku na terminalu da pokrenete skriptu??

      Hvala vam puno za tvoj komentar.

  2. Zdravo,
    Pokušavam da biste uključili LED kroz piton prati Vodič za uzorke, ali to mi daje sljedeća greška pokretanja šifru to:

    Uvoz RPi.GPIO kao GPIO

    Greška:
    -Bash: Uvoz: redosled nije pronađen

    Ti znaš zašto je ova greška?

    Hvala vam i čestitam na blogu me izdržava puno!

    • Pozdrav Nano, Dobro došli ponovo.

      Spomenula je izjava koja se često nalazi na početku skripti za reci terminal gde ti treba prevodilac koji je naredio da prolaze, u ovom slučaju, piton; bash bi na sledeći način:

      #!/Bin/bash

      U ovom slučaju, radi sa deklaracijom i bez toga s obzirom da datoteka ima .py sa oznakom tipa datoteke, Ali je dobra praksa da se uvek da ga dodate..

      Nadam se da ste obrisali svoje sumnje, nazad ovamo kad god želite i hvala vam puno za tvoj komentar 🙂

  3. Hvala ti, Ovo uputstvo je odlična, Ali imam sumnju:

    Ostavili su me sa sledećih grešaka:

    linija 12 Uvoz:nije pronađen
    linija 14 Sintaksna greška: neočekivani reč (Očekuje “)”)

    Moja šifra je:

    #GPIO-setup.py
    ### OZNAKA POČETKA MOGUĆNOST ZA INFO
    # Pruža: GPIO-setup.ch
    # Potrebne Start: $remote_fs $syslog
    # Potrebno-Stop: $remote_fs $syslog
    # Podrazumevani-Start: 2 3 4 5
    # Podrazumevani-Stop: 0 1 6
    # Kratak opis: Podešavanje režima gpio
    # Opis: Podešavanje gpio 22/27/17/4 se režim
    ### KRAJ MOGUĆNOST ZA INFO

    Uvoz RPi.GPIO kao GPIO
    #Moramo definisati BCM režim
    GPIO.setmode(GPIO. BCM)
    #Sada smo definisati na GPIO izlaznih pinova
    GPIO.setup(4, GPIO. NAPOLJE)
    GPIO.setup(17, GPIO. NAPOLJE)
    GPIO.setup(27, GPIO. NAPOLJE)
    GPIO.setup(22, GPIO. NAPOLJE)

    Bilo koji ideja???

    • Zdravo, Leoctam., Hvala ti za komentarisanje.

      Prvi redovi Daj da shvatim da pokušavate da kreirate sistem demona, Ali oni su komentarisali pa to će biti uzeto u obzir.

      sa druge strane, Šifra koju koristite za interakciju sa na GPIO je piton, Tako da morate ostati u .py u skripti koje će biti pozvane iz tvog sistema daemon, ili koristite Bash da to učini kao u primeru koji prvi u ovom predavanju.

Оставите одговор