Bluetooth ru: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „=Описание= Ardumower может выводить данные и управляться через Bluetooth канал связи: * через сма…“)
 
(Шаги настройки модуля и подключение смартфонов)
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
{{DISPLAYTITLE:Bluetooth и удаленное управление}}
 +
 +
Bluetooth и удаленное управление
 +
 +
 
=Описание=
 
=Описание=
 
Ardumower может выводить данные и управляться через Bluetooth канал связи:
 
Ardumower может выводить данные и управляться через Bluetooth канал связи:
Zeile 4: 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'] (обе программы платные).
  
 
Управляющее меню включает в себя:
 
Управляющее меню включает в себя:
Zeile 20: Zeile 25:
 
</gallery>
 
</gallery>
  
=Bluetooth-модуль=
+
=Bluetooth-модули=
 
Для робота вам необходим Bluetooth-модуль, поддерживающий Bluetooth Serial Port Profile (SPP). SPP используется Bluetooth Service Discovery Protocol (SDP) и протоколом RFCOMM. В зависимости от требуемого расстояния можно использовать следующие устройства Bluetooth:
 
Для робота вам необходим Bluetooth-модуль, поддерживающий Bluetooth Serial Port Profile (SPP). SPP используется Bluetooth Service Discovery Protocol (SDP) и протоколом RFCOMM. В зависимости от требуемого расстояния можно использовать следующие устройства Bluetooth:
  
Zeile 34: Zeile 39:
  
 
Модуль HC-05 (на картинке зеленая часть) использует 3.3 вольта, поэтому нужно приобрести с уже распаянным делителем напряжения и обвязкой (основная синяя платка). Если же у вас только зеленый модуль, то для линий RX и TX нужно использовать делители напряжения на резисторах, так как показано на рисунке со схемой.
 
