Stap 2: Instellen van de BB-GPIO
Ik heb gekozen om de BeagleBone de GPIO pin hoog instellen bij het opstarten, zodat het zal toestaan de Arduino te lopen de hele tijd. Je kunt ook doen dit als onderdeel van uw python script setup, maar ik wil mijn gadget om te werken, zelfs als de python-script wordt nooit gestart.Im ' lopende Ubuntu op mijn BB, dus als u Angstrom het enige verschil is om erachter te komen hoe een bash-script bij het opstarten om up te starten. Voor Ubuntu is het net zo eenvoudig als een regel toevoegen aan/etc/rc.local. Ik heb mijn bash script "sysinit.sh" genoemd, stellen het uitvoerbare (chmod a + x) en opgeslagen in/root /, dus ik voeg "/ root/sysinit.sh" naar mijn bestand rc.local op een nieuwe regel. Zorg dat u op herstart ofwel alleen het script uitvoeren eenmaal alvorens over te gaan!
In het script moeten we een andere pin-naamgevingsconventie gebruiken dan we gewend zijn. Wij gebruiken op het bord, P9 pin 23. Met behulp van de handige afbeelding op PyBBIO van wiki zien we dat pin is ook bekend als GPIO1_17. Op linux, gewoon door de pinnen zijn genummerd, maar gelukkig is het gemakkelijk om de naam van de GPIO op het eenvoudige getal vertalen met behulp van de volgende formule:
GPIOb_p = b * 32 + p = N
Dus we willen GPIO1_17, dat 1 is * 32 + 17 = 49. Als u gebruiken een andere pin wilt, vervangt u 49 voor uw nummer in het script.
Mijn script als volgt:
#! / bin/bash
#gpio1_17 voor arduino resetpin, trekken hoge inschakelen
#GPIOb_p = b * 32 + p = N
#enable de pin
ECHO 49 > /sys/class/gpio/export
#set voor uitvoer
echo "out" > /sys/class/gpio/gpio49/direction
#set hoog
echo 1 > /sys/class/gpio/gpio49/value