pinewell's farmer blog 農業と電子工作、ソフトウェア、バイク、車

2013年1月28日

RaspberryPiのリモコン化3

Filed under: 副業 — pinewell @ 2:40 PM

リモコンの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アンプとテレビだけだが。
なにかケースを作らなければ。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress