Wake on LAN for AV
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
*[[Wake on LAN for AV]] [#z2a9868c]
**はじめに [#r42f6e65]
>
>DLNA対応機器が増えて、離れた場所のテレビで録画番組を見る...
-TVのWebブラウザからアクセスすると、タイムアウトが発生し...
-その時点で、電源が入っていない機器はリストに表示されませ...
<
>
>という具合で、使い物になりません。そのため、常時電源が入...
>動作確認はCentOS5.8/httpd-2.2.3/php-5.1.6、クライアント...
-機器選択画面
>
#ref(wol1.jpg,,50%)
<
<
>
-パケット送信後
>
#ref(wol2.jpg,,50%)
<
<
**構成 [#d4cc3652]
>
>マジックパケットを送信するプログラムは、CentOSのレポジト...
このCGIは以下の4つのファイルで構成します。
+/sbin/ether-wake - マジックパケット送信APL
+/var/www/wol/index.php - 機器選択用CGI本体
+/var/www/wol/wol.list - WoL対象機器情報ファイル
+/etc/httpd/conf.d/wol.conf - Apache用コンフィグファイル
<
**index.php [#qdc3f17e]
>
>phpで記述しました。perlでもかまわないのですが、最近PHPに...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona...
<html xml:lang ="ja" lang="ja" xmlns="http://www.w3.org/...
<head>
<!--
CGI for Power On Control with WoL
Copyrigth 2013 Kazuhiro WATANABE
-->
<meta http-equiv="content-type" content="text/ht...
<title>Power On Control with WoL</title>
<style type="text/css">
<!--
.table_0 {
color:#ff0000;
font-size:15pt;
text-align:center;
width:100%;
}
.table_0 th {
background-color:#90E0C0;
text-align:center;
}
.table_0 td {
background-color:#0000FF;
text-align:center;
}
.table_1 {
font-size:15pt;
text-align:center;
width:100%;
}
.table_1 th {
background-color:#90E0C0;
text-align:center;
}
.table_1 td {
background-color:#ADFF2F;
text-align:center;
}
-->
</style>
</head>
<body>
<h1 align="center">Power On Control with WoL</h1>
<?php
if( isset($_GET['task']) ) { $task = $_GET['task']; }
if( isset($_POST['task']) ) { $task = $_POST['task']; }
if( isset($_GET['mac']) ) { $mac = $_GET['mac']; }
if( isset($_POST['mac']) ) { $mac = $_POST['mac']; }
if( isset($_GET['dev']) ) { $dev = $_GET['dev']; }
if( isset($_POST['dev']) ) { $dev = $_POST['dev']; }
if( $task == "send" ) { send_wol( $dev, $mac ); } else...
function show_list()
{
printf( " <table class=\"table_0\" >\n" );
printf( " <tr>\n" );
printf( " <th>Device Name<...
printf( " <th>MAC Address<...
printf( " <th>Comments</th...
printf( " <th>Command Butt...
printf( " </tr>\n" );
$lines = file( "wol.list" );
foreach( $lines as $line )
{
if( $line[0] == ";" ) { continue; }
$line = str_replace( array( "\n\r", "\r\...
$data = split( ",", $line );
printf( " <tr>\n" );
printf( " <td>%s</...
printf( " <td>%s</...
printf( " <td>%s</...
printf( " <td>\n" );
printf( " ...
printf( " ...
printf( " ...
printf( " ...
printf( " ...
printf( " ...
printf( " </td>\n"...
printf( " </tr>\n" );
}
printf( " </table>\n" );
}
function send_wol( $dev, $mac )
{
$ret = exec( "sudo /sbin/ether-wake $mac 2>&1", ...
printf( " <table class=\"table_1\">\n" );
printf( " <tr><th colspan=2 >Sendi...
printf( " <tr><td>Device</td><td>%...
printf( " <tr><td>MAC</td><td>%s</...
printf( " <tr><td>Status</td>" );
echo "<td>";
if( $ret == "" )
{
echo "OK";
}
else
{
foreach( $res as $val)
{
$val = str_replace( arra...
printf( "%s<br>\n", $val...
}
}
echo"</td></tr>\n";
printf( " </table>\n" );
echo "<br><br>";
printf( " <form>\n" );
printf( " <input type=\"button\" v...
printf( " </form>\n" );
}
?>
</body>
</html>
<
**wol.list [#d27089cb]
>
>CGIから呼び出され、WoL対象機器の情報をカンマ区切りで記載...
-第1フィールドは機器名です。機器リストにそのまま表示され...
-第2フィールドはMACアドレスです。各バイト間のデリミタは「...
-必要ならは第3フィールドをコメントとして使用可能です。
<
>
>また、先頭が「;」(セミコロン)の場合は、行全体をコメン...
<
>
>(例)
;
; WOL Equipment List
; Format is follows
; <device name>,<mac address>,<comments>
;
VARDIA(RD-X10),E8:9D:87:xx:xx:xx,Toshiba
Asuna(foltia),9C:B6:54:xx:xx:xx,Hewlett Packard
NAS,E8:5B:5B:xx:xx:xx,LG ELECTRONICS INC
Sakura(Server),A0:B3:CC:xx:xx:xx,Hewlett Packard
Belldandy(2),BC:5F:F4:xx:xx:xx,ASRock Incorporation
<
**wol.conf [#t06b5c8e]
>
>TVや携帯デバイスでURLをなるべく簡単に入力するためにApach...
-URLはhttp://<Server_IP_Address>/wol/となります。
-セキュリティは、同一セグメント内を想定しています。必要に...
-index.htmlをアクセスした際にindex.phpがアクセスされるよ...
Alias /wol /var/www/wol
<Directory /var/www/wol>
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
# # Allow from .example.com
Allow from 192.168.0.0/255.255.255.0
RewriteEngine on
RewriteBase /var/www/wol
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ $1\.php [L]
</Directory>
<
>
>最後にApacheを再起動します。
<
**visudo [#hf66ce2d]
>
>ether-wake はSuperUser権限でのみ実行できるため、Apache...
<apacheを実行するユーザ名> ALL=(ALL) NOPASSWD: /sbin/eth...
<
終了行:
*[[Wake on LAN for AV]] [#z2a9868c]
**はじめに [#r42f6e65]
>
>DLNA対応機器が増えて、離れた場所のテレビで録画番組を見る...
-TVのWebブラウザからアクセスすると、タイムアウトが発生し...
-その時点で、電源が入っていない機器はリストに表示されませ...
<
>
>という具合で、使い物になりません。そのため、常時電源が入...
>動作確認はCentOS5.8/httpd-2.2.3/php-5.1.6、クライアント...
-機器選択画面
>
#ref(wol1.jpg,,50%)
<
<
>
-パケット送信後
>
#ref(wol2.jpg,,50%)
<
<
**構成 [#d4cc3652]
>
>マジックパケットを送信するプログラムは、CentOSのレポジト...
このCGIは以下の4つのファイルで構成します。
+/sbin/ether-wake - マジックパケット送信APL
+/var/www/wol/index.php - 機器選択用CGI本体
+/var/www/wol/wol.list - WoL対象機器情報ファイル
+/etc/httpd/conf.d/wol.conf - Apache用コンフィグファイル
<
**index.php [#qdc3f17e]
>
>phpで記述しました。perlでもかまわないのですが、最近PHPに...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona...
<html xml:lang ="ja" lang="ja" xmlns="http://www.w3.org/...
<head>
<!--
CGI for Power On Control with WoL
Copyrigth 2013 Kazuhiro WATANABE
-->
<meta http-equiv="content-type" content="text/ht...
<title>Power On Control with WoL</title>
<style type="text/css">
<!--
.table_0 {
color:#ff0000;
font-size:15pt;
text-align:center;
width:100%;
}
.table_0 th {
background-color:#90E0C0;
text-align:center;
}
.table_0 td {
background-color:#0000FF;
text-align:center;
}
.table_1 {
font-size:15pt;
text-align:center;
width:100%;
}
.table_1 th {
background-color:#90E0C0;
text-align:center;
}
.table_1 td {
background-color:#ADFF2F;
text-align:center;
}
-->
</style>
</head>
<body>
<h1 align="center">Power On Control with WoL</h1>
<?php
if( isset($_GET['task']) ) { $task = $_GET['task']; }
if( isset($_POST['task']) ) { $task = $_POST['task']; }
if( isset($_GET['mac']) ) { $mac = $_GET['mac']; }
if( isset($_POST['mac']) ) { $mac = $_POST['mac']; }
if( isset($_GET['dev']) ) { $dev = $_GET['dev']; }
if( isset($_POST['dev']) ) { $dev = $_POST['dev']; }
if( $task == "send" ) { send_wol( $dev, $mac ); } else...
function show_list()
{
printf( " <table class=\"table_0\" >\n" );
printf( " <tr>\n" );
printf( " <th>Device Name<...
printf( " <th>MAC Address<...
printf( " <th>Comments</th...
printf( " <th>Command Butt...
printf( " </tr>\n" );
$lines = file( "wol.list" );
foreach( $lines as $line )
{
if( $line[0] == ";" ) { continue; }
$line = str_replace( array( "\n\r", "\r\...
$data = split( ",", $line );
printf( " <tr>\n" );
printf( " <td>%s</...
printf( " <td>%s</...
printf( " <td>%s</...
printf( " <td>\n" );
printf( " ...
printf( " ...
printf( " ...
printf( " ...
printf( " ...
printf( " ...
printf( " </td>\n"...
printf( " </tr>\n" );
}
printf( " </table>\n" );
}
function send_wol( $dev, $mac )
{
$ret = exec( "sudo /sbin/ether-wake $mac 2>&1", ...
printf( " <table class=\"table_1\">\n" );
printf( " <tr><th colspan=2 >Sendi...
printf( " <tr><td>Device</td><td>%...
printf( " <tr><td>MAC</td><td>%s</...
printf( " <tr><td>Status</td>" );
echo "<td>";
if( $ret == "" )
{
echo "OK";
}
else
{
foreach( $res as $val)
{
$val = str_replace( arra...
printf( "%s<br>\n", $val...
}
}
echo"</td></tr>\n";
printf( " </table>\n" );
echo "<br><br>";
printf( " <form>\n" );
printf( " <input type=\"button\" v...
printf( " </form>\n" );
}
?>
</body>
</html>
<
**wol.list [#d27089cb]
>
>CGIから呼び出され、WoL対象機器の情報をカンマ区切りで記載...
-第1フィールドは機器名です。機器リストにそのまま表示され...
-第2フィールドはMACアドレスです。各バイト間のデリミタは「...
-必要ならは第3フィールドをコメントとして使用可能です。
<
>
>また、先頭が「;」(セミコロン)の場合は、行全体をコメン...
<
>
>(例)
;
; WOL Equipment List
; Format is follows
; <device name>,<mac address>,<comments>
;
VARDIA(RD-X10),E8:9D:87:xx:xx:xx,Toshiba
Asuna(foltia),9C:B6:54:xx:xx:xx,Hewlett Packard
NAS,E8:5B:5B:xx:xx:xx,LG ELECTRONICS INC
Sakura(Server),A0:B3:CC:xx:xx:xx,Hewlett Packard
Belldandy(2),BC:5F:F4:xx:xx:xx,ASRock Incorporation
<
**wol.conf [#t06b5c8e]
>
>TVや携帯デバイスでURLをなるべく簡単に入力するためにApach...
-URLはhttp://<Server_IP_Address>/wol/となります。
-セキュリティは、同一セグメント内を想定しています。必要に...
-index.htmlをアクセスした際にindex.phpがアクセスされるよ...
Alias /wol /var/www/wol
<Directory /var/www/wol>
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
# # Allow from .example.com
Allow from 192.168.0.0/255.255.255.0
RewriteEngine on
RewriteBase /var/www/wol
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ $1\.php [L]
</Directory>
<
>
>最後にApacheを再起動します。
<
**visudo [#hf66ce2d]
>
>ether-wake はSuperUser権限でのみ実行できるため、Apache...
<apacheを実行するユーザ名> ALL=(ALL) NOPASSWD: /sbin/eth...
<
ページ名: