目的:
WEB画面から raspberry pi に 接続した LED の ON/OFF を行う。
環境/構成:
WEB画面から ON/OFF を行うため、
- WEBサーバー (apache2)
- php
のインストールを行い、php から LED ON, LED OFF のプログラムを実行する。
LED ON, LED OFF のプログラム、LED接続回路は こちら を参照。
アプリケーションインストール:
- WEBサーバー(apache2) のインストール
sudo apt install apache2
インストール完了で apache が 起動する。
ブラウザから、http://"raspberry pi の アドレス" へアクセスすると、
"Apache2 Debian Default Page" が表示される。 - php のインストール
sudo apt install phpphp -v で、php のバージョンが表示される。
また、
php -r "echo date('Y-m-d');" で、日付が表示される。
html ( .php) ファイルの設置:
/var/www/html の下 に html 格納用のディレクトリを作成し、以下の様な html (.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 | <?php if ($_GET[ 'on' ] == "ON" ) system ( './led_on' ) ; if ($_GET[ 'off' ] == "OFF" ) system ( './led_off' ) ; ?> <!DOCTYPE html><html lang= 'ja' > <head><meta charset= 'UTF-8' > <style> input {margin:8px;width:100px;} div {font-size:16pt;text-align:center;width:250px;border:solid 4px #93ff93;} </style> <title> Color LED Controller </title> </head> <body> < div > <p>LED ON/OFF</p> <form method= 'get' > <input type= 'submit' name= 'on' value= 'ON' /> <input type= 'submit' name= 'off' value= 'OFF' /> </form> </ div > </body> </html> |
この php では、ON ボタン の押下で ./led_on を、OFF ボタン の押下で ./led_off を実行する。
この為、php と同じディレクトリに led_on, led_off の実行ファイルを格納する。
( led_on, led_off の実行ファイルは こちら を参照。)
php 実行ユーザのグループ設定:
led_on, led_off の 実行は root で行うか、実行ユーザが gpio グループに所属している必要がある。
php の実行ユーザ ( apach2 の実行ユーザ ) は、www-data である為、 www-data に gpio グループを追加する。
sudo usermod -aG gpio www-data
www-data に 追加されたことを確認する。
groups www-data
追加されていれば、一度 raspberry pi をリブートする。
sudo reboot
WEB アクセスで LED ON/OFF 実行:
ブラウザから、
http://"raspberry pi の アドレス"/"html のディレクトリ"/led_ctl.php
にアクセスする。(led_ctl.php は 上で格納した php ファイル)
以下の様な画面が表示される。
ON ボタン押下 で LED ON,
OFF ボタン押下で LED OFF
する。
0 件のコメント:
コメントを投稿