Web-интерфейс для управления ESP32¶
ESP32 создает подсеть, в которой ей (ESP32) присваивается постоянный
адрес 192.168.4.1
Для использования WEB-интерфейса необходимо подключиться к WI-FI сети квадрокоптера и зайти в любой браузер, установленный на вашем компьютере. Настройка квадрокоптера через WEB-интерфейс производится путем отправки команд через адресную строку браузера.
Примечание
Пионер Мини поддерживает лишь одно активное подключение по WI-FI, поэтому, будьте внимательны, если у вас, например, включено автоматическое подключение к сетям на телефоне, с которого вы управляли квадрокоптером через приложение Jump, то с компьютера для входа в WEB-интерфейс вы подключиться не сможете.
Это же стоит помнить и при необходимости соединить в одну сеть несколько квадрокоптеров: вам обязательно понадобится внешняя точка доступа (телефон, роутер, компьюетр с режимом модема).
Важно
Обратите внимание, что для удобства чтения многие управляющие команды представлены в многострочном виде:
http://192.168.4.1/control
?function=wifi
&command=connect
&ssid=MyGildedCage
&password=RagingHamster666"
При копировании в строке браузера могут образовываться пробелы:
http://192.168.4.1/control ?function=wifi &command=connect &ssid=MyGildedCage &password=RagingHamster666
Будьте внимательны! Пробелы недопустимы и подлежат удалению:
http://192.168.4.1/control?function=wifi&command=connect&ssid=MyGildedCage&password=RagingHamster666
Информация о версии¶
Запрос:
http://192.168.4.1/info
.Ответ: JSON вида:
["0.2.8-59", "1.6.7481"]
Позиция
Описание
[1]
Версия прошивки ESP32
[2]
Версия прошивки платы, для которой ESP32 служит модулем связи (вероятнее всего - плата автопилота)
Ограничения: Может отсутствовать, если ESP32 не удалось получить информацию о версии
Информация о состоянии¶
Запрос:
http://192.168.4.1/control
Ответ: JSON с описанием текущего состояния коптера вида:
{ "video_record": false, "wifi_sta_connected": false, "wifi_sta_ip": [192, 168, 43, 6], "camera_frame_size": [480, 320] }
Поле
Тип
Значение
video_record
bool
true
- запись ведетсяfalse
- запись не ведется
wifi_ sta_connected
bool
Флаг, обозначающий наличие подключения ESP32 к Wi-Fi Access Point
wifi_sta_ip
array(int)
IP адрес, присвоенный ESP32 WiFi Access Point в виде JSON-массива целочисленных значений. Виден только в случае, если у ESP32 есть IP адрес в сети WiFi Access Point
camera_frame_size
array(int)
Текущее разрешение камеры
Управление состоянием - общие сведения¶
Управление производится отправкой GET-запросов вида:
http://192.168.4.1/control?ARGUMENTS...
Ответ: JSON вида:
{ "video_record": false, "wifi_sta_connected": true, "wifi_sta_ip": [192, 168, 43, 6], "success": false, "camera_frame_size": [480, 320], "message": "Wrong input argument(s)" }Полученный JSON содержит инфромацию о результате выполнения команды, а также содержит информацию об актуальном состоянии ESP32.
Структура полученного JSON’а справедлива для всех команд управления, если не указано обратное.
Поле
Тип
Значение
success
:bool
true
- команда выполнена успешно,false
- команда не выполнена успешно
message
:string
Появляется в случае
success: false
. Содержит информацию о причине провала.
Запись видео¶
Запуск¶
Запрос:
http://192.168.4.1/control ?function=video_record &command=start &name=<FILE_NAME>Параметры:
Параметр
Значение
name
Имя сохраняемого файла
Ограничения: - Максимальная длина - 8 символов
Остановка¶
Запрос:
http://192.168.4.1/control ?function=video_record &command=stop
Сохранение фото¶
Запрос:
http://192.168.4.1/control ?function=photo &name=<FILE_NAME>Параметры:
Параметр
Значение
name=FILE_NAME
Имя сохраняемого файла
Ограничения: - Максимальная длина - 8 символов
Изменение разрешения камеры¶
Начиная с версии 1.0.0
Установка нужного разрешения устанавливается выполнением запроса вида:
http://192.168.4.1/control ?function=camera_frame_size &width=480 &height=320
Параметры:¶
Параметр
Значение
function=camera_frame_size
width=WIDTH
Размер изображения по горизонтали
height=HEIGHT
Размер изображения по вертикали
Допустимые пары (WIDTH, HEIGHT):
(240, 240)
(320, 240)
(400, 296)
(480, 320)
(640, 480)
При попытке установить недопустимое разрешение будет сформирован JSON вида:
{ "video_record": false, "wifi_sta_connected": false, "camera_frame_size": [480, 320], "success": false, "message": "Value is out of range, or unacceptible" }
Wi-Fi Access Point¶
Начиная с версии 0.4.0
Подключение¶
Запрос с явным указанием IP адреса (не рекомендуется):
http://192.168.4.1/control ?function=wifi &command=connect &ssid=MyGildedCage &password=RagingHamster666 &ip=10.0.0.42 &gateway=10.0.0.1 &netmask=255.255.255.0Запрос без указания IP адреса (рекомендуется):
http://192.168.4.1/control ?function=wifi &command=connect &ssid=MyGildedCage &password=RagingHamster666
Параметр
Значение
function=wifi
command=connect
command=disconnect
Подключиться к сети
Отключиться от сети
ssid=NAME
NAME
- Имя Wi-Fi сети
password=PASSWORD
PASSWORD
- Пароль Wi-Fi сети
ip=IP
IP
Присваиваемый адрес
gateway=GATEWAY
GATEWAY
- IP маршрутизатора
netmask=NETMASK
NETMASK
- маска подсетиЕсли хотя бы один параметр из
ip
,gateway
,netmask
(1) не указан или (2) указан неверно (ошибка в формате), он будет проигнорирован, и произойдет активация DHCP клиента. ESP32 будет искать DHCP сервер, чтобы тот присвоил IP.Для того чтобы сменить Wi-Fi сеть, вызывается та же команда. Явный сброс соединения не требуется.
Отключение¶
http://192.168.4.1/control ?function=wifi &command=disconnect