Bananapi GPIO programozás – Az első lépés

Az első lépés mindig a legnehezebb, avagy minden kezdet nehéz szokták mondani. A bananapi egy olyan eszköz, ami sajnos nem kapott elég figyelmet a netes leírások tekintetében. Személy szerint én azért választottam, mert erőforrásait tekintve jobban áll mint a Raspberry pi azonos verziói, sajnos támogatottság tekintetében ez nem mindig mondható el. Viszont ami a tanulás folyamatát illeti sokkal jobb megtanulni valamit félig meddig saját erőből, mintsem hogy kész dolgokat kapunk.

Nos kezdjük az ismerkedést egy kis Bananapi GPIO lábkiosztással. Ezt a legjobb ha képekkel szemléltetem.

Fig_014Ez a panelen így néz ki (Fizikai címezés):

gpio

A “gpio readall” parancsra pedig ezt látjuk:

gpio readall

A bemutatást most egyenlőre hagyjuk is ennyiben, mert ide majd vissza kell térnem a teljes kép érdekében. Viszont lássuk, hogy hogyan kell telepíteni fejlesztő eszközöket és a “driver”-eket.

Első lépésként telepítsük “WiringBP“-t.

git clone https://github.com/LeMaker/WiringBP.git -b bananapi 
cd WiringBP
chmod +x ./build
sudo ./build

Ha ezzel megvagyunk, akkor kérdezzük le a “gpio readall” paranccsal a GPIO állapotát. Ha a telepítés sikeres volt, akkor a legutóbbi terminálablakos képnek megfelelő végeredményt kapunk.

Ezután telepítsük a “python”-t és a hozzá tartozó RPi.GPIO_BP bővítményt.

git clone https://github.com/LeMaker/RPi.GPIO_BP -b bananapi
sudo apt-get update
sudo apt-get install python-dev
cd RPi.GPIO_BP
python setup.py install                 
sudo python setup.py install

Itt a telepítésnél elsőként sudo nélkül kell “setup.py”-t telepíteni, hogy a későbbiekben ne csak a rootként tudjuk a programjainkat futtatni.

Ha ezzel megvagyunk, akkor készítsük el az első kapcsolásunkat.

A “6-os” és a “12-es” fizikai címre kössünk rá egy kábelt. A 6-os a GND a 12-es a GPIO0. A próbapanelre rakjunk rá egy ledet és egy 220 vagy 470 Ohm-os ellenállást kössünk a GPIO0 mögé (Ez lesz a led előtét ellenállása). Ezután jöhez a led. A GND szokásos módon megy a katódra, az anódra pedig a GPIO0 az előtét ellenállással. Ha a kapcsolásunk kész van, akkor alkalmazzuk a következő parancsokat a “WiringBP”-re optimalizálva.

gpio mode 1 OUTPUT
gpio write 1 1

Ezután a lednek világítani kell ha mindent jól kötöttünk össze. Majd a következő paranccsal kikapcsolhatjuk a ledet:

gpio write 1 0

Ez a következőképpen néz ki “pythonban”:
1. Nyissuk meg az “RPi.GPIO_BP” mappát. Majd listázzuk ki a könytár tartalmát.

cd RPi.GPIO_BP
ls -l

RPi_GPIO
Ezután nyissuk meg a teszt mappát, majd nyissuk meg szerkesztésre a “led.py” file-t.

cd test 
nano led.py

led_py

A kép alapján javítsuk ki a kódot, majd mentsük el a filet.

Ha ezzel megvagyunk, akkor futtassuk a file-t.

python led.py

És Voila:

A programnak megfelelően a led kigyullad 10mp-re majd kialszik és 2 mp után kilép a programból.

Azt hiszem ezzel az első programunkat ki is végeztük, viszont ahogy a leírás elején említettem itt most érdemes visszatérni kicsit a GPIO címzésre.

Mint ahogy láttuk többféle cím van. Van a fizikai cím, ez annak megfelelő, ahogy vason egymás után következnek a tüskék. Ez gondolom eddig mindenkinek teljesen egyértelmű. Ezt beszámozhatjuk mi magunknak mert teljesen mindegy, hogy éppen honnan számozzuk, mert csak számunkra lesz jelentősége a későbbiekben.

Továbbá van egy WiringBP címünk, amit az alkalmazás használ a tüskék azonosítására. Ezt mi ki is tudjuk listázni a “gpio readall” paranccsal. Ezen felül van egy RPi.GPIO címünk, amit ugyanúgy megtalálunk az előző parancs által kihozott listában. Plusz a listában van egy “fizikai cím” is, amiben nincsenek benne az 5V, 3,3V, és GND kimenetek. Zárójelben ezért is mondtam, hogy akár mi magunknak is beszámozhatjuk, mert programozás szempontjából nincs jelentősége milyen logika alapján számozzuk be.

readall

Ezen felül a táblázatban még látjuk azt is, hogy melyik “IO” milyen beállításokkal rendelkezik éppen. (Bemenet/Kimenet/Alternatív módok). Plusz azt is látjuk, hogy éppen milyen a kimenet jelszintje. Tehát mindent be tudunk azonosítani amire éppen szükségünk van.

Remélem a végén ezzel a kis kiegészítéssel mindenkinek tudtam segíteni abban hogy megértse, hogy mégis miként címezzük a tüskéket a vason.

(Statisztika: 18 megtekintés)

Vélemény, hozzászólás?

Az email címet nem tesszük közzé.