Web arayüzünden HTML ve
PHP ile hazırlanmış bir sayfa ile python kodlarını çalıştırarak ledleri kontrol
edebiliriz.
Öncelikle php web server
kurulumunu yapalım.
sudo apt-get install
apache2
sudo apt-get install php5
libapache2-mod-php5
sudo service apache2
restart
Hedef dizinimiz /var/www/html/ Oluşturduğumuz dosyalar bu dizinde çalışacak.
Sonra
/etc/sudoers.d/README dosyasından yetkilendirme ayarlarını yapıyoruz.
Bunu için
terminale:
sudo nano /etc/dudoers.d/README yazarak dosyayı açıyor ve şu kodları
ekliyoruz:
pi ALL=(ALL) NOPASSWD:
ALL
www-data ALL=(ALL)
NOPASSWD: ALL
Daha sonra her bir GPIO
pini için (12,16,25,26) ayrı ayrı “on.py” ve “off.py” dosyalarını
oluşturmalıyız.
on.py
1 2 3 4 5 6 | import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(12,GPIO.OUT) GPIO.output(12,1) |
off.py
1 2 3 4 5 6 | import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(12,GPIO.OUT) GPIO.output(12,0) |
index.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <html> <head> <!--index.php--> </head> <body> <!--GPIO12----> <form action="" method="post"> GPIO 12 <input type="submit" name="on12" value="ON"> <input type="submit" name="off12" value="OFF"> <br></br> <!--GPIO16--> <form action="" method="post"> GPIO 16 <input type="submit" name="on16" value="ON"> <input type="submit" name="off16" value="OFF"> <br></br> <!--GPIO25--> <form action="" method="post"> GPIO 25 <input type="submit" name="on25" value="ON"> <input type="submit" name="off25" value="OFF"> <br></br> <!--GPIO26----> <form action="" method="post"> GPIO 26 <input type="submit" name="on26" value="ON"> <input type="submit" name="off26" value="OFF"> </body> </html> <?php if ($_POST[on12]) { $a- exec("sudo python /var/www/html/leds/gpio/12/on.py"); echo $a; } if ($_POST[off12]) { $a- exec("sudo python /var/www/html/leds/gpio/12/off.py"); echo $a; } if ($_POST[on16]) { $a- exec("sudo python /var/www/html/leds/gpio/16/on.py"); echo $a; } if ($_POST[off16]) { $a- exec("sudo python /var/www/html/leds/gpio/16/off.py"); echo $a; } if ($_POST[on25]) { $a- exec("sudo python /var/www/html/leds/gpio/25/on.py"); echo $a; } if ($_POST[off25]) { $a- exec("sudo python /var/www/html/leds/gpio/25/off.py"); echo $a; } if ($_POST[on26]) { $a- exec("sudo python /var/www/html/leds/gpio/26/on.py"); echo $a; } if ($_POST[off26]) { $a- exec("sudo python /var/www/html/leds/gpio/26/off.py"); echo $a; } ?> |
Merhaba,
YanıtlaSilPaylaşım için teşekkürler. Emeğinize sağlık.
Peki kendi ağı dışında gerçekten remote control nasıl yapabiliriz?
Bu şekilde denemeleriniz oldu mu? Azure üzerinde vs.
Teşekkürler.
Yavuz Kömeçoğlu
Raspberry Pi Statik IP alabilirseniz bu sistemle internet olan her yerden kontrol edebilmelisiniz.
SilBu konuyu araştırıp bir yazı yazayım.
İlginiz için teşekkürler.