![](https://habrastorage.org/files/add/f2c/575/addf2c57564f4a57bbada954687f6291.jpg)
В данной статье мы расскажем про несложный способ подключения устройства через 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"
![](https://habrastorage.org/files/d6b/9a2/bab/d6b9a2bab9b240acb24ea28dab8ada86.png)
Это необходимо, чтобы модуль стал видимым. Только после подобной инициализации можно подсоединиться к модулю. И тут тоже возникли небольшие трудности: при каждом включении устройства со стороны компьютера необходимо заново «цепляться» к своему девайсу, что в общем-то логично, но не очень удобно. Эту проблему можно решить настройками автоконнекта к ПК.
С другой стороны, разработчик получает возможность связываться с устройством при помощи любого мобильного устройства, даже телефона. SPP-профиль поддерживают почти все гаджеты, а работа с COM-портом через bluetooth уже реализована в android, maemo и других мобильных ОС. Можно без проблем делать девайсы-приставки для телефонов, например, беспроводное управление силовыми выходами, освещением и т.д. Но стоит учитывать дальность работы блютус и надежность передачи. Дальность у модуля вполне достаточная, в пределах большой офисной комнаты. А вот с надежностью проблемы: иногда связь может просто внезапно оборваться и не сразу восстановиться, да и скорость передачи данных не очень большая. Думаю эффект утери данных испытали и многие пользователи блютус-наушников с профилем A2DP, когда кладешь передатчик в задний карман, наушники просто перестают работать…
Так что стабильности блютус-технологии явно не хватает. Но для ряда задач все же технология оказывается очень удобной, например, управление освещением, сбор данных с низкой скоростью и т.д. Тем более в низкоскоростных приложениях всегда можно ввести подтверждение доставки и в случае ошибки делать несколько повторных команд отправки.
Ниже представлена схема подключения. Когда подано питание, мигает синий светодиод, когда связь установлена, загорается второй светодиод.
![](https://habrastorage.org/files/327/2c9/e1d/3272c9e1dc3d48d0a579174fe803bb57.jpg)
Спасибо за внимание!
Комментарии (2)
ftp27
21.08.2015 16:22Очень и очень скудная статья. Можно было бы хотябы освятить список AT-команд которые указаны в доках. Ну или описать обвязку модуля.
ftp27
21.08.2015 16:22+2Очень и очень скудная статья. Можно было бы хотябы освятить список AT-команд которые указаны в доках. Ну или описать обвязку модуля.
r_ii
Было бы хорошо предоставить название и спецификацию данного модуля. Их есть несколько видов.
Один из документов.
А еще этот модуль сам является микроконтроллером и его можно программировать. Здесь была об этом статья. Искать по ключевых словах CSR.