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_iduuidrequiredID миссии
paramsArray[Param]requiredМассив параметров миссии. Часто используемые: miss_time (int) — время миссии в минутах; speed (float) — скорость полёта; height (float) — высота полёта; init_point (point) — стартовые координаты; realtime_stream (boolean) — непрерывная передача видеопотока
param_iduuidrequiredID параметра
namestrИмя параметра
typestrrequiredТип данных параметра
point— Координаты точкиfloat— Число с плавающей точкойboolean— Логическое значениеvalueMixedЗначение параметра. Тип должен соответствовать params[i].type
commandsArray[Command]requiredМассив команд для последовательного выполнения
command_iduuidrequiredID команды
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_idstrrequiredID целевой команды для переключения
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_missionchange_realtime_streampause_missionmodecontrolramvideogimbal/controljoycontrol
Дрон → Сервер
note
В v1.0 передача данных с дрона на сервер была заявлена через HTTP POST (не MQTT). Все топики находились в разработке:
datachange_statusmission_completedmission_receivedmission_cancelledmission_on_pauseobjects_dataphotoconnection_qualityGimbal