Raspberry Bash Scrip ile Programlama

Pi ile hiç bir kütüphane kullanmadan raspbian ile komut satırından pinler kontrol edilebilmektedir.
Pinler üzerindeki kontrolleri linux komutlarıyla yapmak bizlere bir çok avantaj sağlayacaktır. Bunlardan bazıları;
  • php web sitesi işe kontrol
  • python ile kontrol
  • c++ ile kontrol 
  • bash scrip ile konrol vb.
Bu komutlar root olarak çalıştırılmalıdır.
echo "5" > /sys/class/gpio/export # 5 numaralı pin kullanılacağı bildiriliyor
echo "out" > /sys/class/gpio/gpio5/direction # 5 numaralı pin çıkış yapılıyor echo "0" > /sys/class/gpio/gpio5/value # 5 numaralı pin false==off==low yapılıyor echo "1" > /sys/class/gpio/gpio5/value # 5 numaralı pin true==on==high yapılıyor

Örneğin c++ ile bir linux komutunu system("echo deneme"); şeklinde çalıştırabiliyoruz..
php ve python ile komutlar rahatlıkla çalıştırılabilir.

Aşağıdaki örnekte ise giriş işlemi yapılmaktadır.

echo "5" > /sys/class/gpio/export # 5 numaralı pin kullanılacağı bildiriliyor echo "in" > /sys/class/gpio/gpio5/direction # 5 numaralı pin giriş yapılıyor cat /sys/class/gpio/gpio5/value # 5 numaralı pin bilgisi ekranda gösteriliyor


/********************************* Buton uygulaması**************************************/
#!/bin/bash 

echo "23" > /sys/class/gpio/export                            #24 numaralı pin kullanılacağını söylüyoruz
echo "out" > /sys/class/gpio/gpio23/direction          #23 numaralı pin çıkış ayarlanıyor

echo "24" > /sys/class/gpio/export                            #24 numaralı pin kullanılacağını söylüyoruz
echo "in" > /sys/class/gpio/gpio24/direction             #24 numaralı pin giriş yapılıyor

while true;      #sonsuz döngü kuruyoruz
do 
    echo "bekleniyor..." 
    if (( "$(cat /sys/class/gpio/gpio24/value)" == "1" )); #24 numaralı pin 1 yapılırsa 23 numaralı pini on yap
        then 
            echo "1" > /sys/class/gpio/gpio23/value             #23 numaralı pini on yap
     fi     
sleep 0.2                                                                            #0.2 saniye bekleme yaptırıyoruz...
done



Yorumlar