Skip to main content

API Server-Drone v1.0

API интеграции между сервером и дроном проекта Wheelies.

Протокол: MQTT / HTTP POST
Формат данных: JSON
Дата: 09.12.2024

Типы данных

Point

latfloatrequired
Широта
longfloatrequired
Долгота
heightfloat
Высота полёта (м)

Сервер → Дрон

get_mission

  • MQTT Topic: {DRONE_ID}_get_mission
  • Content-Type: application/json

Получение миссии полёта с сервера на дрон.

mission_iduuidrequired
ID миссии
paramsArray[Param]required
Массив параметров миссии. Часто используемые: miss_time (int) — время миссии в минутах; speed (float) — скорость полёта; height (float) — высота полёта; init_point (point) — стартовые координаты; realtime_stream (boolean) — непрерывная передача видеопотока
param_iduuidrequired
ID параметра
namestr
Имя параметра
typestrrequired
Тип данных параметра
pointКоординаты точки
floatЧисло с плавающей точкой
booleanЛогическое значение
valueMixed
Значение параметра. Тип должен соответствовать params[i].type
commandsArray[Command]required
Массив команд для последовательного выполнения
command_iduuidrequired
ID команды
command_typestrrequired
Тип команды
move_toПерелёт к точке
coverageПокрытие области
landПосадка
takeoffВзлёт
scan_areaСканирование области
ramТаран
by_pathДвижение по маршруту
pointsArray[Point]required
Точки маршрута
latfloatrequired
Широта
longfloatrequired
Долгота
heightfloat
Высота полёта (м)
paramsArray[Object]required
Параметры команды (ключ-значение)
triggersArray[Trigger]
Массив триггеров для переключения между командами
conditionstrrequired
Условие переключения. Используются переменные из params
command_idstrrequired
ID целевой команды для переключения
priorityintrequired
Приоритет триггера. Меньшее значение — более высокий приоритет
{
"mission_id": "0193909e-e71c-7b38-8ed7-ab4d7aed7e1c",
"params": [
{
"param_id": "01938ba2-0873-785c-9311-d1f8050b7f19",
"name": "init_point",
"type": "point",
"value": {
"lat": 54.235,
"long": 43.435
}
},
{
"param_id": "03938ba2-0873-785c-9311-d1f8050b7f19",
"name": "speed",
"type": "float",
"value": 5.0
}
],
"commands": [
{
"command_id": "0193909e-e71c-7b38-8ed7-ab4d7aed7e1c",
"command_type": "move_to",
"points": [
{
"lat": 54.275,
"long": 43.565,
"height": 1.75
},
{
"lat": 76.275,
"long": 54.565,
"height": 2.75
}
],
"params": [
{
"name": "speed",
"value": 5
}
]
}
],
"triggers": []
}

Топики в разработке

note

Следующие топики были заявлены в v1.0, но находились в разработке и не были полностью описаны:

  • cancel_mission
  • change_realtime_stream
  • pause_mission
  • modecontrol
  • ram
  • video
  • gimbal/control
  • joycontrol

Дрон → Сервер

note

В v1.0 передача данных с дрона на сервер была заявлена через HTTP POST (не MQTT). Все топики находились в разработке:

  • data
  • change_status
  • mission_completed
  • mission_received
  • mission_cancelled
  • mission_on_pause
  • objects_data
  • photo
  • connection_quality
  • Gimbal