Работа с Bluetooth

от автора


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

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

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

Обычный юсб-уарт работает как plug-and-play устройство, то есть, подключаем его к микроконтроллеру, к ПК, устанавливаем драйвера виртуального ком-порта и пишем программы. Тут ситуация оказалась несколько сложнее. Мы подключили bluetooth адаптер к микроконтроллеру ARM7 (чтобы не утруждаться я с логическими уровнями — они на обоих частях 3.3 Вольта), подключили адаптер блютус к ПК и стали наблюдать. Как не удивительно результата не было. Оказалось, что блютус модуль сначала надо проинициализировать строкой: "+INQ=0\r\n"

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

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

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

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

Спасибо за внимание!

ссылка на оригинал статьи http://habrahabr.ru/post/265145/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *