Bluetooth ru: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(Протокол передачи данных)
(Описание)
Zeile 9: Zeile 9:
 
* через USB Bluetooth-свисток (с компьютера)
 
* через USB Bluetooth-свисток (с компьютера)
  
Для управления с Андроид-устройств вам необходима специальная программа [https://play.google.com/store/apps/details?id=au.com.forward.pfodApp 'pfodApp'] или альтернативная [https://play.google.com/store/apps/details?id=de.grauonline.arduremote 'ArduRemote'].
+
Для управления с Андроид-устройств вам необходима специальная программа [https://play.google.com/store/apps/details?id=au.com.forward.pfodApp 'pfodApp'] или альтернативная [https://play.google.com/store/apps/details?id=de.grauonline.arduremote 'ArduRemote'] (обе программы платные).
  
 
Управляющее меню включает в себя:
 
Управляющее меню включает в себя:

Version vom 19. August 2015, 19:24 Uhr


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, примерно так).

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

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

  1. Режим программирования: Переведите Bluetooth-модуль в режим программирования:
    1. для HC05: Connect KEY pin to 3.3V after powering on the module
    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-модуль.
  3. Перезапуск: После удачного завершения операции программирования снимите джампер с JP2 KEY (HC05) и перезапустите систему.
  4. Сопряжение: Blueooth-модуль должен быть сопряжен с Андроид-устройством (стандартно, через настройки-Blueooth-Сопряжение-Найти устройства). В подавляющем большинстве пароль 1234.
  5. Приложения в смартфоне: Запускайте на смартфоне pfodApp или ArduRemote для подключения к Ardumower.

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

Протокол передачи данных "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. Видеоинструкция