Blueye HTTP API

Documentation Powered by ReDoc

# Blueye HTTP API (1.0.0)

Download OpenAPI specification:Download

# Diagnostics

## Drone information

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.

### Responses

200

A JSON string of drone information.

get /diagnostics/drone_info
http://192.168.1.101/diagnostics/drone_info

### Request samples

- curl
- Python

Copy

    curl -X GET "http://192.168.1.101/diagnostics/drone_info"

### Response samples

- 200

Content type
application/json
Copy
Expand all Collapse all
`
{

- "commit_id_csys": "299238949a",
- "features": "lasers,jetpack",
- "hardware_id": "ea9ac92e1817a1d4",
- "manufacturer": "Blueye Robotics",
- "model_description": "Blueye Pioneer Underwater Drone",
- "model_name": "Blueye Pioneer",
- "model_url": "https://www.blueyerobotics.com",
- "operating_system": "blunux",
- "serial_number": "BYEDP123456",
- "sw_version": "1.4.7-warrior-master"

}`

## Tether bandwidth test

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.

##### query Parameters

duration | integer Default: 10 Duration of the test to perform. Unit is seconds.

### Responses

200

A JSON string with the performance test results.

post /diagnostics/iperf
http://192.168.1.101/diagnostics/iperf

### Request samples

- curl
- Python

Copy

    curl -X POST "http://192.168.1.101/diagnostics/iperf" -d duration=5

### Response samples

- 200

Content type
application/json
Copy
Expand all Collapse all
`
{

- "received_Mbps": 79.55458795899487,
- "sent_Mbps": 80.37122746322603,
- "success": true

}`

# Logs

## Array of logs

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.

### Responses

200

Array of logs

get /logcsv
http://192.168.1.101/logcsv

### Request samples

- curl
- Python

Copy

    curl -X GET "http://192.168.1.101/logcsv"

### Response samples

- 200

Content type
application/json
Copy
Expand all Collapse all
`
[

- {
  - "name": "ea9ac92e1817a1d4-00073.csv",
  - "binsize": 1099448,
  - "timestamp": "2019-01-01T00:00:00.000001",
  - "maxdepth": 21050
  }

]`

## CSV log-file

Downloads a comma-separated-value (CSV) log-file with the requested name.

##### path Parameters

filename required | string Filename of log to download

### Responses

200

Comma-separated-value file with log data

get /logcsv/{filename}
http://192.168.1.101/logcsv/{filename}

### Request samples

- curl
- Python

Copy

    # To get log with filename ea9ac92e1817a1d4-00090.csv
    curl -X GET "http://192.168.1.101/logcsv/ea9ac92e1817a1d4-00090.csv"

# Subtitles

## Download subtitle file

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.

##### query Parameters

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. Python3 documentation for datetime formatting
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.

### Responses

200

Subtitle file for the requested video file

get /srt
http://192.168.1.101/srt

### Request samples

- curl
- Python

Copy

    curl -X GET -G "http://192.168.1.101/srt" \
      -d "file=video_BYEDP000000_2019-11-20_093727.mp4" \
      -d "title=My title"