Проект видео сервера от Bauman Robotics.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
rpi_remote_cam/www/index.html

186 lines
7.0 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/main.css">
<!-- JS -->
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript">
var sock = null;
var ellog = null;
var video_sock = "http://" + window.location.hostname + ":8081/";
var servo_sock = "ws://" + window.location.hostname + ":45684/ws?a=23&foo=bar";
window.onload = function () {
ellog = document.getElementById('log');
var wsuri = servo_sock;
//if (window.location.protocol === "file:") {
// wsuri = "ws://10.174.136.143:45684/ws?a=23&foo=bar";
//} else {
// wsuri = "ws://" + window.location.hostname + ":45684/ws?a=23&foo=bar";
//}
if ("WebSocket" in window) {
sock = new WebSocket(wsuri);
} else if ("MozWebSocket" in window) {
sock = new MozWebSocket(wsuri);
} else {
console.log("Browser does not support WebSocket!");
}
if (sock) {
sock.onopen = function () {
console.log("Connected to " + wsuri);
}
sock.onclose = function (e) {
console.log("Connection closed (wasClean = " + e.wasClean + ", code = " + e.code + ", reason = '" + e.reason + "')");
sock = null;
}
sock.onmessage = function (e) {
console.log("Got echo: " + e.data);
}
}
};
function send() {
if (sock) {
var msg = document.getElementById("x-pos").value + "/" + document.getElementById("y-pos").value;
sock.send(msg);
console.log("Sent " + msg);
} else {
console.log("Not connected.");
}
};
function send_button(ch) {
if (sock) {
switch (ch) {
case 'F':
var msg = 'F';
break;
case 'D':
var msg = 'D';
break;
case 'R':
var msg = 'R';
break;
case 'L':
var msg = 'L';
break;
}
sock.send(msg);
console.log("Sent " + msg);
} else {
console.log("Not connected.");
}
};
</script>
</head>
<body>
<nav class="navbar navbar-default navbar-static-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Умный дом</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li><a href="https://gitlab.com/zenls/rpi_remote_cam.git" target="_blank">Gitlab</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid main-container">
<div class="col-md-2 sidebar">
<ul class="nav nav-pills nav-stacked">
<li class="active"><a href="index.html">Видео стрим</a></li>
<li><a href="info.html">Информация</a></li>
</ul>
</div>
<div class="col-md-10 content">
<div class="panel panel-default">
<div class="panel-heading">
Видео
</div>
<div class="text-center">
<br>
<img style="-webkit-user-select: none;" src="http://10.253.35.143:8081/">
<br>
<br>
<table width="100%">
<tr>
<th width="20%">
<p align="center"><input type="button" style="width:120px;height:35px" id="forword-butt" value=&#8657 accesskey="w"
onclick="send_button('F')">
</p>
<p align="center"><input type="button" style="width:80px;height:35px" id="left-butt" value=&#8656 accesskey="a"
onclick="send_button('L')">
<input type="button" style="width:80px;height:35px" id="right-butt" value=&#8658 accesskey="d"
onclick="send_button('R')">
</p>
<p align="center"><input type="button" style="width:120px;height:35px;" id="down-butt" value=&#8659 accesskey="s"
onclick="send_button('D')">
</p>
</th>
<th width="80%">
<form class="range-field">
<p>Вертикаль:<input type="range" min="50" max="250" id="y-pos" oninput="send();"
value="140" />
</p>
<p>Горизонталь:<input type="range" min="50" max="250" id="x-pos"
oninput="send();" value="140" /></p>
</form>
</th>
</tr>
</table>
</div>
</div>
</div>
<footer class="pull-left footer">
<p class="col-md-12">
<hr class="divider">Проект создан в образовательных целях, при поддержке <a
href="https://t.me/baumanrobotics">Bauman
Robotics</a>.</a>
</p>
</footer>
</div>
</body>
</html>