handle image

This commit is contained in:
Sem van der Hoeven
2023-05-29 18:19:45 +02:00
parent 6e3e3dc022
commit c12f016545
3 changed files with 30 additions and 4 deletions

View File

@@ -3,6 +3,8 @@ var app = express();
const WebSocket = require("ws");
var last_status = {};
var last_image;
var received_picture = false;
app.use(express.static("public"));
app.use(express.json());
@@ -19,6 +21,11 @@ ws.on("message", function message(message) {
var msg = JSON.parse(message);
if (msg.type == "STATUS") {
last_status = msg.data;
} else if (msg.type == "IMAGE") {
console.log("got picture");
console.log(msg.image);
last_image = msg.image;
received_picture = true;
}
// console.log("got type: " + msg.type);
@@ -41,6 +48,16 @@ app.get("/status", function (req, res) {
res.status(200).json(last_status);
});
app.get("/image", function (req, res) {
console.log("got picture request");
var request = JSON.stringify({
command: 5
});
ws.send(request);
while (received_picture == false) { }
res.status(200).send(last_image);
});
app.post("/move", function (req, res) {
console.log("got move request");
var request = JSON.stringify({

View File

@@ -127,6 +127,15 @@
function take_picture() {
console.log("take picture");
var xhr = new XMLHttpRequest();
xhr.open("GET", "/image", true);
xhr.overrideMimeType("text/plain; charset=utf-8");
xhr.onload = (e) => {
console.log("response image received");
const img = req.response;
document.getElementById("picture").src = "data:image/png;base64," + img;
}
xhr.send();
}
function arm_disarm() {