Commit 2c148fb3 authored by Andrey Filippov's avatar Andrey Filippov

added reboot.html

parent eff38d20
<html>
<head>
<title>Reboot cameras</title>
<meta content="">
<style></style>
<script src="../js/jquery-3.1.1.js"></script>
<script>
//192.168.0.41/multicam/reboot.html?ip=192.168.0.41,192.168.0.42,192.168.0.43,192.168.0.44,192.168.0.45&continue=http://192.168.0.41/multicam/index2.html&delay=10
// var reboot_url="/autocampars.php?reboot";
var reboot_url=":2323/reboot";
// var reboot_url="/parsedit.php?immediate&sensor_port=0&WB_EN"; // just for testing
var get_frame_url = "parsedit.php?immediate&sensor_port=0&THIS_FRAME";
var good_frame = 50;
var ips = [];
var cont = "";
var delay_sec = "45";
var count_left = 0;
var url = ""
$(function(){
main();
});
var refresh_intvl;
function main(){
console.log("parseURL()");
var ips_str = location.host;
var parameters=location.href.replace(/\?/ig,"&").split("&");
for (var i=0;i<parameters.length;i++) parameters[i]=parameters[i].split("=");
for (var i=1;i<parameters.length;i++) {
switch (parameters[i][0]) {
case "ip":
ips = parameters[i][1].split(",");
break;
case "continue": // do not show previews - terribly slow for Bosons
cont = parameters[i][1];
break;
case "delay": // do not show previews - terribly slow for Bosons
delay_sec = parseFloat(parameters[i][1]);
break;
}
}
count_left = parseInt(delay_sec);
for (var i =0; i < ips.length; i++){
console.log("ip["+i+"]="+ips[i]);
}
console.log("cont="+cont);
console.log("delay="+count_left);
$('#label_reboot').html('Rebooted, waiting to restart '+cont+" ...");
$('#restart').val(delay_sec);
for (var i = ips.length-1; i>=0; i--){
var url = "http://"+ips[i]+reboot_url;
console.log("Sending reboot request: "+url);
$.ajax({
url: url,
ip:ips[i],
success: function(){
console.log("****** reboot response from "+this.ip+", url="+this.url);
}
}).fail(function(data,status){
console.log(this.ip+" No response - OK now (does not have a chance to send response while rebooting). url = "+this.url);
});
}
refresh_intvl = setInterval(updateCount,1000);
}
function updateCount(){
$('#restart').val(count_left);
count_left--;
if (count_left < 0) {
clearInterval(refresh_intvl);
$('#label_reboot').html('Waiting '+ips[0]+" to initialize"); // add to the main program too?
refresh_intvl = setInterval(waitMasterFrame50,1000);
// maybe try some safe url?
// window.location.replace(cont);
}
}
function waitMasterFrame50(){
clearInterval(refresh_intvl); // ajax failure will restart delay
$.ajax({
url: "http://"+ips[0]+"/"+get_frame_url,
success: function(response){
var frame = parseInt($(response).find("THIS_FRAME").text());
console.log("Master camera frame = "+frame);
if (frame >= good_frame) {
$('#label_reboot').html('Starting'); // add to the main program too?
if (cont.length> 0) {
window.location.replace(cont);
}
} else {
console.log("Frame number="+frame+" < "+good_frame+"waiting longer");
$('#restart').val(count_left);
count_left++;
refresh_intvl = setInterval(waitMasterFrame50,1000);
}
}
}).fail(function(data,status){
console.log(this.ip+" Frame request failed. Retrying");
$('#restart').val(count_left);
count_left++;
refresh_intvl = setInterval(waitMasterFrame50,1000);
});
}
//7763773
</script>
</head>
<!-- <body onload = "main()"> -->
<body>
<div >
<label id="label_reboot" style="font-size: 300%" for="reboot_count">Rebooted, waiting to ? ...</label>
<input id="restart" style="font-size: 300%" type="text" name="restart" size="4" disabled="disabled">
</div>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment