Простой способ вывести Bluetooth-устройства в Интернет
Протокол Bluetooth сегодня является наиболее распространенным вариантом в сегменте носимой электроники, в частности для фитнес трекеров и умных часов. Он хорошо подходит для прямой связи устройств на небольшом расстоянии, когда необходимо обеспечить минимальное потребление энергии и длительное время автономной работы, а высоких требований к скорости нет. Плюсом является и невысокая стоимость продуктов.
Однако этот протокол все чаще встречается и в стационарных устройствах, таких как лампы, различные датчики, управляющие устройства и даже замки. Некоторые производители, в частности Archos, используют его для реализации системы домашней автоматизации. Появляется его поддержка в таких профессиональных контроллерах как Evika LogicMachine Wall. Однако в подобных сценариях востребован и удаленный мониторинг и управление, что с использованием только Bluetooth сделать невозможно, поскольку этот протокол исключительно локальный и не может маршрутизироваться через сеть Интернет. Этот вопрос можно решить, в частности, использованием смартфона или планшета на месте установки беспроводных устройств, но такой вариант явно сложно нельзя считать удобным.
Организация Bluetooth SIG, которая занимается вопросами развития, сертификации и продвижения протоколов Bluetooth, не желая упустить рост сегмента IoT и систем автоматизации, в начале февраля предложила инструментарий для создания шлюзов для подключения Bluetooth-устройств к Интернет и облачным сервисам. Он ориентирован на разработчиков и OEM, и способен, по мнению создателей обеспечить доступом к Интернет для «миллиардов устройств». В комплект входят коды серверов и документация, позволяющая быстро реализовать базовый вариант устройства.
Предложенный пример использует известную среду Node.js и не требователен к вычислительным ресурсам. В документации рассматривается создание шлюза и Frontend Web-сервера на базе платформы Raspberry Pi. Для запуска вам потребуется Bluetooth адаптер для него. Правда модель с поддержкой BLE может быть найти непросто. В этом случае можно предложить использовать другие платформы, например Intel Edison, где этот интерфейс встроен.
Шлюз сканирует присутствующие в эфире устройства Bluetooth, кэширует информацию о них, включая характеристики и доступные сервисы. При поступлении внешнего запроса, он выдает ответ или на базе ранее собранных данных или запрашивает текущие значения с устройства. Интерфейс шлюза работает с GAP и GATT RESTful API, краткие описания которых можно найти на сайте Bluetooth SIG, а для обмена информацией применяется JSON. В частности здесь реализованы такие возможности, как запрос списка устройств, запрос сервисов устройства, запрос характеристик сервиса, чтение и запись данных.
Frontend реализуется Web-приложением NaviBLE, которое позволяет пользователю работать с Bluetooth-устройствами, подключенными к шлюзу. В примерах доступны интерфейсы к указанным выше возможностям шлюза. Кроме того, разработчик может создать собственные страницы, в том числе с CSS и встроенными функциям обработки данных на JavaScript, для более удобной работы с конкретными устройствами. Например, для лампы можно предусмотреть кнопки включения и выключения, а также выбора цвета.
Данные примеры могут оказаться полезными как для разработчиков систем автоматизации, которые планируют включить в свои продукты поддержку протокола Bluetooth, так и для энтузиастов. В частности, вы сможете реализовать обработку такого сценария, как появление дома Bluetooth-устройства, например для автоматического включения света или изменения режима работы охранной сигнализации.
Отметим, что на сайте Bluetooth SIG можно также найти документацию и примеры работы с Bluetooth-устройствами (например, метками) для интеграции поддержки этого протокола на различные платформы, включая исходные коды приложений для Android, iOS и Windows.
Как работает и для чего нужен Bluetooth: подробный обзор технологии
Эх, вспоминаю старые времена, когда у молодежи были черно-белые кнопочные телефоны, а передача любимых треков в виде MIDI файлов осуществлялась с помощью инфракрасного порт (ИК). В те стародавние времена стали выходить первые телефоны с Bluetooth. Сегодня мы и поговорим про то – как работает Блютуз, для чего он нужен и какие могут быть проблемы при передаче данных.
Определение
Bluetooth переводится как «Голубой зуб», очень странная ассоциация была у автора сие аппарата. Данный стандарт позволяет передавать данные на небольшое расстояние с помощью радиоволн. При этом на обоих устройствах должен быть специальный модуль, который и выступает как передатчик, так и отправитель.
Вот мы и подобрались к вопросу, а для чего нужен Bluetooth. В самые первые времена его использовали для передачи данных. Например, с одного телефона можно было перекинуть фотографии на другой. Сейчас возможности расширились, и все беспроводные наушники работают на этой технологии.
Сам принцип достаточно простой, включается Блютус на телефоне и на наушниках, а далее идёт сопряжение, когда два устройства подключаются друг к другу. После этого пользователь включает музыку и слушает её на своих наушниках. Но также «Голубой зуб» часто используют, чтобы закачать видео, картинки, фотографии с телефона или другого устройства на компьютер или ноутбук. К слову, у большинства моделей ноутбуков есть Bluetooth и используется он также.
Мы тут начали говорить про радиоволны, но что-то отвлеклись. Эта самая технология работает на частоте 2.4 ГГц. Как не странно, но на этой же самой частоте ещё работает мобильная связь, Wi-Fi, микроволновые печи и многое другое.
В первые свет увидел «Голубой зуб» в 1998 году, когда вышла первая версия 1.0. После этого через какой-то период времени выходили все новые и новые версии: 2.0, 3.0, 4.0 и т.д. Основная особенность улучшения версии в увеличении скорости передачи данных, уменьшения помех и электроэнергии.
В чем отличие от Wi-Fi
Мы как портал о всем беспроводном не могли обойти эту тематику. Многие, кстати, путают WiFi и Bluetooth, но на деле — это абсолютно разные вещи и никак между собой не связаны. Напомню, что Wi-Fi — это беспроводная сеть, которая также строится с помощью радиоволн. При этом используется другие стандарты передачи данных.
Вот эта самая беспроводная сеть связываем устройства: компьютеры, ноутбуки, телефоны, телевизоры. И по этой сети можно пустить интернет. При этом используется интересный аппарат под название роутер или маршрутизатор. Bluetooth же нужен для передачи между двумя устройствами и без построения локальной сети. Также Блутус не используют для передачи интернета. Конечно, бывает такое – но это бывает крайне редко, а передача идёт сугубо от одного устройства к другому.
Если вам интересно, то советую для общего образования прочесть две статьи. Первая – статья про Wi-Fi от моего коллеги. Там очень понятно и лаконично объясняется, про эту технологию простым языком. Вторая – статья про роутер, который является самым популярным аппаратом и есть почти в каждом доме.
Устройство Bluetooth
Многие спрашивают – а что нужно, чтобы он работал. Повторюсь, что на обоих устройствах должен быть модуль. К слову, на компьютерах его устанавливают редко, а вот на ноутбуках, планшетах и телефонах он есть почти всегда. Но для персонального стационарного компа можно приобрести внешний модуль. Он выглядит как флэшка и вставляется в обычные USB порт.
Также модулю нужно связаться с другим адаптером. Для этих целей используется протоколы связи и передачи данных. В качестве основных протоколов используется LMP, L2CAP и SDP. Эти протоколы позволяют потоково связывать два устройства. Протоколов очень много, но все они служат именно для взаимосвязи между устройствами.
После того как связь будет установлена, нужно, чтобы два устройства начали общение. Именно для этого и предназначены профили или стандарты передачи данных. Одним из самых популярных профилей является A2DP, который предназначен для передачи звуковых файлов с телефона на беспроводные наушники.
К примеру, у меня на телевизоре пульт работает как с применением Блютус по профилю AVRCP. С помощью него я управляю экраном, переключаю каналы и ввожу какие-то данные. Профиль BIP предназначен для передачи картинки и фотографий. BPP – профиль для передачи текста. А VDP передает видео в формате MPEG 4.
Как видите профилей очень много и в этом состоит главная проблема. Вот вам пример – ко мне недавно обратился наш постоянный читатель, который жаловался, что купил новый SMART TV телевизор с Bluetooth, но подключить беспроводные наушники не может. Да Блютус в телике есть, но он поддерживает только профили для передачи данных от беспроводной мышки, клавиатуры и пульта дистанционного управления. Звук передавать по нему нельзя.
Именно из-за большого количества профилей некоторые пользователи, покупая те же наушники не могут их подключить к старым ноутбукам или даже телефону. Бывает такое, что звук есть, а микрофон не работает. Проблема в том, что продавцы не указывают профили в описании, а простые покупатели об этом просто не знают.
Работает ли Блютуз без СИМ-карты? Именно этот вопрос ко мне пришёл, когда я писал эта статью. Сразу скажу, что SIM карта не связана с Bluetooth и он может спокойно работать без неё. Если у вас будут какие-то дополнительные вопросы по этой или любой другой беспроводной технологии – задавайте их в комментариях под этой статьей.
Как подключить и включить
В телефоне или планшете можно зайти в настройки и сразу увидеть кнопку включения. Чтобы активировать «голубую передачу» просто нужно нажать на значок Bluetooth. На некоторых прошивках эта функция находится в верхнем меню – для активации достаточно смахнуть пальцем от верхнего края телефона или планшета.
На компьютере или ноутбуке немного сложнее, так как операционная система у всех разная. По этому поводу я писал уже отдельную статью тут. Там все понятно рассказано и есть пояснения. Также там описаны ситуации, когда «Голубой зуб» не подключается и что в этом случае нужно делать. Чтобы подключить наушники к компьютеру – читайте инструкцию здесь.