Vaarika PI ja GPIO pins: Controlling LED Bash ja Python

Nägime eelmises postituses olid GPIO PIN- ja mõned näited praktilised rakendused, Täna keskendume üldotstarbeline pins toimimise, ja õppida kontrolli neile ning tõlgi tellimused Bash ja koos Python.

proto&viinud

Kasutame ka LED, resistentsuse kohta 330 Ohm, traat, ja üks Breadboard, või jootma ja mõne jootekolb.

Me vajame ka meie Vaarikas on juba Raspbian eelinstalleeritud, Kui teie puhul pole, Saab näha, kuidas seda teha Järgmine link selle Kataloog.

Ratsutamine circuit

Võite jootetina otse selle LED traat ja vastupanu, kui sa näed allpool diagramm, Kuigi on palju parem kasutada ka Breadboard; See on väga oluline vaadata ka põskhabe, nagu ka selle “diagonaalne” sees ning selle diood LED ühendades vooluringi ühendada kaks klemmi, juba et kui olete mount seda tahapoole ei lülitu sisse.

Vaja kontrollida LED diood süüde Circuit.

Vaja kontrollida power LED diood Circuit.

Ma lähen kasutada ühte Breadboard, ja mul on soovitatav kasutada ka, Seal on mõned umbes 4 € ja nad võimaldavad taaskasutada komponentide järjest ilma, et need joodised, sisemised ühendused ühe Breadboard nad kipuvad olema järgmised.

protocon

Breadboard ühendused.

Seosed on Breadboard ja selle Vaarikas neid tuleb nagu järgmine diagramm, selle GPIO Jõuate küsimus 3,3V määrata kõrge väärtus.

Videomonitor, Breadboard.

Vaja kontrollida power LED diood Circuit.

Tere maailm GPIO Bash

Kord paigaldatud circuit, Me ei, mida ma nimetan ka “Tere maailm GPIO” aastal Bash töötab järgmise skripti.

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

LED väljalülitamiseks saame seda teha järgmise skripti.

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

Põhimõtteliselt, mida me teeme koos Bash on luua ka Kataloogihierarhias aastal /sys/klassi/gpio ja lisades sisu iga faili, mida käsitletakse ka muutuja.

hierarhia

Hierarhia raames /sys/class/gpio kataloog.

Python tutvustus

Oleme juba osutunud meie circuit õiget toimimist ja selle LED on see köitnud kõrge väärtus muutujale anda, Nüüd vaatame, kuidas me saame teha sama Python, mis võimaldab meil kavandada meie Web rakendused kontrollida sisendid ja väljundid on GPIO mis tahes seadmest.

funcweb

Veebirakenduse abil läbi.

Enne jätkamist, Ma soovitan, et sa näed peatükid on 1 et selle 10 kohta See video tutorial Python kanali kohta YouTube kohta Lihtsustada koodi, Kui olen palju idee programmeerimine Python, See võib tulla sulle väga hästi, et tutvustada teile kood, mida me näha rohkem käia ja jõudnud arusaamisele, et see.

Erinevad Pinouts on GPIO (BCM ja juhatuse)

On kahte tüüpi pin numeratsioon, füüsilise numeratsioon või režiim JUHATUS, nummerdamise kiip SoC Broadcom kontrollitakse, Me kasutada pinout režiimis BCM, kuid vaatame erinevus.

BCMvsBOARD

Tere maailm GPIO Python

Pärast vaatame videoid, ja erinevate pinouts saab juba aru, Basic koodi teha ning “Tere maailm GPIO” aastal Python.

Kõigepealt me lae jooksutamiseks kontrolli ning GPIO koos Python, aastal Raspbian juba paigaldatud Python ja raamatukogud GPIO, Vaatame installeerida Tδiendav pakett ja ajakohastada süsteemil on uusim versioon.

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

Uuendatud kord, Vaatame, kuidas lülitada selle LED pidades silmas järgmist skripti, Näiteks vajutage enciende.py, ja võib selle käivitada root käsuga “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) 

Seda me välja lülitada, näiteks kõne 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() 

Ja seda me kutsume teid parpadea.py, Teeme vilkuma ning 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() 

Kui impordite Raamatukogu “aeg“, Saate lisada ka “uni“, ja kui ei saa lisada ning “uni” teine vahel sisse ja välja, On täiesti võimalik, et meie silm ei taju flicker.

