Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Руководство по прошивкам AzDeck

English version

В этом репозитории опубликовано руководство по прошивкам для подключения плат ESP32 и ESP8266 к приложению AzDeck.

Исходный код приложения находится в отдельном репозитории azdeck-Source-Code.

С чего начать

  1. Прочитайте спецификацию протокола: там описаны транспорты, форматы команд, телеметрия и расширение Mecanum Runtime.
  2. Загрузите короткий JSON-пример esp32_websocket_minimal.
  3. Переходите к специализированным примерам только после проверки связи.

Выбор прошивки

Прошивка Плата Связь Назначение
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 с текстовыми пакетами

Дополнительная документация:

Подготовка Arduino IDE

  1. Установите Arduino IDE.
  2. Через Boards Manager установите пакет:
    • esp32 от Espressif Systems для плат ESP32;
    • esp8266 от ESP8266 Community для плат ESP8266.
  3. Через Library Manager установите библиотеки, необходимые выбранному скетчу:
    • WebSockets от Markus Sattler;
    • ArduinoJson от Benoit Blanchon;
    • ESP32Servo для mecanum-прошивки с сервоприводами.
  4. Откройте .ino из каталога выбранной прошивки.
  5. Выберите плату и последовательный порт.
  6. Загрузите скетч.

Библиотека Preferences, используемая mecanum-прошивкой для хранения настроек, входит в пакет ESP32.

WebSocket

WebSocket-прошивки по умолчанию создают точку доступа:

Wi-Fi:       AzDeck-Test
Пароль:      azdeck123
WebSocket:   ws://192.168.4.1:81

Порядок подключения:

  1. Загрузите скетч на плату.
  2. Подключите Android-устройство к сети AzDeck-Test.
  3. В профиле AzDeck выберите транспорт WebSocket.
  4. Укажите адрес ws://192.168.4.1:81.
  5. Выберите сериализатор Plain Text или JSON.
  6. Подключитесь к контроллеру.

Инструкции по подключению и загрузке конкретной платы находятся в README внутри каталога соответствующей прошивки.

BLE

Скетч 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:

  1. Выберите транспорт BLE.
  2. Выберите устройство AzDeck BLE.
  3. Укажите приведённые выше GATT-характеристики Write и Notify.
  4. Используйте сериализатор Plain Text или JSON.

Classic Bluetooth / SPP

Скетч esp32_classic_bt_test объявляет устройство AzDeck Classic.

Стандартный SPP UUID:

00001101-0000-1000-8000-00805F9B34FB

Порядок подключения:

  1. Выполните сопряжение с AzDeck Classic в настройках Android.
  2. В профиле AzDeck выберите транспорт SPP.
  3. Выберите сопряжённое устройство.
  4. Оставьте стандартный SPP UUID.
  5. Используйте сериализатор 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.
  • Добавьте физическую аварийную остановку для опасных или мощных механизмов.

Примеры предназначены для разработки и тестирования. Перед использованием на реальном роботе адаптируйте распиновку, ограничения мощности и защитные механизмы под конкретное оборудование.

About

Firmware guides and ESP32/ESP8266 examples for controlling robots with the AzDeck Android app via WebSocket, BLE, and Bluetooth SPP.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages