Bluetooth ru

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche


Bluetooth и удаленное управление


Описание

Ardumower может выводить данные и управляться через Bluetooth канал связи:

  • через смартфон/планшет (Android-приложения)
  • через USB Bluetooth-свисток (с компьютера)

Для управления с Андроид-устройств вам необходима специальная программа 'pfodApp' или альтернативная 'ArduRemote' (обе программы платные).

Управляющее меню включает в себя:

  • Текущее состояние (напряжение батареи, ток зарядки и т.д.)
  • Настройки платформы
  • Калибровка (вращение двигателей, гироскоп и т.д.)
  • Удаленное управление (Старт/стоп, повороты, включение-выключение ножей и т.д.)

Bluetooth-модули

Для робота вам необходим Bluetooth-модуль, поддерживающий Bluetooth Serial Port Profile (SPP). SPP используется Bluetooth Service Discovery Protocol (SDP) и протоколом RFCOMM. В зависимости от требуемого расстояния можно использовать следующие устройства Bluetooth:

  • Bluetooth класс 2 (расстояние до 50 метров), модули HC03/04/05/06
  • Bluetooth класс 1 (расстояние до 100 метров), модуль BTM220 (требует дополнительную обвязку)

Bluetooth-модуль HC-05

Модуль HC-05 (на картинке зеленая часть) использует 3.3 вольта, поэтому нужно приобрести с уже распаянным делителем напряжения и обвязкой (основная синяя платка). Если же у вас только зеленый модуль, то для линий RX и TX нужно использовать делители напряжения на резисторах, так как показано на рисунке со схемой.

Для настройки модуля (ПИН-код для подключения, скорость порта и т.д.) необходимо подключить контакт KEY на модуле к шине питания +3.3 вольта и после операции настройки отключить (--Unlogic (Diskussion) 19:03, 19. Aug. 2015 (CEST) лично я этот метод впервые здесь увидел, я подпаивал проводок к контакту 34, примерно так, но метод с замыканием Key yf 3.3 djkmnf работает).

На плате для этого выведен специальный джампер JP2 - "KEY".

Шаги настройки модуля и подключение смартфонов

  1. Режим программирования: Переведите Bluetooth-модуль в режим программирования:
    1. для HC05: Установите перемычку JP2 KEY 3.3V после подачи питания на модуль
    2. для HC06/linvor: Не спаривайте модуль с телефоном или компьютером (светодиод должен мигать)
    3. для FBT06/MBTV4: Надо припаять вывод PIO11 к выводу VCC (PIN 12), на котором должно быть +3.3 вольта.
  2. Скорость порта: Blueooth-модуль и Arduino Mega должны использовать одну и ту же символьную скорость (19200). Символьная скорость модуля может быть изменена через консоль Ardumower.
    1. Подключите Ardumower Mega board к компьютеру через USB
    2. Войдите в монитор последовательного порта в Arduino IDE (CTRL+M)
    3. Выберите скорость 19200 (увидите логи, которые шлет Ardumower)
    4. Нажмите 'd' чтобы войти в меню Ardumower
    5. Настройте Blueooth-модуль.
      1. Выберите пункт 3 (рекомендуется) или 4 в вывалившемся меню
      2. Газонокосилка начнет поиск на разных символьных скоростях (по очереди) посылая команду "AT"
      3. После того как модуль ответит "OK", он будет автоматически сконфигурирован, установлена символьная скорость 19200, имя "Ardumower" и пароль "1234" (если прошивка скомпилирована без изменений этих параметров, смотри файл bt.cpp)
  3. Перезапуск: После удачного завершения операции программирования снимите джампер с JP2 KEY (HC05) и перезапустите систему.
  4. Сопряжение: Blueooth-модуль должен быть сопряжен с Андроид-устройством (стандартно, через настройки-Blueooth-Сопряжение-Найти устройства).
  5. Приложения в смартфоне: Запускайте на смартфоне pfodApp или ArduRemote для подключения к Ardumower. Можно так же установить любой Bluetooth-терминал в смартфон и посылать команды, набирая их на клавиатуре. Команда "{.}" вызывает главное меню, "{s}" - настройки, "{t05`2015}" год и т.п.

Протокол передачи данных

Протокол передачи данных "pfodSpecification" между газонокосилкой и программой на Android описан здесь .

Все элементы меню формируются на стороне прошивки газонокосилки. Приложения только отрисовывают меню, визуализируют диаграммы, обрабатывают нажатие кнопок.

Пример передачи данных:

1. Приложение с телефона запрашивает состав меню: {.}
2. Робот посылает структурированную строку с данными: {.title`1000|key1~text1|key2~text2|key3~text3}
   Приложение вырисовывает следующее меню:
   title
   [text1]
   [text2]
   [text3]
3. Пользователь тыкает на 'text1', а приложение отправляет роботу команду: {key1}


Вы можете включить логирование потока данных в приложении на смартфоне (ищите их потом в папках 'pfodAppRawData' или 'ArduRemote'). К примеру, в ArduRemote нажмите кнопку 'Android menu' и выберите 'Enable logging'.

Логирование

Смотрите этот раздел

Видео

  1. Демонстрация меню v0.8.8
  2. Демонстрация меню в полевых условиях v0.8.8
  3. Видеоинструкция