change location of camera image

This commit is contained in:
Sem van der Hoeven
2023-05-30 14:50:51 +02:00
parent bc1bc0dae6
commit 00f6307909
3 changed files with 12 additions and 13 deletions

View File

@@ -158,7 +158,7 @@
xhr.onload = (e) => { xhr.onload = (e) => {
console.log("response image received"); console.log("response image received");
const img = e.response; const img = e.response;
document.getElementById("picture").src = "data:image/png;base64," + img; document.getElementById("picture").src = img;
} }
console.log("sending picture request") console.log("sending picture request")
xhr.send(); xhr.send();

View File

@@ -124,20 +124,17 @@ class ApiListener(Node):
self.get_logger().info('Calling take picture service') self.get_logger().info('Calling take picture service')
future = self.take_picture_client.call_async(self.take_picture_request) future = self.take_picture_client.call_async(self.take_picture_request)
future.add_done_callback(partial(self.image_request_callback)) future.add_done_callback(partial(self.image_request_callback))
def image_request_callback(self, future): def image_request_callback(self, future):
try: try:
result_filename = future.result() result_filename = future.result()
result_filename = result_filename.replace("/home/ubuntu/ros2_ws/api/public", "")
self.get_logger().info("Received result filename: " + result_filename) self.get_logger().info("Received result filename: " + result_filename)
with open(result_filename, 'rb') as f: self.message_queue.append(json.dumps(
self.get_logger().info('Reading image') {'type': ResponseMessage.IMAGE.name, 'image': result_filename}))
image_data = f.read()
self.message_queue.append(json.dumps(
{'type': ResponseMessage.IMAGE.name, 'image': image_data}))
except Exception as e: except Exception as e:
self.get_logger().error('Something went wrong while sending a take picture request and waiting for the response: %r' % (e)) self.get_logger().error(
'Something went wrong while sending a take picture request and waiting for the response: %r' % (e))
def send_available_commands(self): def send_available_commands(self):
print('Sending available commands') print('Sending available commands')
@@ -234,10 +231,12 @@ class ApiListener(Node):
self.get_logger().info('Emergency stop command received') self.get_logger().info('Emergency stop command received')
# emergency stop: set to attitude mode and stop, also disarm # emergency stop: set to attitude mode and stop, also disarm
else: else:
self.get_logger().error('Received unknown command ' + str(message_json['command']) ) self.get_logger().error('Received unknown command ' +
str(message_json['command']))
self.send_available_commands() self.send_available_commands()
except TypeError: except TypeError:
self.get_logger().error('Received unknown type: ' +str(type(message)) + " " + str(message)) self.get_logger().error('Received unknown type: ' +
str(type(message)) + " " + str(message))
self.send_available_commands() self.send_available_commands()
except json.JSONDecodeError: except json.JSONDecodeError:
self.get_logger().error('Received invalid JSON') self.get_logger().error('Received invalid JSON')

View File

@@ -21,7 +21,7 @@ class CameraController(Node):
if (request.input_name == "default"): if (request.input_name == "default"):
self.get_logger().info("Taking picture with default filename") self.get_logger().info("Taking picture with default filename")
now = datetime.now().strftime("droneimage_%Y-%m-%d_%H-%M-%S") now = datetime.now().strftime("droneimage_%Y-%m-%d_%H-%M-%S")
imagename = "/home/ubuntu/drone_img/" + now + ".jpg" imagename = "/home/ubuntu/ros2_ws/api/public/img/" + now + ".jpg"
response.filename = imagename response.filename = imagename
else: else:
response.filename = request.input_name response.filename = request.input_name