add remaining functionality and comments
This commit is contained in:
27
api/index.js
27
api/index.js
@@ -82,7 +82,6 @@ var connect_to_api = function () {
|
||||
|
||||
function send_image_data_to_clients(videoData) {
|
||||
sse_clients.forEach((client) => {
|
||||
|
||||
// Set the SSE event name as 'message'
|
||||
client.response.write("event: message\n");
|
||||
|
||||
@@ -98,7 +97,7 @@ function send_image_data_to_clients(videoData) {
|
||||
|
||||
// Define the endpoint to receive video data
|
||||
app.post("/video", (req, res) => {
|
||||
// console.log("got video endpoint")
|
||||
// console.log("got video endpoint")
|
||||
let videoData = Buffer.from("");
|
||||
|
||||
req.on("data", (chunk) => {
|
||||
@@ -109,7 +108,7 @@ app.post("/video", (req, res) => {
|
||||
req.on("end", () => {
|
||||
// Process the received video data
|
||||
// console.log("Received video data:" + videoData.length);
|
||||
send_image_data_to_clients(videoData);
|
||||
send_image_data_to_clients(videoData);
|
||||
|
||||
// Send a response indicating successful receipt
|
||||
res.sendStatus(200);
|
||||
@@ -150,6 +149,26 @@ app.post("/move", function (req, res) {
|
||||
ws.send(request);
|
||||
});
|
||||
|
||||
app.post("/estop", function (req, res) {
|
||||
console.log("got estop request");
|
||||
var request = JSON.stringify({
|
||||
command: 6,
|
||||
});
|
||||
ws.send(request);
|
||||
});
|
||||
|
||||
app.post("/land", function (req, res) {
|
||||
console.log("got land request");
|
||||
var request = JSON.stringify({ command: 0 });
|
||||
ws.send(request);
|
||||
});
|
||||
|
||||
app.post("/arm_disarm", function (req, res) {
|
||||
console.log("got arm/disarm request");
|
||||
var request = JSON.stringify({ command: 1 });
|
||||
ws.send(request);
|
||||
});
|
||||
|
||||
app.get("/connect", function (req, res) {
|
||||
console.log("got connect request");
|
||||
connect_to_api();
|
||||
@@ -164,7 +183,7 @@ app.get("/connect", function (req, res) {
|
||||
});
|
||||
|
||||
app.get("/test", function (req, res) {
|
||||
res.render("test");
|
||||
res.render("test");
|
||||
});
|
||||
|
||||
app.listen(8080);
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<button class="movebutton" id="button_backward">Backward</button>
|
||||
<button class="movebutton" id="button_left">Left</button>
|
||||
<button class="movebutton" id="button_right">Right</button>
|
||||
<button id="button_stop" onclick="stop()">Stop</button>
|
||||
<button id="button_land" onclick="land()">Land</button>
|
||||
<button id="button_estop" onclick="estop()"><strong>Emergency Stop</strong></button>
|
||||
|
||||
</div>
|
||||
@@ -112,6 +112,9 @@
|
||||
document.getElementById("control_mode").innerHTML = "Control mode: " + data.data.control_mode;
|
||||
document.getElementById("speed").innerHTML = "Current speed (m/s): x: " + data.data.speed[0] + " y: " + data.data.speed[1] + " z: " + data.data.speed[2];
|
||||
document.getElementById("position").innerHTML = "Current position (m): x: " + data.data.position[0] + " y: " + data.data.position[1] + " z: " + data.data.position[2];
|
||||
} else if (data.type == "FAILSAFE") {
|
||||
document.getElementById("failsafe").innerHTML = "Failsafe: ENABLED";
|
||||
alert("Failsafe enabled! Drone is landing. The failsafe message is: " + data.message);
|
||||
} else {
|
||||
// decodeBase64Image(data.image, document.getElementById("result-video"));
|
||||
}
|
||||
@@ -208,9 +211,19 @@
|
||||
console.log("stop");
|
||||
send_move_request(JSON.stringify({ "up_down": 0.0, "forward_backward": 0.0, "left_right": 0.0, "turn_left_right": 0.0 }));
|
||||
}
|
||||
function land_takeoff() {
|
||||
console.log("land");
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", "/land", true);
|
||||
xhr.send();
|
||||
|
||||
}
|
||||
|
||||
function estop() {
|
||||
console.log("estop");
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", "/estop", true);
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
function take_picture() {
|
||||
@@ -224,6 +237,9 @@
|
||||
|
||||
function arm_disarm() {
|
||||
console.log("arm/disarm");
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open("POST", "/arm_disarm", true);
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
function connect_to_video_stream() {
|
||||
|
||||
Reference in New Issue
Block a user