Skip to content
/ Keira Public

An App for controlling bots on ESP, Arduino etc. microcontrollers via BLE

Notifications You must be signed in to change notification settings

MatoiDev/Keira

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keira

Приложения для управления FPV роботами на микроконтроллерах ESP, Arduino, STM и пр. через Bluetooth Low Energy

Приложение написано под iOS, но вы спокойно можете запустить его на вашем Mac и управлять роботом, используя клавиатуру.

Требования

  • iOS 15.0 или более поздняя версия
  • MacOS 12.0 (Monterey) или более поздняя версия

Основной Функционал

  1. Управление устройством по протоколу BLE с телефона через джойстики, или с компьютера через клавиатуру
  2. [В разработке] Подключение и стриминг Bluetooth/WiFi камеры*
  3. [В разработке] Возможность вести запись с камеры

Структура протокола

Пример управления дроном на базе микроконтроллера ESP32, который имеет встроеный BLE модуль

* Приложение актуально и для проектов, использующие другие микроконтроллеры, к которым подключены BLE модули ( HM-10, AT-09, MLT-BT05, JDY-08 и пр. )
Идентификаторы
#define SERVICE_UUID                         "9A8CA9EF-E43F-4157-9FEE-C37A3D7DC12D" // ID сервиса
#define MSG_CHARACTERISTIC_UUID              "CC46B944-003E-42B6-B836-C4246B8F19A0" // ID характеристики передачи сообщений
#define LEFT_JOYSTICK_CHARACTERISTIC_UUID    "F2B9C6E1-4F9E-4E71-BB3C-7A3B6F8C0A8A" // ID характеристики левого джойстика
#define RIGHT_JOYSTICK_CHARACTERISTIC_UUID   "A8D6F7C4-9E3B-4B6E-8E9F-1E6C8B9A0D2D" // ID характеристики правого джойстика

В скетче уже создан сервис для общения, вы можете добавить новые характеристики, или изменить существующие. В таком случае вам нужно будет поработать с файлом BLEServer.h и BTDevicesViewModel.swift:

enum DeviceUUIDs: String {
    case __SERVICE_UUID = "9A8CA9EF-E43F-4157-9FEE-C37A3D7DC12D"
    case __CHARACTERISTIC_UUID = "CC46B944-003E-42B6-B836-C4246B8F19A0"
    case __LEFT_JOYSTICK_CHARACTERISTIC_UUID = "F2B9C6E1-4F9E-4E71-BB3C-7A3B6F8C0A8A"
    case __RIGHT_JOYSTICK_CHARACTERISTIC_UUID = "A8D6F7C4-9E3B-4B6E-8E9F-1E6C8B9A0D2D"
}

В сервисе реализованы 3 характеристики:

  • MSG_CHARACTERISTIC_UUID - Используется для передачи текстовых команд и вывода на монитор (см. Logger и Sentinel-ESP32)
  • LEFT_JOYSTICK_CHARACTERISTIC_UUID - Используется для передачи информации о текущем положении левого джойстика
  • RIGHT_JOYSTICK_CHARACTERISTIC_UUID - Используется для передачи информации о текущем положении правого джойстика

Примечания

  • Проект находится в процессе разработки
  • README находится в процессе написания

About

An App for controlling bots on ESP, Arduino etc. microcontrollers via BLE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published