В этом репозитории опубликовано руководство по прошивкам для подключения плат ESP32 и ESP8266 к приложению AzDeck.
Исходный код приложения находится в отдельном репозитории
azdeck-Source-Code.
- Прочитайте спецификацию протокола: там описаны транспорты, форматы команд, телеметрия и расширение Mecanum Runtime.
- Загрузите короткий JSON-пример
esp32_websocket_minimal. - Переходите к специализированным примерам только после проверки связи.
| Прошивка | Плата | Связь | Назначение |
|---|---|---|---|
esp32_websocket_minimal |
ESP32 | WebSocket | Минимальный JSON-пример: команды, telemetry, ping/pong и fail-safe |
esp32_mecanum_websocket |
ESP32 | WebSocket | Полный специализированный пример: четыре mecanum-мотора, два сервопривода и runtime-настройки |
esp32_cam_websocket_test |
ESP32-CAM | WebSocket | Проверка команд, телеметрии и встроенной вспышки |
esp8266_websocket_test |
ESP8266 | WebSocket | Простой тест команд и телеметрии |
esp32_ble_azdeck_test |
ESP32 | BLE | Проверка BLE-команд и уведомлений с телеметрией |
esp32_classic_bt_test |
ESP32 | Bluetooth SPP | Проверка Classic Bluetooth с текстовыми пакетами |
Дополнительная документация:
- точная спецификация протокола на русском;
- protocol specification in English;
- подробное руководство на русском;
- подробное руководство на английском.
- Установите Arduino IDE.
- Через Boards Manager установите пакет:
esp32от Espressif Systems для плат ESP32;esp8266от ESP8266 Community для плат ESP8266.
- Через Library Manager установите библиотеки, необходимые выбранному скетчу:
WebSocketsот Markus Sattler;ArduinoJsonот Benoit Blanchon;ESP32Servoдля mecanum-прошивки с сервоприводами.
- Откройте
.inoиз каталога выбранной прошивки. - Выберите плату и последовательный порт.
- Загрузите скетч.
Библиотека Preferences, используемая mecanum-прошивкой для хранения настроек, входит в пакет ESP32.
WebSocket-прошивки по умолчанию создают точку доступа:
Wi-Fi: AzDeck-Test
Пароль: azdeck123
WebSocket: ws://192.168.4.1:81
Порядок подключения:
- Загрузите скетч на плату.
- Подключите Android-устройство к сети
AzDeck-Test. - В профиле AzDeck выберите транспорт
WebSocket. - Укажите адрес
ws://192.168.4.1:81. - Выберите сериализатор
Plain TextилиJSON. - Подключитесь к контроллеру.
Инструкции по подключению и загрузке конкретной платы находятся в README внутри каталога соответствующей прошивки.
Скетч esp32_ble_azdeck_test объявляет устройство AzDeck BLE.
Service: 6E400001-B5A3-F393-E0A9-E50E24DCCA9E
Write: 6E400002-B5A3-F393-E0A9-E50E24DCCA9E
Notify: 6E400003-B5A3-F393-E0A9-E50E24DCCA9E
В профиле AzDeck:
- Выберите транспорт
BLE. - Выберите устройство
AzDeck BLE. - Укажите приведённые выше GATT-характеристики Write и Notify.
- Используйте сериализатор
Plain TextилиJSON.
Скетч esp32_classic_bt_test объявляет устройство AzDeck Classic.
Стандартный SPP UUID:
00001101-0000-1000-8000-00805F9B34FB
Порядок подключения:
- Выполните сопряжение с
AzDeck Classicв настройках Android. - В профиле AzDeck выберите транспорт
SPP. - Выберите сопряжённое устройство.
- Оставьте стандартный SPP UUID.
- Используйте сериализатор
Plain TextилиJSON.
SPP-прошивка передаёт пакеты UTF-8, разделённые переводом строки.
Название outputKey в профиле должно совпадать с ключом в прошивке. Для новых
проектов используйте JSON:
{"THROTTLE":0.75,"STEER":-0.25,"GRIP":1}Контроллер может вернуть telemetry отдельным сообщением:
{"type":"telemetry","battery":87,"speed":42}WebSocket-команды AzDeck приходят как binary frames. Полные правила framing, тайминги, Plain Text, ping/pong и схемы настроек mecanum находятся в спецификации протокола.
- Сначала проверяйте входящие команды через Serial Monitor без подключённых двигателей.
- При загрузке прошивки отключайте питание силовой части.
- Проверяйте распиновку, напряжение логики и общий GND.
- Не питайте двигатели и мощные сервоприводы напрямую от платы ESP.
- Используйте отдельный источник питания, рассчитанный на нагрузку.
- Обязательно останавливайте двигатели по тайм-ауту связи.
- Перед применением настроек проверяйте допустимость и отсутствие дублирования GPIO.
- Добавьте физическую аварийную остановку для опасных или мощных механизмов.
Примеры предназначены для разработки и тестирования. Перед использованием на реальном роботе адаптируйте распиновку, ограничения мощности и защитные механизмы под конкретное оборудование.