<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Garage Door</title>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript">
var IMG_WIDTH = 640;
var IMG_HEIGHT = 480;
var IMG_RELOAD_MS = 20000;
var TOGGLE_PIN = 4;
var TOGGLE_SPEED_MS = 500;
var update_pic;
var toggle_door;
$( document ).ready( function() {
update_pic = $( "#update-pic" );
toggle_door = $( "#toggle-door" );
set_garage_pic_event();
set_toggle_door_event();
var img = $( "#garage_pic" );
img.attr( "width", IMG_WIDTH );
img.attr( "height", IMG_HEIGHT );
updateGaragePic();
setInterval( function () {
updateGaragePic();
}, IMG_RELOAD_MS );
});
function set_garage_pic_event()
{
update_pic.click( function(event) { updateGaragePic() } );
}
function set_toggle_door_event()
{
toggle_door.click( function(event) { toggleDoor() } );
}
function disable_toggle_door_event()
{
toggle_door.off();
}
function callPost( path )
{
$.ajax( path, {
async: false,
cache: false,
type: "POST",
});
}
function callGet( path )
{
$.ajax( path, {
async: false,
cache: false,
type: "GET",
});
}
function updateGaragePic()
{
return 1; // Ignore
//window.navigator.vibrate( 400 );
callPost( "/devices/rpi/image/0/resolution/"
+ IMG_WIDTH + "/" + IMG_HEIGHT );
var img = $( "#garage_pic" );
img.attr( "src", "/devices/rpi/image/0/stream/image/jpeg?"
// Force image to be reload despite browser cache
+ new Date().getTime()
);
//window.navigator.vibrate( 200, 50, 400 );
return 1;
}
function toggleDoor()
{
// Ignore subsequent button presses
disable_toggle_door_event();
toggle_door.toggleClass( "toggle-door toggle-door-wait" );
//window.navigator.vibrate( 200 );
callPost( "/GPIO/" + TOGGLE_PIN + "/sequence/"
+ TOGGLE_SPEED_MS + ",10" );
//window.navigator.vibrate( 200, 50, 200, 50, 200 );
set_toggle_door_event();
toggle_door.toggleClass( "toggle-door toggle-door-wait" );
}
</script>
<style type="text/css">
.toggle-door {
background-color: red;
}
.toggle-door-wait {
background-color: grey;
}
#update-pic {
background-color: blue;
}
.button {
cursor: pointer;
padding: 20px;
border: 4px solid black;
display: inline;
font-family: sans-serif;
font-size: 2em;
}
</style>
</head>
<body>
<h1>Garage Door</h1>
<div id="content">
<p><img id="garage_pic"></p>
<div id="update-pic" class="button">Update Pic</div>
<div id="toggle-door" class="button toggle-door">Toggle Door</div>
</div>
</body>
</html>