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");
|
||||
|
||||
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({
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -129,10 +129,10 @@ class ApiListener(Node):
|
||||
{'type': ResponseMessage.ALL_REQUESTS_RESPONSES.name, 'data': result}))
|
||||
|
||||
def handle_direction_message(self,message):
|
||||
self.move_position_request.up_down = message['up_down']
|
||||
self.move_position_request.left_right = message['left_right']
|
||||
self.move_position_request.front_back = message['forward_backward']
|
||||
self.move_position_request.angle = message['yaw']
|
||||
self.move_position_request.up_down = float(message['up_down'])
|
||||
self.move_position_request.left_right = float(message['left_right'])
|
||||
self.move_position_request.front_back = float(message['forward_backward'])
|
||||
self.move_position_request.angle = float(message['yaw'])
|
||||
self.get_logger().info(f'Calling move position service with request: {str(self.move_position_request)}')
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user