IoT: Arduino и модуль bluetooth HC-06

Интерфейс Bluetooth позволяет передавать как голос (со скоростью 64 Кбит/с), так и данные. Для передачи данных могут быть использованы асимметричный (721 Кбит/с в одном направлении и 57,6 Кбит/с в другом) и симметричный (432,6 Кбит/с в обоих направлениях) методы. Работая на частоте 2.4 ГГц, приемопередатчик (Bluetooth-chip) позволяет устанавливать связь в пределах 10 или 100 метров. Разница в расстоянии, безусловно, велика, однако соединение в пределах 10 метров позволяет сохранить низкое энергопотребление, компактный размер и достаточно невысокую стоимость компонентов. Так, маломощный передатчик потребляет всего 0.3 мА в режиме standby и в среднем 30 мА при обмене информацией. В стандарте Bluetooth предусмотрено шифрование передаваемых данных с использованием ключа эффективной длины от 8 до 128 бит и возможностью выбора односторонней или двусторонней аутентификации. Дополнительно, к шифрованию на уровне протокола, может быть использовано шифрование на программном уровне.
Технология Bluetooth работает по принципу FHSS (англ. Frequency-hopping spread spectrum). Коротко это можно объяснить так: передатчик разбивает данные на пакеты и передает их по псевдослучайному алгоритму скачкообразной перестройки частоты (1600 раз в секунду), или шаблону (pattern), составленном из 79 подчастот. «Понять» друг друга могут только те устройства, которые настроены на один и тот же шаблон передачи – для посторонних приборов переданная информация будет обычным шумом. Основным структурным элементом сети Bluetooth является так называемая «пикосеть» (piconet) – совокупность от 2 до 8 устройств, работающих на одном и том же шаблоне. В каждой пикосети одно устройство работает как активное (master), а остальные как пассивные (slave). Активное устройство (Master) определяет шаблон, на котором будут работать все пассивные устройства (slave) его пикосети, и синхронизирует ее работу. Стандарт Bluetooth предусматривает соединение независимых и даже не синхронизированных между собой пикосетей (до 10) в так называемую «scatternet» (англ. To scatter звучит как “рассеивать”). Для этого каждая пара пикосети должна иметь как минимум одно общее устройство, которое будет активным в одной и пассивным в другой. Таким образом, в рамках отдельной scatternet с интерфейсом Bluetooth может быть одновременно связано максимум 71 устройство, однако никто не ограничивает применение устройств-гейтов, которые используют тот же Internet для более дальней связи.
Частотный диапазон Bluetooth в большинстве стран свободный от лицензирования, но во Франции, Испании и Японии из-за законодательных ограничений необходимо использовать отличные от указанных выше частоты.
В промышленном Интернете Вещей машинам часто нужно отправлять небольшие пакеты данных в очень «зашумленной» другими сигналами среде. И хотя недостатком Bluetooth является низкая пропускная способность (по сравнению с Wi-Fi), но ее с головой хватает для передачи технической и текстовой информации между устройствами.
Bluetooth также идеален для обустройства «умного дома», так как устройства автоматически объединяются в ячеистую сеть. Это означает, что все устройства могут продолжать общаться между собой, даже если мастер отключается – его «полномочия» принимает другое устройство и продолжает работу.
Ранние версии Bluetooth плохо работали, если на их пути оказывались толстые однородные предметы – мебель и стены, но ситуацию удалось улучшить в версии Bluetooth 5.0.
Организация Bluetooth Special Interest Group официально приняла стандарт Bluetooth 5 в декабре 2016 года. Новая версия разработана специально с учетом потребностей «умного дома» и Интернета Вещей: по сравнению с предыдущей версией, диапазон частот расширен в 4 раза, в 2 раза увеличилась скорость пропускания и на 800% улучшена проницаемость сигнала сквозь препятствия. Bluetooth 5.0 поддерживает обратную совместимость, с ним можно использовать устройства предыдущих версий, но в таком случае общие параметры сети опустятся до характеристик старого подключенного устройства.
Проникновение устройств с Bluetooth 5.0 в повседневную жизнь займет некоторое время, и со временем станет видно преимущества нового стандарта, но без сомнения данная технология является неотъемлемой составляющей и фактором, влияющим на дальнейшее развитие трендов IoT.
Подключение Bluetooth модуля HC-06 к Arduino

модуль_bloetooth
Рисунок 1 – Внешний вид Bluetooth модуля HC-06

Начать работать с HC-06 достаточно просто. Все, что нужно знать – расположение контактов для подключения. На HC-06 шесть контактов: wakeup, VCC, GND, TXD, RXD и State. На данном этапе, используем 4 контакта: VCC, GND, TXD и RXD.


Рисунок 2 – Назначение выводов модуля HC-06


HC-06>>>Arduino
VCC>>>>3.3v
GND>>>>GND
TXD>>>>RXD
RXD>>>>TXD


Рисунок 3 – Схема подключения модуля к Arduino

HC-06 выступает в роли последовательного порта, через который вы передаете и принимаете данные. То есть, используя окно серийного монитора в Arduino IDE или Bluetooth приложение на вашем компьютере или телефоне, вы можете контролировать и управлять вашим проектом. Например, в качестве терминала можно использовать Teraterm. Перед загрузкой скетча на Arduino, выключите модуль HC-06. Так как модуль осуществляет обмен данными с помощью контактов tx/rx, загрузить скетч не получится. После загрузки скетча можете подключать bluetooth модуль.
Скетч для этого проекта очень прост. Все, что он должен делать – это проверять, наличие данные на серийном порте.
При использовании android смартфона с соответствующим spp bluetooth apk, команда подается на bluetooth (RX/TX). При этом bluetooth модуль налаживает связь с bluetooth нашего Android’а, используя профиль под названием SPP (Serial Port Profile). Он эмулирует подключение по USB порту нашего Arduino и android.
Инициализируем все контакты и переменные.

Скорость передачи данных модуля HC-06 по умолчанию равна 9600 baud. Код функции void setup:

Void loop:

В скетчи две функции для включения и выключения светодиода.

unWired (https://play.google.com/store/apps/details?id=com.rad.unwiredlite) – это программа, которая дает возможность подключаться к bluetooth модулю Arduino. Это не единственное подобное приложение, так что можете пользоваться другим, если хотите.
Перед запуском программы, подключите bluetooth модуль.
Первое окно управления показано на рисунке ниже (интерфейс новых версий может отличаться). Выберите “Dispositivos Pareados”. Должны появиться все подключенные к смартфону устройства. Среди этих устройств выбираем bluetooth модуль, который мы подключили до этого.

umwired1
Рисунок 4 – Окно 1 программы unWired

На втором экране (рис. 5) вы будете непосредственно вводить команды для отправки через bluetooth. В нашем случае это две команды – LO для того, чтобы включить светодиод и LF – чтобы выключить.

umwired2
Рисунок 5 – Окно 2 программы unWired

Оставить ответ

Обязательные поля помечены*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.