Download OpenAPI specification:
Returns a JSON string of drone information. Using this endpoint is the easiest way to check if there is a drone connected to your network.
curl -X GET "http://192.168.1.101/diagnostics/drone_info"
{- "commit_id_csys": "299238949a",
- "depth_sensor": "MS5837_30BA26",
- "features": "lasers,jetpack",
- "hardware_id": "ea9ac92e1817a1d4",
- "manufacturer": "Blueye Robotics",
- "model_description": "Blueye Pioneer Underwater Drone",
- "model_name": "Blueye Pioneer",
- "operating_system": "blunux",
- "serial_number": "BYEDP123456",
- "sw_version": "1.4.7-warrior-master"
}
Performs a bandwidth test on the connection between the surface unit and the drone. Set the test duration with the "duration"-parameter. A longer duration should yield a more accurate result.
duration | integer Default: 10 Duration of the test to perform. Unit is seconds. |
curl -X POST "http://192.168.1.101/diagnostics/iperf" -d duration=5
{- "received_Mbps": 79.55458795899487,
- "sent_Mbps": 80.37122746322603,
- "success": true
}
Downloads a subtitle file (srt) for a video file containing log data from the dive. The data is gathered from the videos accompanying logfile. By passing in varius queries it is possible to select which data one wants displayed, and where to display it.
file required | string Example: file=video_BYEDP123456_2019-01-01_000001.mp4 Name of the videofile to download subtitle file for. |
title | string Default: "" Title of the video. |
length-units | string Default: "meter" Enum: "meter" "feet" Unit to use for depth. Use "meter" for metric units, and "feet" for imperial. |
temp-units | string Default: "celsius" Unit to use for temperature. Use "celsius" for metric units, and "fahrenheit" for imperial. |
placement | string Default: "top" Enum: "top" "bottom" "" Where to place the subtitle. Use "top" for placing on the top, "bottom" for placing on the bottom, and "" for using the player default. |
field-date | integer Default: 0 Enum: 0 1 Enable or disable the date field. "1" to enable, "0" to disable. |
field-depth | integer Default: 1 Enum: 0 1 Enable or disable the depth field. "1" to enable, "0" to disable. |
field-heading | integer Default: 1 Enum: 0 1 Enable or disable the heading field. "1" to enable, "0" to disable. |
field-temp | integer Default: 1 Enum: 0 1 Enable or disable the temperature field. "1" to enable, "0" to disable. |
date-format | string Default: "%Y-%m-%d %H:%M:%S" Format of the date/time. |
tz-offset | integer <int32> Default: 0 The drone stores all time in UTC+0, so if you were diving in another timezone and want to correct for that in the displayed time you can add a timezone offset here. The unit is minutes and both positive and negative values are supported. |
format | string Default: "srt" Enum: "srt" "vtt" Subtitles can also be retrived in the WEBVTT format. Use format=vtt to get a .vtt file instead of a .srt file. |
curl -X GET -G "http://192.168.1.101/srt" \ -d "file=video_BYEDP123456_2019-01-01_000001.mp4" \ -d "title=My title"
Returns an array of binary logs from the drone. Each array item represents an available log file on the drone. Use the /logs/{filename}/binlog endpoint to get the full log.
curl -X GET "http://192.168.1.101/logs"
[- {
- "binlog_size": 1099448,
- "blunux_version": "3.0.47-honister-master",
- "has_binlog": true,
- "has_dive_info": true,
- "is_dive": true,
- "is_open": true,
- "log_number": 0,
- "max_depth_magnitude": 0,
- "model_name": "Blueye Pioneer",
- "name": "BYEDP070018_ea9add4d0c1961d4_00386",
- "start_time": 1692002908,
- "videos": [
- "/videos/video_BYEDP070018_2023-07-31_125743.mp4",
- "/videos/video_BYEDP070018_2023-07-31_125743_cam2.mp4"
]
}
]
Returns the binary content of the requested log
logname required | string Example: BYEDP070018_ea9add4d0c1961d4_00388 Name of the log to download |
# To get log with name BYEDP070018_ea9add4d0c1961d4_00388 curl -X GET "http://192.168.1.101/logs/BYEDP070018_ea9add4d0c1961d4_00388/binlog"
Returns extended meta data for the requested log. This endpoint is mostly useful for Blunux < 3.3, as the dive info is included with the output of the /logs endpoint from 3.3 and onwards.
logname required | string Example: BYEDP070018_ea9add4d0c1961d4_00388 Name of the log to download info for |
# To get info for log with name BYEDP070018_ea9add4d0c1961d4_00388 curl -X GET "http://192.168.1.101/logs/BYEDP070018_ea9add4d0c1961d4_00388/dive_info"
{- "blunux_version": "3.0.47-honister-master",
- "is_dive": true,
- "is_valid": true,
- "log_name": "BYEDP070018_ea9add4d0c1961d4_00386",
- "max_depth_magnitude": 0,
- "model_name": "Blueye Pioneer",
- "start_time": 1692002908,
- "videos": [
- "/videos/video_BYEDP070018_2023-07-31_125743.mp4",
- "/videos/video_BYEDP070018_2023-07-31_125743_cam2.mp4"
]
}
Returns an array of logs from the drone. Each array item represents an available log file on the drone. Use the /logcsv/{filename} endpoint to get the full log.
all | any Add |
filter_depth_min_mm | integer Default: 250 Example: filter_depth_min_mm=1000 Filter the minimum depth of the listed logs. Will be ignored if |
curl -X GET "http://192.168.1.101/logcsv"
[- {
- "name": "ea9ac92e1817a1d4-00073.csv",
- "binsize": 1099448,
- "timestamp": "2019-01-01T00:00:00.000001",
- "maxdepth": 21050
}
]
Downloads a comma-separated-value (CSV) log-file with the requested name.
filename required | string Filename of log to download |
divisor | integer Default: 10 Example: divisor=1 Divisor to use when downsampling CSV before downloading. Set to 1 to get max resolution. |
# To get log with filename ea9ac92e1817a1d4-00090.csv curl -X GET "http://192.168.1.101/logcsv/ea9ac92e1817a1d4-00090.csv"
Download CSV file with data for creating scaled 3D models in Agisoft
file required | string Example: file=video_BYEDP123456_2019-01-01_000001.mp4 Name of the video file to download data for |
frame-step | integer Example: frame-step=20 Amout of steps between each frame grab |
mag-dist | integer [ 1 .. 360 ] Default: "180" Example: mag-dist=180 Expected compass variance induced from magnetic disturbance in degrees. The most important data for an accurate 3D model are roll and pitch, which are not affected by magnetic disturbance, so the default is set quite high (180). If you trust that the data has not been skewed by magnetic interference you can set this to a medium (60) or even low (10) value. |
# To get log CSV for videofile video_BYEDP123456_2019-01-01_000001.mp4 curl -X GET "http://192.168.1.101/agisoft \ -d "file=video_BYEDP123456_2019-01-01_000001.mp4"
Downloads a picture (jpg) if get param filename is specified. If no parameter is set you'll get a list of all images.
file | string Example: file=picture_BYEDP123456_2019-01-01_000001.001.jpg Name of the image file to download |
logo | integer Example: logo=2 Add logo to picture. 0 = No logo, 1 = Drone default logo, 2 = User uploaded logo |
tz-offset | integer Example: tz-offset=-180 Add timezone offset to the picture EXIF data in minutes, can also be negative number. For example in Norway during summer time the correct value would be 60, while it would be -180 in Chile |
curl -X GET -G "http://192.168.1.101/picture" \ -d "file=picture_BYEDP123456_2019-01-01_000001.001.jpg"
[- {
- "name": "picture_BYEDP123456_2019-01-01_000001.001.jpg"
}
]
Downloads a picture (jpg) with EXIF metadata from when the photo was captured.
file required | string Example: file=picture_BYEDP123456_2019-01-01_000001.001.jpg Name of the image file to download |
width | integer Default: 1024 Width of the thumbnail in pixels. |
height | integer Default: 576 Height of the thumbnail in pixels. |
quality | integer Default: 85 JPG compression level, 0-100. 100 is best quality, 0 is worst quality. |
curl -X GET -G "http://192.168.1.101/picture/thumbnail" \ -d "file=picture_BYEDP123456_2019-01-01_000001.001.jpg"
Downloads a picture (jpg) with metadata from when the photo was captured.
file required | string Example: file=picture_BYEDP123456_2019-01-01_000001.001.jpg Name of the image file to download |
title | string Default: "" Title of the image. |
subtitle | string Default: "" Subtitle of the image |
length-units | string Default: "meter" Unit to use for all distance/length measurements such as depth, altitude, distance etc.
For shorter lengths
|
temp-units | string Default: "celsius" Unit to use for the temperature field and any temperature related measurements.
|
field-date | integer Default: 1 Enum: 0 1 Enable or disable the date field.
|
field-depth | integer Default: 1 Enum: 0 1 Display water depth in the image overlay.
|
field-heading | integer Default: 1 Enum: 0 1 Display compass heading in the image overlay.
|
field-temp | integer Default: 1 Enum: 0 1 Display water temperature in the image overlay.
|
field-tilt | integer Default: 0 Enum: 0 1 Display camera tilt angle in the image overlay.
|
date-format | string Default: "%Y-%m-%d %H:%M:%S" Format of the date/time. |
tz-offset | integer <int32> Default: 0 Example: tz-offset=60 The drone stores all time in UTC+0, so if you were diving in another timezone and want to correct for that in the displayed time you can add a timezone offset here. The unit is minutes and both positive and negative values are supported. |
logo | integer Default: 0 Enum: 0 1 2 Which logo to overlay.
|
ignore-exif-titles | integer Default: 0 Enum: 0 1 Ignore title and subtitle set by the app during the dive. If
|
field-guestport | integer Default: 1 Enum: 0 1 Display data from connected guestport sensors in the image overlay.
|
field-gps | integer Default: 0 Enum: 0 1 Display GPS coordinates (decimal degrees) in the image overlay. Requires Blunux 3.0 or newer. If a positioning system is used, the coordinates of the drone is shown, else the operator position reported by the app is shown.
|
curl -X GET -G "http://192.168.1.101/picture/overlay" \ -d "file=picture_BYEDP123456_2019-01-01_000001.001.jpg" \
Upload user selectable logo for watermarking videos and pictures. Allowed filetype: JPG or PNG. Max resolution: 2000px. Max file size: 5MB.
image required | object JPG or PNG, <5MB, <2000px |
curl -X POST "http://192.168.1.101/asset/logo" --form 'image=@"logo.png"'
Get version of update file stored on drone and the version installed on the surface unit
{- "version_on_drone": {
- "version": "2.2.4-master.190",
- "commit": "815cce8a95ea0d448a85996bcf82a241109d575b"
}, - "installed_version": {
- "version": "2.2.4-master.190",
- "commit": "815cce8a95ea0d448a85996bcf82a241109d575b"
}
}
Updates the surface unit firmware. If a binary image is included in the request, it will use that image for the update. If not, it will use the version stored on the drone.
Binary image for the update
curl -X POST -F "update-file=@firmware.bin" "http://192.168.1.101/surface_unit/update"