Работа с Bluetooth

 

bluetooth

Как подключить свой девайс  по bluetooth? Несложный способ подключения устройства через блютус при помощи виртуального COM-порта на стороне хоста.

Модуль bluetooth я купил в магазине Чип и Дип как приложение к модулям seeedstudio, ответвление arduino. Отдал за него около 1000 рублей, хотя в Китае подобные девайсы стоят около 300 рублей. Что же позволяет делать данная сборка?

По сути это преобразователь bluetooth<->UART, подобный UART<->USB на чипе ft232. Я предполагал его в качестве замены адаптеру на ft232, для этих целей и взял. Идею и подчеркнул из адаптеров ELM327 для автодиагностики, там тоже есть адаптер на основе usb, а есть на аналогичном блютус модуле. Но я столкнулся с небольшой проблемой, об этом поподробнее.

Обычный юсб-уарт работает как plug-and-play устройство, то есть его подсоединил к микроконтроллеру, к ПК, установил драйвера виртуального ком-порта и пишешь программы. Тут ситуация оказалась несколько сложнее. Я подсоединил bluetooth адаптер к микроконтроллеру ARM7 (чтобы не заморачиватьс я с логическими уровнями - они на обоих частях 3.3 Вольта), подсоединил адаптер блютус к ПК и стал смотреть. Как не удивительно результата не было. Оказалось, что блютус модуль сначал надо проинициализировать строкой

bluetooth settings

"+INQ=0\r\n"

Это необходимо, чтобы модуль стал видимым. Только после подобной инициализации можно подцепиться к модулю. И тут тоже возникли небольшие трудности: при каждом включении устройства со стороны компьютера необходимо заново "цепляться" к своему девайсу, что вобщем-то логично, но не очень удобно. Эту проблему можно решить настройками автоконнекта  к ПК.

С другой стороны, разработчик получает возможность общаться с устройством с помощью любого мобильного устройства, даже телефона. SPP-профиль поддерживают почти все гаджеты, а работа с COM-портом через bluetooth уже реализована в android, maemo и других мобильных ОС. Можно без проблем делать девайсы-приставки для телефонов :) Например, беспроводное управление силовыми выходами, освещением и т.д.

Но стоит учитывать дальность работы блютус и надежность передачи. Дальность у модуля вполне достаточная, в пределах большой офисной комнаты. А вот с надежностью проблемы: иногда связь может просто внезапно оборваться и не сразу восстановиться, да и скорость передачи данных не очень большая. Думаю эффект утери данных испытали и многие пользователи блютус наушников с профилем A2DP, когда кладешь передатчик в задний карман, наушники просто перестают работать... Так что стабильности блютус технологии явно не хватает. Но для ряда задач все же технология оказывается очень удобная, например, управление освещением, сбор данных с низкой скоростью и т.д. Тем более в низкоскоростных приложениях всегда можно ввести подтверждение доставки и в случае ошибки делать несколько повторных команд отправки.

Схема подключения

 

bluetooth

Когда подано питание мигает синий светодиод, когда связь установлена, загорается второй светодиод.

 

under construction