リモコンのindex.html
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"> <title>リモコン</title> <script type="text/javascript"> <!-- function sendIr(cmdstr,port){ xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', 'sendIr.php?cmdstr='+cmdstr+'&port='+port, true); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { } } xmlhttp.send(null); } function sendrs(cmdstr){ xmlhttp = new XMLHttpRequest(); xmlhttp.open('GET', 'sendrs.php?cmd='+cmdstr, true); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { } } xmlhttp.send(null); } //--> </script> </head> <body> <div style="text-align: center">テレビ<br> <hr> <INPUT type="Button" value="電源ON" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('TVPWR',3);"> <INPUT type="Button" value="電源OFF" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('1');"> <br> <INPUT type="Button" value="チャンネル↑" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('7');"> <INPUT type="Button" value="チャンネル↓" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('8');"> <br> <INPUT type="Button" value="ボリューム↑" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('TVVOU',3)"> <INPUT type="Button" value="ボリューム↓" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('TVVOD',3)"> <br> <INPUT type="Button" value="Blu-Ray" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('2');"> <INPUT type="Button" value="LinkTheater" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('3');"> <br> <INPUT type="Button" value="AVAMP" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('4');"> <INPUT type="Button" value="PS2" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('5');"> <br> <INPUT type="Button" value="Wii" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('6');"> <INPUT type="Button" value="入力切替" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('TVINP',3)"> <br> <INPUT type="Button" value="地デジ" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('9');"> <INPUT type="Button" value="BS" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('10');"> <br> <INPUT type="Button" value="CS" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('11');"> <INPUT type="Button" value="消音" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendrs('12');"> <hr>AVアンプ<br> <INPUT type="Button" value="電源" name="btnTVPOWOFF" style="WIDTH: 290px; HEIGHT: 36px" ONCLICK="sendIr('AMPPWR',1)"> <br> <INPUT type="Button" value="ボリューム↑" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPVOU',1)"> <INPUT type="Button" value="ボリューム↓" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPVOD',1)"> <br> <INPUT type="Button" value="BD/DVD" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPBD',1)"> <INPUT type="Button" value="CBL/SAT" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPCBL',1)"> <br> <INPUT type="Button" value="STB/DVR" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPSTB',1)"> <INPUT type="Button" value="GAME" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPGAME',1)"> <br> <INPUT type="Button" value="PC" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPPC',1)"> <INPUT type="Button" value="AUX" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPAUX',1)"> <br> <INPUT type="Button" value="AM" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPAM',1)"> <INPUT type="Button" value="FM" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPFM',1)"> <br> <INPUT type="Button" value="TV/CD" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPTV',1)"> <INPUT type="Button" value="NET" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPNET',1)"> <br> <INPUT type="Button" value="USB" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPUSB',1)"> <INPUT type="Button" value="" name="" style="WIDTH: 142px; HEIGHT: 36px" > <br> <INPUT type="Button" value="↑" name="btnTVPOWOFF" style="WIDTH: 290px; HEIGHT: 36px" ONCLICK="sendIr('AMPUP',1)"> <br> <INPUT type="Button" value="←" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPLEFT',1)"> <INPUT type="Button" value="→" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPRIGHT',1)"> <br> <INPUT type="Button" value="↓" name="btnTVPOWON" style="WIDTH: 290px; HEIGHT: 36px" ONCLICK="sendIr('AMPDOWN',1)"> <br> <INPUT type="Button" value="ENTER" name="btnTVPOWOFF" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPENT',1)"> <INPUT type="Button" value="RETURN" name="btnTVPOWON" style="WIDTH: 142px; HEIGHT: 36px" ONCLICK="sendIr('AMPRET',1)"> </div> </body> </html> |
index.htmlからajaxで呼ばれるsendrs.php
<?php if (!isset($_GET['cmd'])) { $cmd=1;} else {$cmd=$_GET['cmd'];} exec(dirname(__FILE__)."/sendrc ".$cmd); ?> |
同じくsendIr.php
<?php if (!isset($_GET['cmdstr'])) { $cmdstr="NULL";} else {$cmdstr=$_GET['cmdstr'];} if (!isset($_GET['port'])) { $port=1; } else {$port=$_GET['port'];} exec(dirname(__FILE__)."/sendIr ".$cmdstr." ".$port." /dev/ttyUSB0"); ?> |
これで、スマフォでもリモコンが快適に。
とりあえず、AVアンプとテレビだけだが。
なにかケースを作らなければ。