On väga oluline, et mitte lisada erimärgid on skriptid Python, Sel põhjusel ei tegeleks kommentaarid aktsendid, Kuna see andis iseloomu viga kehtetu.

Järgmine kirje Me näeme, kuidas teha lihtne Veebirakenduse võimalda meil täita need skriptid, et juhtima mis tahes seadmest brauseriga Web.

Kas sa jälgib mind Twitter, Facebook, Google +, LinkedIn, või jagada seda väljaannet all nuppe, Kui teil on küsimusi või ettepanekuid palun ärge kartke kommenteerida.

Aitavad saavutada rohkem lugejaid Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

16 mõtted"Vaarika PI ja GPIO pins: Controlling LED Bash ja Python

  1. Mul on küsimus: Algaja…
    sest vastupidavust 330 oomi ja Millal kasutada?

    Kasutatakse alati 330 Kuna töötame RPI, või võib see olla erinev?

    Tervitus ja suurepärane blogi!!!

    • Hi Peter,

      Põhimõtteliselt see peaks toimima, tõrke andnud õigused ainult mõned inimesed, kuid alates veebirakendus, Kui kasutaja on www-data vaikimisi enam olemas.

      Just linnas juhul proovida töötab “sudo chmod + x script.py” et oleks käivitatava, Kuigi mitte nii et see peaks töötama just alates terminal; Saab õpetada mind kui Tagastab veaväärtuse, terminali käivitada skripti??

      Tänan teid väga teie kommentaar.

  2. Tere,
    Püüan LED kaudu pärast juhend proovide python sisse lülitada, kuid see annab mulle järgmine viga, kui ma saan selle koodi see:

    impordivad RPi.GPIO GPIO

    Tõrge:
    -Bash: import: järjekorda ei leitud

    Kas sa tead, miks see viga on?

    Täname ja Õnnitleme blogi on teenindavad mind palju!

  3. Hea uuesti,
    Ma ei saa aru ei esimene rida koodi: #!usr/bin/env/python
    Mis see on?
    Ma näen, et see toimib vaid koos või ilma selleta

    • Nano Tere, uute kohtumisteni.

      Räägitakse rida on avaldus, mis on sageli kaasatud skript öelda terminali, kus tõlk, millega peaks te alguses edasi, antud juhul Python; Bash oleks järgmine:

      #!/Bin/bash

      Sel juhul see toimib deklaratsiooniga ja ilma selleta Kuna failil on laiend .py, kuid alati lisada hea tava.

      Ma loodan, et olete tühjendanud oma kahtlusi, vuelve por aquí cuando quieras y muchas gracias por tu comentario 🙂

  4. Aitäh, õpetus on väga hea, kuid ma ei ole kindel:

    nad jätavad mulle järgmised vead:

    rida 12 import:ei leitud
    rida 14 Süntaks on vigane: ootamatu sõna (ootab “)”)

    Minu kood on:

    #GPIO-setup.py
    ### ALUSTADA INIT INFO
    # Pakub: GPIO-setup.ch
    # Nõutav-Start: $remote_fs $syslog
    # Nõutav-Stop: $remote_fs $syslog
    # Vaike-Start: 2 3 4 5
    # Vaike-Stop: 0 1 6
    # Kokkuvõte: Setup režiimis gpio
    # Kirjeldus: Setup gpio 22/27/17/4 läbi režiim
    ### LÕPUKS INIT INFO

    impordivad RPi.GPIO GPIO
    #Me defineerime BCM režiim
    GPIO.setmode(GPIO. BCM)
    #Me nüüd määrata GPIO väljundviiku.
    GPIO.setup(4, GPIO. LÄBI)
    GPIO.setup(17, GPIO. LÄBI)
    GPIO.setup(27, GPIO. LÄBI)
    GPIO.setup(22, GPIO. LÄBI)

    Aimu???

    • Tere Leoctam, Aitäh kommenteerimast.

      Esimesed read annavad mõista, et soovite luua süsteemi deemon, kuid nad on kommenteeritud nii, et seda ei võeta arvesse.

      Aga teisest küljest, tähist, mille abil suhelda on GPIO on Python, nii et sa pead jääma skripti .py, mis tugineb oma süsteemi daemon:, või teha nii nagu ka Esimese näite õpetamisel Bash abil.

Jäta vastus