Модуль HC-05 (на картинке зеленая часть) использует 3.3 вольта, поэтому нужно приобрести с уже распаянным делителем напряжения и обвязкой (основная синяя платка). Если же у вас только зеленый модуль, то для линий RX и TX нужно использовать делители напряжения на резисторах, так как показано на рисунке со схемой.
The Bluetooth Module will run at 3.3V, you need a voltage divider for RX line and an Pullup Resistor for the TX Line, like showing in Circuit.
 
  
For Programming the Module, you must connect the Key Pin from the BT Module, to the 3,3 V from the Arduino and disconect after.
+
Для настройки модуля (ПИН-код для подключения, скорость порта и т.д.) необходимо подключить контакт KEY на модуле к шине питания +3.3 вольта и после операции настройки отключить (--[[Benutzer:Unlogic|Unlogic]] ([[Benutzer Diskussion:Unlogic|Diskussion]]) 19:03, 19. Aug. 2015 (CEST) лично я этот метод впервые здесь увидел, я подпаивал проводок к контакту 34, [http://geektimes.ru/post/254972/?mobile=no примерно так], но метод с замыканием Key yf 3.3 djkmnf работает).
  
=Steps=
+
На плате для этого выведен специальный джампер JP2 - "KEY".
# Configuration mode: The Bluetooth module must be in configuration mode for the next step:
+
## for HC05:          Connect KEY pin to 3.3V after powering on the module
+
## for HC06/linvor:    Do NOT pair/connect (LED must be blinking)
+
## for FBT06/MBTV4:    First you have to solder the PIO11 pin to VCC (PIN 12) which is 3.3 Volts using a thin wire.
+
# Baud rate: Blueooth module and Arduino Mega must use the same baud rate (19200) - The baud rate of the BT module can be changed via Ardumower serial console. Connect Ardumower Mega board to your PC (USB), enter the serial console in the Arduino IDE (CTRL+M), and choose baud rate 19200, then choose 'd' to enter the Ardumower menu to configure the module to the correct baud rate.
+
# Restart: After your BT module is configured successfully, remove KEY pin connection again (HC05), and restart module.
+
# Pairing: The BT module must be 'paired' with your Android device once (via Android device settings). On the Android device, choose symbol "Settings" (via Android menu). Now choose  "Wirless and Networks->Bluetooth Settings" and "Find device". Finally, choose "pair with this device" and enter your pin (very often "1234"). The Bluetooth module should now appear as "paired".
+
# pfodApp: Now you can start pfodApp/ArduRemote to connect to the Ardumower.
+
  
=Communication protocol=
+
=Шаги настройки модуля и подключение смартфонов=
The communication protocol between robot and Android app (the 'pfodSpecification') is defined here: http://www.forward.com.au/pfod/.
+
# Режим программирования: Переведите Bluetooth-модуль в режим программирования:
 +
## для HC05:          Установите перемычку JP2 KEY 3.3V после подачи питания на модуль
 +
## для HC06/linvor:    Не спаривайте модуль с телефоном или компьютером (светодиод должен мигать)
 +
## для FBT06/MBTV4:    Надо припаять вывод PIO11 к выводу VCC (PIN 12), на котором должно быть +3.3 вольта.
 +
# Скорость порта: Blueooth-модуль и Arduino Mega должны использовать одну и ту же символьную скорость (19200). Символьная скорость модуля может быть изменена через консоль Ardumower.
 +
## Подключите Ardumower Mega board к компьютеру через USB
 +
## Войдите в монитор последовательного порта в Arduino IDE (CTRL+M)
 +
## Выберите скорость 19200 (увидите логи, которые шлет Ardumower)
 +
## Нажмите 'd' чтобы войти в меню Ardumower
 +
## Настройте Blueooth-модуль.
 +
### Выберите пункт 3 (рекомендуется) или 4 в вывалившемся меню
 +
### Газонокосилка начнет поиск на разных символьных скоростях (по очереди) посылая команду "AT"
 +
### После того как модуль ответит "OK", он будет автоматически сконфигурирован, установлена символьная скорость 19200, имя "Ardumower" и пароль "1234" (если прошивка скомпилирована без изменений этих параметров, смотри файл bt.cpp)
 +
# Перезапуск: После удачного завершения операции программирования снимите джампер с JP2 KEY (HC05) и перезапустите систему.
 +
# Сопряжение: Blueooth-модуль должен быть сопряжен с Андроид-устройством (стандартно, через настройки-Blueooth-Сопряжение-Найти устройства).
 +
# Приложения в смартфоне: Запускайте на смартфоне pfodApp или ArduRemote для подключения к Ardumower. Можно так же установить любой Bluetooth-терминал в смартфон и посылать команды, набирая их на клавиатуре. Команда "{.}" вызывает главное меню, "{s}" - настройки, "{t05`2015}" год и т.п.
  
All menus (menu items, sliders, buttons) are created inside the robot. The App only visualizes the created menus, and sends back a command if a menu item was clicked by the user.
+
=Протокол передачи данных=
 +
Протокол передачи данных "pfodSpecification" между газонокосилкой и программой на Android описан [http://www.forward.com.au/pfod/ здесь ].
  
Example communication:
+
Все элементы меню формируются на стороне прошивки газонокосилки. Приложения только отрисовывают меню, визуализируют диаграммы, обрабатывают нажатие кнопок.
  
  1. App requests main menu: {.}
+
Пример передачи данных:
  2. Robot sends main menu to App: {.title`1000|key1~text1|key2~text2|key3~text3}
+
 
     The App will visualize the main menu like this:
+
  1. Приложение с телефона запрашивает состав меню: {.}
 +
  2. Робот посылает структурированную строку с данными: {.title`1000|key1~text1|key2~text2|key3~text3}
 +
     Приложение вырисовывает следующее меню:
  
 
     title
 
     title
Zeile 64: Zeile 78:
 
     [text3]
 
     [text3]
  
  3. User clicks menu item 'text1', App sends back to robot the corresponding command: {key1}
+
  3. Пользователь тыкает на 'text1', а приложение отправляет роботу команду: {key1}
 +
 
  
You can log the communication to a file (folder 'pfodAppRawData' or 'ArduRemote') on your Android device. For the ArduRemote, press the 'Android menu button' on your device and choose 'Enable logging'.
+
Вы можете включить логирование потока данных в приложении на смартфоне (ищите их потом в папках 'pfodAppRawData' или 'ArduRemote'). К примеру, в ArduRemote нажмите кнопку 'Android menu' и выберите 'Enable logging'.
  
 
<gallery>
 
<gallery>

Aktuelle Version vom 21. August 2015, 10:48 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, примерно так, но метод с замыканием 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. Видеоинструкция