Raspberry Pi
9) První skript
Nemá cenu tady vysvětlovat, jak se píší skripty pro linux.
Detailní návody jsou například tady v angličtině:
http://www.gnu.org/software/bash/manual/bashref.html
nebo tady v češtině:
http://www.root.cz/clanky/programovani-v-bash-shellu/
http://www.abclinuxu.cz/clanky/navody/bash-i
Já jsem si zkusil napsat skript pro jednoduchého světelného hada,
který se rozběhne po stisku tlačítka na GPIO portu 21 a přeruší se
při stisku tlačítka na portu GPIO22. Ledky mám postupně seřazené
na portech 4, 18, 24 a 25.
Vytvořil jsem si soubor had ve složce /home/pi/skripty/
a vložil jsem do něj tenhle kód:
#!/bin/sh
#nastaveni portu s tlacitkama pro vstup
gpio-admin export 21
gpio-admin export 22
#nastaveni portu LEDkama pro vystup
gpio-admin export 4
echo out > /sys/devices/virtual/gpio/gpio4/direction
gpio-admin export 18
echo out > /sys/devices/virtual/gpio/gpio18/direction
gpio-admin export 24
echo out > /sys/devices/virtual/gpio/gpio24/direction
gpio-admin export 25
echo out > /sys/devices/virtual/gpio/gpio25/direction
stav21=1
while [ "$stav21" -eq "1" ] # testovani startovaciho tlacitka 21
do
stav21=`cat /sys/devices/virtual/gpio/gpio21/value`
sleep 1
done
stav22=1
while [ "$stav22" -eq "1" ] # testovani ukoncovaciho tlacitka 22
do
# postupne rozsvecovani a zhasinani LEDek vzdycky se sekundovou pauzou mezi prechody
echo 1 > /sys/devices/virtual/gpio/gpio4/value
sleep 1
echo 0 > /sys/devices/virtual/gpio/gpio4/value
echo 1 > /sys/devices/virtual/gpio/gpio18/value
sleep 1
echo 0 > /sys/devices/virtual/gpio/gpio18/value
echo 1 > /sys/devices/virtual/gpio/gpio24/value
sleep 1
echo 0 > /sys/devices/virtual/gpio/gpio24/value
echo 1 > /sys/devices/virtual/gpio/gpio25/value
sleep 1
echo 0 > /sys/devices/virtual/gpio/gpio25/value
stav22=`cat /sys/devices/virtual/gpio/gpio22/value`
done
# uvolneni vsech pouzitych portu
gpio-admin unexport 21
gpio-admin unexport 22
gpio-admin unexport 4
gpio-admin unexport 18
gpio-admin unexport 24
gpio-admin unexport 25
exit 0
|
... nastavil jsem mu atribut spustitelnosti:
sudo chmod 755 /home/pi/skripty/had |
... a pak jsem ho v terminálu spustil:
Po stisku tlačítka 21 se LEDky rozblikaly a po stisku tlačítka 22 a
doběhnutí cyklu do konce se had zastavil a skript ukončil.
Tady je video:
|