Add camera control

Signed-off-by: Thomas Klaehn <thomas.klaehn@perinet.io>
This commit is contained in:
Thomas Klaehn
2025-09-11 08:42:57 +02:00
parent 355ee97c17
commit ec727efc13
4 changed files with 142 additions and 38 deletions

View File

@@ -7,17 +7,20 @@
<script type="text/javaScript">
const POWER_STATE_URL = "/power/state";
const DATA_STATE_URL = "/data/state";
const CAMERA_STATE_URL = "/camera/state";
const PRINTER_STATE_URL = "/printer/state";
function init() {
get_state(PRINTER_STATE_URL, "printer_slider");
get_state(POWER_STATE_URL, "power_slider");
get_state(DATA_STATE_URL, "data_slider");
get_state(CAMERA_STATE_URL, "camera_slider");
setInterval(poll, 1000);
}
function poll() {
get_state(PRINTER_STATE_URL, "printer_slider");
get_state(POWER_STATE_URL, "power_slider");
get_state(DATA_STATE_URL, "data_slider");
get_state(CAMERA_STATE_URL, "camera_slider");
}
function get_state(url, target) {
const xhr = new XMLHttpRequest();
@@ -64,20 +67,14 @@
url = POWER_STATE_URL;
} else if(name === "data") {
url = DATA_STATE_URL;
} else if(name === "printer") {
} else if(name === "camera") {
url = CAMERA_STATE_URL;
}else if(name === "printer") {
url = PRINTER_STATE_URL;
}
const xhr = new XMLHttpRequest();
xhr.open("PATCH", url);
xhr.setRequestHeader("Content-type", "application/json; charset=utf-8");
// xhr.onload = () => {
// var data = JSON.parse(xhr.responseText);
// if (xhr.readyState == 4 && xhr.status == "202") {
// console.log(data);
// } else {
// console.log(`Error: ${xhr.status}`);
// }
// };
xhr.send(obj);
}
</script>
@@ -124,6 +121,15 @@
</label>
</td>
</tr>
<tr>
<td>Kamera:</td>
<td>
<label class="switch">
<input id="camera_slider" type="checkbox" onchange="check(this, 'camera')">
<span class="slider round"></span>
</label>
</td>
</tr>
</table>
</div>
<div id="containerdiv">