handle image
This commit is contained in:
17
api/index.js
17
api/index.js
@@ -3,6 +3,8 @@ var app = express();
|
|||||||
const WebSocket = require("ws");
|
const WebSocket = require("ws");
|
||||||
|
|
||||||
var last_status = {};
|
var last_status = {};
|
||||||
|
var last_image;
|
||||||
|
var received_picture = false;
|
||||||
|
|
||||||
app.use(express.static("public"));
|
app.use(express.static("public"));
|
||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
@@ -19,6 +21,11 @@ ws.on("message", function message(message) {
|
|||||||
var msg = JSON.parse(message);
|
var msg = JSON.parse(message);
|
||||||
if (msg.type == "STATUS") {
|
if (msg.type == "STATUS") {
|
||||||
last_status = msg.data;
|
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);
|
// console.log("got type: " + msg.type);
|
||||||
@@ -41,6 +48,16 @@ app.get("/status", function (req, res) {
|
|||||||
res.status(200).json(last_status);
|
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) {
|
app.post("/move", function (req, res) {
|
||||||
console.log("got move request");
|
console.log("got move request");
|
||||||
var request = JSON.stringify({
|
var request = JSON.stringify({
|
||||||
|
|||||||
@@ -127,6 +127,15 @@
|
|||||||
|
|
||||||
function take_picture() {
|
function take_picture() {
|
||||||
console.log("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() {
|
function arm_disarm() {
|
||||||
|
|||||||
@@ -129,10 +129,10 @@ class ApiListener(Node):
|
|||||||
{'type': ResponseMessage.ALL_REQUESTS_RESPONSES.name, 'data': result}))
|
{'type': ResponseMessage.ALL_REQUESTS_RESPONSES.name, 'data': result}))
|
||||||
|
|
||||||
def handle_direction_message(self,message):
|
def handle_direction_message(self,message):
|
||||||
self.move_position_request.up_down = message['up_down']
|
self.move_position_request.up_down = float(message['up_down'])
|
||||||
self.move_position_request.left_right = message['left_right']
|
self.move_position_request.left_right = float(message['left_right'])
|
||||||
self.move_position_request.front_back = message['forward_backward']
|
self.move_position_request.front_back = float(message['forward_backward'])
|
||||||
self.move_position_request.angle = message['yaw']
|
self.move_position_request.angle = float(message['yaw'])
|
||||||
self.get_logger().info(f'Calling move position service with request: {str(self.move_position_request)}')
|
self.get_logger().info(f'Calling move position service with request: {str(self.move_position_request)}')
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user