目的:
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)を格納する。
<?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 件のコメント:
コメントを投稿