Работа с Linux-командами Атомов
В этой статье описаны основные команды API, которые позволяют взаимодействовать с Linux-системами через панель администратора. С помощью этих команд можно отправлять, получать, удалять и просматривать историю команд для Атомов.
Как получить данные
Адрес запроса
Для получения данных используйте адрес: https://<server_address>/backend/api.php
Список команд
-
cmd=atom_get_all — получить список отправленных команд
-
cmd=atom_get_commands — получить список шаблонов команд
-
cmd=atom_create_command — отправить команду Linux
-
atom_delete_command — удалить команду Linux
Получение списка отправленных Linux команд (История команд)
Эта команда позволяет получить список всех команд, отправленных на атом. История включает идентификатор атома, отправленную команду, а также статус выполнения.
Метод: GET
Параметры запроса
-
cmd=atom_get_all — команда для получения истории
-
ident — уникальный идентификатор атома (например, b0:44:6t:0d:a9:04)
-
node — номер узла, на котором нужно выполнить команду
Пример запроса
https://<server_address>/backend/api.php?cmd=atom_get_all&ident=b0:44:6t:0d:a9:04&node=1Ответ[{"id": 27899,"agent_id": null,"ident": "8v:f5:8c:01:13:70","script": "ls /root/","processed": null,"ts": 1712138610,"result": null}]
Получение списка шаблонов команд Linux
Эта команда позволяет получить список шаблонов команд Linux, которые могут быть использованы для отправки на атом. Шаблоны содержат описание и команду, которая будет выполнена на устройстве.
Метод: GET
Параметры запроса
-
cmd=atom_get_commands — команда для получения шаблонов команд.
-
ident — уникальный идентификатор атома (например, 80:c5:80:01:68:08).
-
node — номер узла, на котором нужно выполнить команду
Пример запроса
https://<server_address>/backend/api.php?cmd=atom_get_commands&ident=80:c5:80:01:68:08&node=1Ответ[{"id": 36,"command_name": "Список Видео","description": null,"command": "ls -lsh /video/*.avi"}]
Отправка команды Linux
С помощью этой команды можно отправить команду Linux на атом. Команда будет добавлена в очередь и выполнена на устройстве.
Метод: POST
Параметры запроса
-
cmd=atom_create_command — команда для создания новой команды.
-
ident — уникальный идентификатор атома.
-
script — скрипт команды (опционально).
-
node — номер узла, на котором нужно выполнить команду
Пример запроса
https://<server_address>/backend/api.php?cmd=atom_create_command&ident=b1:42:67:00:00:fd&node=1Ответ
27917 (ID команды, добавленной в очередь)
|
Удаление команды Linux
Если команда еще не была выполнена, ее можно удалить из очереди с помощью этого метода. Удаление возможно только до того, как команда будет обработана.
Метод: GET
Параметры запроса
-
cmd=atom_delete_command — команда для удаления
-
ident — уникальный идентификатор атома
-
command_id — идентификатор команды для удаления
-
node — номер узла, на котором нужно выполнить команду
Пример запроса
https://<server_address>/backend/api.php?cmd=atom_delete_command&ident=b0:44:6f:0d:av:88&command_id=27921Ответ"Success delete"
Коды ошибок API
-
400 Bad request — неверный формат данных или отсутствует обязательный параметр.Возможные сообщения:
-
{"error": "Missing ident param"} — отсутствует идентификатор атома.
-
{"error": "Command already processed"} — команда уже выполнена.
-
{"error": "Unknown macro: {Unknown macro}"} — неизвестная макро-команда.
-
500 Internal server error — внутренняя ошибка сервера
Взаимодействие с командами в интерфейсе
В интерфейсе PILOT взаимодействие с атомами происходит через вкладку административной панели «Автокондуктор → Автобусы», где доступна команда «Взаимодействовать».

Через эту функцию:
-
Отправляются команды (Linux-команды) на атом
-
Можно просматривать список доступных команд (шаблоны)
-
Отображается история всех отправленных команд
-
Доступен результат выполнения каждой команды
