Как выглядит модуль bluetooth на плате
Обновлено: 20.11.2024
Хорошо, значит, мы знаем, что Bluetooth — это прекрасно, а если нет, прочитайте наше руководство «Введение в Bluetooth». Но как именно мы реализуем связь Bluetooth в наших проектах? Что ж, к счастью для нас, есть модули Bluetooth, которые берут на себя всю низкоуровневую обработку протоколов и содержат то, что называется стеком Bluetooth. Это причудливое название платы/чипа, запрограммированного на выполнение определенных программных функций Bluetooth и обеспечивающего простой в использовании цифровой интерфейс для беспроводной связи, обычно через SPI, I2C или UART. Фактически, большинство модулей Bluetooth предназначены для обеспечения беспроводной связи TX/RX между устройствами, поэтому начать работу с ними невероятно просто. Но существуют сотни различных модулей, и мы предлагаем довольно много различных вариантов на нашем веб-сайте, так как же выбрать тот, который подойдет для вашего проекта? Итак, давайте взглянем на некоторые из самых популярных модулей на нашем сайте:
**Обратите внимание, что мы будем говорить о различных методах настройки и функциях различных модулей, которые более подробно объясняются в нашем руководстве по использованию модулей Bluetooth**
Защита Bluetooth от Freetronics
Хорошо, сначала щит. Ты знал, что это должно быть здесь. Если вы работаете с Arduino Uno, скорее всего, вы используете экран. А что может быть более неудобным, чем прокладывать отдельные провода к модулю Bluetooth и портить атмосферу вашей конструкции? Ну, не более. Этот маленький парень представляет собой щит с множеством дополнительных разъемов и припаянным почтенным модулем HC-05. Он также предоставляет заголовки выбора контактов, которые позволяют использовать аппаратные контакты UART или другие контакты для программного UART. Довольно круто, да? Как и в случае с большинством последовательных модулей Bluetooth, вы просто используете последовательный порт как обычно, а модуль позаботится обо всем остальном. Вы можете использовать простые AT-команды, чтобы получить информацию об устройстве и настроить модуль, чтобы узнать версию Bluetooth, на которой он работает. Модуль HC-05 имеет радиус действия около 10 м. Обратите внимание, что этот экран включает необходимое преобразование логического уровня 5 В-3,3 В, поскольку HC-05 работает от 3,3 В.
BlueSMiRF Gold
Теперь мы выходим в высшую лигу. Этот модуль Bluetooth от Sparkfun представляет собой модуль класса 1, предназначенный для работы в качестве моста TX/RX с радиусом действия 100 м! Он устойчив к напряжению 3–6 В, поэтому вы можете использовать его напрямую практически с любым устройством. Он также имеет контакты RTS/CTS, предназначенные для использования с преобразователем RS232-TTL, а также с прямым UART. Это лучший выбор среди классических модулей Bluetooth. Также доступна версия BlueSMiRF Silver с аналогичными функциями, но с меньшим радиусом действия и меньшей стоимостью.
И здесь мы находим, пожалуй, самый известный модуль Bluetooth в сфере DIY. HC-05 стал основой для тысяч проектов с поддержкой Bluetooth благодаря простоте использования связи TX/RX и простых AT-команд для дополнительной настройки. Модуль был разбит на плате адаптера, чтобы обеспечить простые в использовании контакты 0,1 дюйма. Модуль HC-05 имеет встроенный стабилизатор на 3,3 В, так что вы можете питать его от платы на 5 В, такой как Arduino, но вам понадобится преобразователь логического уровня, такой как этот фантастический двунаправленный преобразователь от Sparkfun.
Голубая фасоль
Это предложение немного отличается от остальных тем, что в него встроен микроконтроллер, совместимый с Arduino, так что вы полностью готовы к работе. Это устройство Bluetooth представляет собой модуль Bluetooth с низким энергопотреблением (BLE), что означает, что оно может работать от батарейки типа «таблетка» (установленной сзади) для энергосберегающих конструкций. Он также имеет встроенный светодиод RGB и акселерометр, поэтому он идеально подходит для всех видов проектов, прямо из коробки! С LightBlue Bean чрезвычайно легко начать работу, и это фантастическое недорогое решение для любого проекта.
Bluefruit LE UART Friend
Модуль Bluefruit от Adafruit — отличное устройство, потому что он сочетает в себе простоту использования модулей каналов TX/RX с гибкостью, которую предлагает Bluetooth LE. Благодаря структуре GATT BLE вы можете использовать простые AT-команды, чтобы изменить способ обработки сервисов и характеристик GATT. Он оснащен встроенным регулятором, так что вы можете питать его напряжением 5 В от платы, а контакты также рассчитаны на 5 В, что еще больше упрощает начало работы.
Друг Adafruit Bluefruit LE SPI
Вы ищете альтернативу UART? Хотите сохранить этот интерфейс для других приложений или использовать SPI для всех компонентов вашего проекта, ну, вам повезло, Adafruit также производит этого эквивалентного друга SPI с дизайном, аналогичным версии UART выше. Bluefruit LE SPI Friend позволяет легко добавить подключение Bluetooth Low Energy ко всему, что имеет 4 или 5 контактов GPIO. С SPI вам не нужно беспокоиться о скорости передачи, управлении потоком или отказе от аппаратного порта UART. Подключитесь к Arduino или другому микроконтроллеру, используя общий четырехконтактный интерфейс SPI (MISO, MOSI, SCK и CS), а также пятый контакт GPIO для прерываний (чтобы сообщить Arduino о готовности данных или ответа).
Flora Wearable Bluefruit LE
Эта фантастическая маленькая плата имеет тот же модуль, что и ранее упомянутая Bluefruit LE UART Friend, однако благодаря форм-фактору FLORA она стала доступной для носимых устройств. Он имеет те же функции, что и UART Friend, но с большими контактными площадками, подходящими для проводов и/или токопроводящих нитей.
Bluetooth/Wi-Fi USB Dongle и Bluetooth USB Mini
Мы рассмотрели все виды различных модулей, которые вы можете интегрировать непосредственно в свои проекты через связь TX/RX, однако как насчет добавления функций Bluetooth на компьютер или устройство с портом USB? К счастью, у нас они тоже есть. Мы перечислили два разных варианта: один просто обеспечивает поддержку Bluetooth 4.0, а другой обеспечивает Bluetooth 4.0 И Wi-Fi в одном удобном адаптере. Он идеально подходит для компактных компьютеров или одноплатных микрокомпьютеров, в конструкцию которых могут не входить эти беспроводные периферийные устройства.
Заключение
Итак, вот и все. Мы взяли наши любимые модули и ключи Bluetooth и сравнили их, чтобы помочь вам решить, какой из них подходит для вашего проекта. Теперь, когда у вас есть некоторая информация о том, как оборудовать беспроводным соединением ваше следующее всемирно известное изобретение, ознакомьтесь с нашим учебным пособием «Как использовать модули Bluetooth», чтобы начать программировать эти устройства и использовать их в своих проектах.
Хорошо, мы знаем, что Bluetooth — это прекрасно, а если вы этого не знаете, прочитайте наше руководство «Введение в Bluetooth».
Bluetooth — это стандартизированный протокол для отправки и получения данных по беспроводному соединению с частотой 2,4 ГГц. Это безопасный протокол, который идеально подходит для маломощной и недорогой беспроводной передачи данных между электронными устройствами.
Сейчас кажется, что все является беспроводным, и Bluetooth – большая часть этой беспроводной революции. Вы обнаружите, что Bluetooth встроен в самые разные потребительские товары, такие как гарнитуры, контроллеры видеоигр или (конечно) трекеры скота.
SparkFun ESP32 Thing Plus — это следующий шаг к тому, чтобы приступить к работе с идеями Espressif IoT, сохраняя при этом все преимущества…
SparkFun Pro nRF52840 Mini — плата для разработки Bluetooth
SparkFun Pro nRF52840 Mini — это отладочная плата для Nordic nRF52840 — мощного процессора ARM Cortex-M4…
SparkFun Bluetooth Mate Silver
Bluetooth Mate очень похож на наш модем BlueSMiRF, но он разработан специально для использования с нашими [Arduino Pro]…
Bluetooth-модем SparkFun — BlueSMiRF Silver
BlueSMiRF Silver — новейшая замена беспроводному последовательному кабелю Bluetooth от SparkFun Electronics! Эта версия…
Рекомендуемое чтение
-
-- Bluetooth похож на радиочастотную версию последовательной связи. -- Все устройства Bluetooth имеют уникальный адрес, который обычно представляется в виде шестнадцатеричного значения.
Рекомендуемый просмотр
Как работает Bluetooth
Протокол Bluetooth работает на частоте 2,4 ГГц в той же нелицензируемой полосе частот ISM, где также существуют радиочастотные протоколы, такие как ZigBee и WiFi. Существует стандартизированный набор правил и спецификаций, который отличает его от других протоколов. Если у вас есть несколько часов, чтобы убить и вы хотите изучить все тонкости Bluetooth, ознакомьтесь с опубликованными спецификациями, в противном случае вот краткий обзор того, что делает Bluetooth особенным.
Главные, подчиненные и пикосети
Сети Bluetooth (обычно называемые пикосетями) используют модель ведущий/ведомый для управления тем, когда и куда устройства могут отправлять данные. В этой модели одно ведущее устройство может быть подключено к семи различным ведомым устройствам. Любое ведомое устройство в пикосети может быть подключено только к одному ведущему устройству.
Мастер координирует обмен данными по всей пикосети. Он может отправлять данные любому из своих ведомых устройств, а также запрашивать данные у них. Ведомым разрешено только передавать и получать от своего хозяина. Они не могут разговаривать с другими ведомыми устройствами в пикосети.
Адреса и имена Bluetooth
Этот адрес должен быть виден на большинстве устройств Bluetooth. Например, на этом Bluetooth-модуле RN-42 адрес, напечатанный рядом с «MAC NO». 000666422152:
Часть "000666" этого адреса – это OUI компании Roving Networks, производителя модуля. Каждый модуль RN будет совместно использовать эти старшие 24 бита. Часть модуля "422152" является более уникальным идентификатором устройства.
Устройства Bluetooth также могут иметь удобные для пользователя имена. Обычно они представляются пользователю вместо адреса, чтобы помочь определить, какое это устройство.
Правила для имен устройств менее строгие. Они могут иметь длину до 248 байт, и два устройства могут иметь одно и то же имя. Иногда в имя могут быть включены уникальные цифры адреса, чтобы различать устройства.
Процесс подключения
Создание Bluetooth-соединения между двумя устройствами — это многоэтапный процесс, включающий три последовательных состояния:
- Запрос. Если два устройства Bluetooth абсолютно ничего не знают друг о друге, одно из них должно выполнить запрос, чтобы попытаться обнаружить другое. Одно устройство отправляет запрос на запрос, и любое устройство, прослушивающее такой запрос, ответит своим адресом и, возможно, своим именем и другой информацией.
- Пейджинг (подключение). Пейджинг – это процесс установления соединения между двумя устройствами Bluetooth. Прежде чем это соединение можно будет инициировать, каждое устройство должно знать адрес другого (найденный в процессе запроса).
- Подключение. После того как устройство завершило процесс пейджинга, оно переходит в состояние подключения. При подключении устройство может либо активно участвовать, либо быть переведено в спящий режим с низким энергопотреблением.
- Активный режим. Это обычный режим подключения, когда устройство активно передает или получает данные.
- Sniff Mode. Это энергосберегающий режим, в котором устройство менее активно. Он будет находиться в спящем режиме и прослушивать передачи только с заданным интервалом (например, каждые 100 мс).
- Режим удержания. Режим удержания — это временный энергосберегающий режим, в котором устройство находится в спящем режиме в течение определенного периода, а затем возвращается в активный режим по истечении этого интервала. Мастер может дать команду ведомому устройству удерживать.
- Режим парковки. Режим "Парковка" — самый глубокий из режимов сна. Ведущий может дать подчиненному команду «припарковаться», и этот подчиненный станет неактивным до тех пор, пока ведущий не прикажет ему вернуться в спящий режим.
Связь и сопряжение
Когда два Bluetooth-устройства имеют особое сходство друг с другом, их можно связать вместе. Связанные устройства автоматически устанавливают соединение, когда они находятся достаточно близко. Например, когда я завожу машину, телефон в моем кармане немедленно подключается к автомобильной системе Bluetooth, потому что они связаны друг с другом. Взаимодействия с пользовательским интерфейсом не требуются!
Облигации создаются с помощью однократного процесса, называемого сопряжением. Когда устройства соединяются, они обмениваются своими адресами, именами и профилями и обычно сохраняют их в памяти. У них также есть общий секретный ключ, который позволяет им связываться, когда они будут вместе в будущем.
Сопряжение обычно требует процесса аутентификации, когда пользователь должен подтвердить соединение между устройствами. Поток процесса аутентификации различается и обычно зависит от возможностей интерфейса того или иного устройства.Иногда сопряжение представляет собой простую операцию «Просто работает», когда для сопряжения достаточно одного нажатия кнопки (это обычно для устройств без пользовательского интерфейса, таких как гарнитуры). В других случаях сопряжение включает в себя сопоставление 6-значных цифровых кодов. Более старые, устаревшие (v2.0 и более ранние) процессы сопряжения включают ввод общего PIN-кода на каждом устройстве. Длина и сложность PIN-кода может варьироваться от четырех цифр (например, "0000" или "1234") до 16-символьной буквенно-цифровой строки.
Мощные классы
Мощность передачи и, следовательно, дальность действия модуля Bluetooth определяется его классом мощности. Существует три определенных класса мощности:
Номер класса | Максимальная выходная мощность (дБм) | Максимальная выходная мощность (мВт) | Максимальный диапазон |
---|---|---|---|
Класс 1 | 20 дБм | < td>100 мВт100 м | |
Класс 2 | 4 дБм | 2,5 мВт | 10 м |
Класс 3 | 0 дБм | 1 мВт | 10 см |
Некоторые модули могут работать только в одном классе мощности, в то время как другие могут изменять свою мощность передачи.
Профили Bluetooth
Профили Bluetooth – это дополнительные протоколы, основанные на базовом стандарте Bluetooth и позволяющие более четко определить, какие данные передает модуль Bluetooth. В то время как спецификации Bluetooth определяют, как технология работает, профили определяют, как она используется.
Профили, которые поддерживает устройство Bluetooth, определяют, для каких приложений оно предназначено. Например, гарнитура Bluetooth для громкой связи будет использовать профиль гарнитуры (HSP), а контроллер Nintendo Wii будет реализовывать профиль устройства с интерфейсом пользователя (HID). Чтобы два устройства Bluetooth были совместимы, они должны поддерживать одинаковые профили.
Давайте рассмотрим несколько наиболее часто встречающихся профилей Bluetooth.
Профиль последовательного порта (SPP)
Если вы заменяете последовательный коммуникационный интерфейс (например, RS-232 или UART) на Bluetooth, вам подойдет профиль SPP. SPP отлично подходит для отправки пакетов данных между двумя устройствами. Это один из наиболее фундаментальных профилей Bluetooth (первоначальная цель Bluetooth заключалась в том, чтобы заменить кабели RS-232).
При использовании SPP каждое подключенное устройство может отправлять и получать данные так же, как если бы между ними были соединены линии RX и TX. Например, два Arduino могут общаться друг с другом из разных комнат, а не из-за стола.
Устройство с интерфейсом пользователя (HID)
HID — это профиль для устройств ввода данных с поддержкой Bluetooth, таких как мыши, клавиатуры и джойстики. Он также используется во многих современных игровых контроллерах, таких как контроллеры WiiMotes или PS3.
Профиль Bluetooth HID на самом деле представляет собой вариацию на профиль HID, уже определенный для USB-устройств ввода данных человеком. Подобно тому, как SPP служит заменой кабелям RS-232, HID стремится заменить кабели USB (гораздо более сложная задача!).
Профиль громкой связи (HFP) и профиль гарнитуры (HSP)
Эти Bluetooth-наушники, из-за которых важные деловые люди выглядят болтливыми чокнутыми? Обычно они используют профиль гарнитуры (HSP) или профиль громкой связи (HFP).
HFP используется в аудиосистемах громкой связи, встроенных в автомобили. Помимо функций HSP, в нем реализовано несколько функций, позволяющих выполнять стандартные действия по телефону (прием/отклонение вызовов, завершение вызова и т. д.), когда телефон остается в кармане.
Расширенный профиль распространения аудио (A2DP)
Расширенный профиль распространения звука (A2DP) определяет способ передачи звука с одного устройства Bluetooth на другое. В то время как HFP и HSP отправляют звук на оба устройства и с них, A2DP является улицей с односторонним движением, но качество звука может быть намного выше. A2DP хорошо подходит для беспроводной передачи звука между MP3-плеером и стереосистемой с поддержкой Bluetooth.
Большинство модулей A2DP поддерживают ограниченный набор аудиокодеков. По крайней мере, они будут поддерживать SBC (поддиапазонный кодек), а также могут поддерживать MPEG-1, MPEG-2, AAC и ATRAC.
Профиль дистанционного управления аудио/видео (AVRCP)
Профиль дистанционного управления аудио/видео (AVRCP) позволяет удаленно управлять устройством Bluetooth. Обычно он реализуется вместе с A2DP, чтобы удаленный динамик мог указать устройству, отправляющему звук, перемотать вперед, назад и т. д.
Распространенные версии
Bluetooth постоянно развивался с момента его появления в 1994 году. Самое последнее обновление Bluetooth, Bluetooth версии 4.0, только начинает набирать обороты в отрасли бытовой электроники, но некоторые из предыдущих версий все еще широко используются. Вот краткое изложение часто встречающихся версий Bluetooth:
Bluetooth 1.2
Выпуски v1.x заложили основу для протоколов и спецификаций, на которых будут основываться будущие версии. Bluetooth версии 1.2 — это последняя и наиболее стабильная версия 1.x.
Эти модули довольно ограничены по сравнению с более поздними версиями. Они поддерживают скорость передачи данных до 1 Мбит/с (на практике это больше похоже на 0,7 Мбит/с) и максимальную дальность действия 10 метров.
Bluetooth v2.1 + EDR
В версиях Bluetooth версии 2.x реализована повышенная скорость передачи данных (EDR), в результате чего потенциальная скорость передачи данных увеличилась до 3 Мбит/с (на практике ближе к 2,1 Мбит/с). Bluetooth версии 2.1, выпущенной в 2007 году, представил безопасное простое сопряжение (SSP), в результате чего процесс сопряжения был переработан.
Модули Bluetooth версии 2.1 по-прежнему широко распространены. Для низкоскоростных микроконтроллеров, где 2 Мбит/с по-прежнему быстро, версия 2.1 дает почти все, что им может понадобиться. Модуль Bluetooth RN-42, например, по-прежнему популярен в таких продуктах, как Bluetooth Mate и BlueSMiRF HID.
Bluetooth v3.0 + HS
Вы думали, что 3 Мбит/с — это быстро? Умножьте это на восемь, и вы получите оптимальную скорость Bluetooth v3.0 — 24 Мбит/с. Однако эта скорость может быть немного обманчивой, потому что данные на самом деле передаются через соединение WiFi (802.11). Bluetooth используется только для установления соединения и управления им.
Определить максимальную скорость передачи данных для устройства версии 3.0 может быть непросто. Некоторые устройства могут быть помечены как «Bluetooth v3.0+HS», а другие могут быть помечены как «Bluetooth v3.0». Только устройства с суффиксом «+HS» способны маршрутизировать данные через Wi-Fi и достигать скорости 24 Мбит/с. Устройства Bluetooth v3.0 по-прежнему ограничены максимальной скоростью 3 Мбит/с, но они поддерживают другие функции, представленные в стандарте 3.0, такие как улучшенное управление питанием и режим потоковой передачи.
Bluetooth v4.0 и Bluetooth с низким энергопотреблением
Bluetooth 4.0 разделил спецификацию Bluetooth на три категории: классический, высокоскоростной и с низким энергопотреблением. Классическая и высокоскоростная связь с версиями Bluetooth v2.1+EDR и v3.0+HS соответственно. Отличительной чертой Bluetooth версии 4.0 является Bluetooth с низким энергопотреблением (BLE).
BLE – это масштабная переработка спецификаций Bluetooth, предназначенная для приложений с очень низким энергопотреблением. Он жертвует дальностью (50 м вместо 100 м) и пропускной способностью (0,27 Мбит/с вместо 0,7-2,1 Мбит/с) для значительной экономии энергопотребления. BLE предназначен для периферийных устройств, которые работают от батарей и не требуют высоких скоростей передачи данных или постоянной передачи данных. Умные часы, такие как MetaWatch, являются хорошим примером этого приложения.
Сравнение беспроводных сетей
Bluetooth — далеко не единственный протокол беспроводной связи. Возможно, вы читаете это руководство через сеть WiFi. Или, может быть, вы даже играли с ZigBees или XBees. Так чем же Bluetooth отличается от остальных протоколов беспроводной передачи данных?
Давайте сравним и сопоставим. Мы включим BLE как отдельный объект от Classic Bluetooth.
Имя | Классический Bluetooth | Bluetooth 4.0 с низким энергопотреблением ( BLE) | ZigBee | WiFi |
---|---|---|---|---|
Стандарт IEEE | 802.15.1 | < td>802.15.1802.15.4 | 802.11 (a, b, g, n) | |
Частота (ГГц) | 2,4 | 2,4 | 0,868, 0,915, 2,4 | 2,4 и 5 |
Максимальный исходный битрейт (Мбит/с) | 1–3 | 1 | 0,250 | < td>11 (b), 54 (g), 600 (n)|
Стандартная скорость передачи данных (Мбит/с) | 0,7- 2,1 | 0,27 | 0,2 | 7 (б), 25 (г), 150 (н) |
Максимальный (вне помещения) диапазон (метры) | 10 (класс 2), 100 (класс 1) | 50 | 10- 100 | 100-250 |
Относительное энергопотребление | Среднее | Очень низкое | Очень низкий | Высокий |
Пример работы от батареи | День s | От месяцев до лет | От месяцев до лет | Часы |
Размер сети | 7 | Не определено | 64 000+ | 255 |
Bluetooth — не лучший выбор для любой работы с беспроводными сетями, но он отлично подходит для приложений, связанных с заменой кабеля на небольшом расстоянии. Он также может похвастаться более удобным процессом подключения, чем его конкуренты (в частности, ZigBee).
ZigBee часто является хорошим выбором для мониторинга сетей, например проектов домашней автоматизации. В этих сетях могут быть десятки беспроводных узлов, которые редко активны и никогда не должны отправлять много данных.
BLE сочетает в себе удобство классического Bluetooth и значительно снижает энергопотребление. Таким образом, он может конкурировать с Zigbee по времени автономной работы. BLE не может конкурировать с ZigBee с точки зрения размера сети, но для подключения одного устройства к устройству он вполне сопоставим.
WiFi, вероятно, является наиболее известным из этих четырех беспроводных протоколов. Мы все довольно хорошо знаем, для какой цели это лучше всего: Интернет (!). Это быстро и гибко, но также требует много энергии. Для широкополосного доступа в Интернет он превосходит другие протоколы.
Ресурсы и дальнейшее развитие
Теперь, когда вы знакомы с понятиями, лежащими в основе Bluetooth, рассмотрите возможность ознакомиться с некоторыми из следующих учебных пособий:
-
-- RN-52 – это аудиомодуль Bluetooth, который поддерживает всевозможные изящные профили, о которых мы говорили в этом руководстве: HSP/HFP, A2DP, AVRCP и SPP. Проверьте этот модуль, если вы хотите добавить беспроводное аудио в свой проект. -- BlueSMiRF, использующий модуль Bluetooth RN-42, прост в использовании и поддерживает профиль SPP. Если вы хотите заменить последовательный кабель, проверьте этот модуль. -- MetaWatch представляет собой «умные часы» и использует Bluetooth для связи со смартфоном и получения уведомлений от него. Посмотрите на внутреннюю часть этих часов, чтобы увидеть, где находится модуль Bluetooth. Или следуйте инструкциям, чтобы управлять часами с помощью модуля Bluetooth, подключенного к Arduino.
Или, если вам надоел Bluetooth, но вы все еще хотите сделать что-то беспроводное:
-
-- ATmega128RFA1 оснащен RF-модулем, который работает по тем же стандартам, что и ZigBee (802.11.4). Если вы хотите покопаться в мельчайших деталях радиочастотной связи, ознакомьтесь с этой доской. -- Electric Imp делает подключение к WiFi невероятно простым. Следуйте этому руководству, и у вас будет встроенный модуль, способный взаимодействовать с веб-страницами!
Вот еще несколько полезных материалов, если вы хотите узнать больше о Bluetooth:
В этом учебном пособии по Arduino Bluetooth мы узнаем, как использовать модуль HC-05 для управления Arduino через связь Bluetooth. Вы можете посмотреть следующее видео или прочитать письменное руководство ниже для получения более подробной информации.
Обзор
Для этого урока я сделал два примера: управление Arduino с помощью смартфона и управление Arduino с помощью ноутбука или ПК. Чтобы не перегружать этот урок, в моем следующем уроке мы узнаем, как настроить Bluetooth-модуль HC-05 и установить Bluetooth-связь между двумя отдельными платами Arduino в качестве ведущего и ведомого устройств.
Прежде чем мы начнем с первого примера управления Arduino с помощью смартфона, давайте подробнее рассмотрим модуль Bluetooth HC-05. По сравнению с модулем HC-06, который может быть установлен только как ведомый, HC-05 также может быть установлен как ведущий, что позволяет осуществлять связь между двумя отдельными платами Arduino. Существует несколько разных версий этого модуля, но я рекомендую ту, которая поставляется на переходной плате, потому что так ее намного проще подключить. Модуль HC-05 представляет собой модуль Bluetooth SPP (протокол последовательного порта), что означает, что он взаимодействует с Arduino через последовательную связь.
Вы можете получить компоненты, необходимые для этого руководства по Arduino, на любом из указанных ниже сайтов:
- Модуль Bluetooth HC-05 ……………. Амазонка/Банггуд/Алиэкспресс
- Плата Arduino …………………………… Amazon/Banggood/AliExpress
- Макет и соединительные провода ……… Amazon/Banggood/AliExpress
Схемы
Вот как нам нужно подключить модуль к плате Arduino.
Конкретный модуль, который у меня есть, может питаться от 3,6 до 6 вольт, потому что он поставляется на коммутационной плате, которая содержит регулятор напряжения. Однако уровень логического напряжения на выводах данных составляет 3,3 В. Итак, линию между Arduino TX (Transmit Pin, который имеет выход 5V) и Bluetooth-модулем RX (Receive Pin, который поддерживает только 3,3V) нужно подключить через делитель напряжения, чтобы не сжечь модуль. С другой стороны, линия между выводом TX модуля Bluetooth и выводом RX Arduino может быть подключена напрямую, потому что сигнала 3,3 В от модуля Bluetooth достаточно, чтобы плата Arduino восприняла его как высокую логику.
Исходный код примера связи Arduino Bluetooth
Итак, теперь мы готовы написать код Arduino для обеспечения связи между платой Arduino и смартфоном.Мы сделаем простой пример, просто включив и выключив светодиод, но этого будет достаточно для понимания связи.
Описание: Сначала нам нужно определить контакт, к которому будет подключен наш светодиод, и переменную, в которой мы будем хранить данные, поступающие со смартфона. В разделе настройки нам нужно определить вывод светодиода как выход и сразу же установить для него низкий уровень. Как упоминалось ранее, мы будем использовать последовательную связь, поэтому нам нужно начать последовательную связь со скоростью 38400 бод, которая является скоростью передачи по умолчанию для модуля Bluetooth. В секции цикла с помощью функции Serial.available() мы проверим, есть ли доступные данные в последовательном порту для чтения. Это означает, что когда мы отправим данные в модуль Bluetooth, это утверждение будет истинным, поэтому с помощью функции Serial.read() мы прочитаем эти данные и поместим их в переменную «state». Поэтому, если Arduino получит символ «0», он выключит светодиод и с помощью функции Serial.println() отправит обратно на смартфон через последовательный порт строку «LED: OFF». Кроме того, мы сбросим переменную «state» на 0, чтобы две приведенные выше строки выполнялись только один раз. Обратите внимание, что переменная «состояние» является целым числом, поэтому, когда мы получаем символ «0», исходящий от смартфона, фактическое значение целочисленной переменной «состояние» равно 48, что соответствует символу «0» в соответствии с ASCII. таблица.. Вот почему в операторе «если» мы сравниваем переменную «состояние» с символом «0». С другой стороны, если полученный символ равен «1», светодиод загорится, и строка «LED: ON» будет отправлена обратно.
Теперь код готов к загрузке, но для этого нам нужно отключить линии TX и RX, потому что при загрузке Arduino использует последовательную связь, поэтому контакты RX (цифровой контакт 0) и TX (цифровой контакт 1) заняты. Мы можем избежать этого шага, если будем использовать другие контакты TX и RX платы Arduino, но в этом случае нам придется использовать библиотеку SoftwareSerial.h для последовательной связи.
Подключение смартфона к модулю Bluetooth HC-05 и Arduino
Теперь мы готовы подключить смартфон к модулю Bluetooth и Arduino. Здесь нам нужно активировать Bluetooth, и смартфон найдет модуль Bluetooth HC-05.
Затем нам нужно соединить устройства, а пароль модуля HC-05 по умолчанию — 1234. После того, как мы соединили устройства, нам нужно приложение для управления Arduino. Для этой цели в Play Store есть множество приложений, которые будут работать с написанным нами кодом Arduino. Тем не менее, я создал свое собственное приложение для этого руководства, используя онлайн-приложение MIT App Inventor. Это отличное и простое в использовании приложение для создания приложения Android, и в моем следующем руководстве вы найдете подробное пошаговое руководство по созданию собственного пользовательского приложения Android для вашего проекта Arduino.
Беспроводная связь становится ключевым фактором инноваций для робототехников. Сегодня, как никогда раньше, вы можете легко использовать мобильные устройства для управления и получения данных от робота.
Модуль Bluetooth и макетная плата — это то, что вам нужно для создания беспроводного канала связи с роботом. Поскольку Arduino является наиболее часто используемой платой для отправки и получения данных через Bluetooth, в этом посте я исследую лучшие и самые дешевые модули Bluetooth, совместимые с этим.
HC-05
Модуль Bluetooth HC-05
Если вы смотрите на YouTube фильм с роботом, управляемым по Bluetooth, скорее всего, беспроводная связь осуществляется с помощью модуля HC-05. Модуль HC-05 знаком, дешев (Amazon) и предназначен для прозрачной настройки беспроводного последовательного соединения с помощью Bluetooth SPP (протокол последовательного порта).
Еще один очень важный аспект, особенно если вы только начинаете и хотите использовать модуль Bluetooth, вы можете найти в Интернете целую серию учебных пособий и руководств, которые познакомят вас с беспроводной связью с роботами.
Этот модуль Bluetooth покрывает 9 метров (30 футов) сигналов и работает как в качестве ведущего, так и в качестве ведомого. Например, робот может быть ведущим устройством, подключенным к подчиненному модулю Bluetooth, или вспомогательной платой для установления беспроводного соединения с ПК.
HC-06 RS232 TTL
Модуль HC-06 RS232 TTL
На втором месте после HC-05 находится модуль HC-06 (Amazon).Это также популярно и очень просто настроить с помощью платы Arduino.
Модуль подходит для случаев, когда требуется беспроводная передача данных в ведомом режиме. Плата может быть оснащена последовательным кабелем USB-TTL для подключения к ПК. Как и HC-05, модуль HC-06 может работать на расстоянии до 9 метров (30 футов).
Если вам нужен модуль Bluetooth для связи со смартфоном и платой Arduino, HC-06 отлично подойдет. Но если вы хотите пообщаться с другой отладочной платой Arduino, вам подойдет модуль HC-05.
BLE Link Bee
Добавлено в феврале 2018 г.
BLE Link Bee – это новый модуль в линейке модулей Bluetooth, совместимых с платой Arduino. Модуль поддерживает переключатель ведущий-ведомый. Он имеет дальность передачи до 60 метров в свободном пространстве и делает его одним из самых мощных модулей Bluetooth.
Это последовательный модуль Bluetooth 4.0, предназначенный для использования в компактной форме сокета XBee. Это один из немногих модулей со встроенным регулятором напряжения, который поддерживает микроконтроллеры с напряжением питания 5 В и 3,3 В.
Если вы планируете использовать смартфон iOS или Android для управления роботом, вы можете использовать приложение Play Bluno, чтобы немедленно начать обмен данными между телефоном и Arduino.
BLE Mini
Модуль BLE Mini Bluetooth 4.0 Low Energy (BLE)
Если вы хотите легко управлять роботом с помощью iPhone, iPad или iPad mini или iPod последнего поколения, вам необходимо использовать плату BLE Mini. Также модуль совместим с любыми Android-устройствами с оборудованием BLE.
Модуль Bluetooth легко настроить с помощью платы Arduino, а его радиус действия составляет 50 метров (164 фута).
Вы можете разработать собственное приложение для iOS с помощью SDK с открытым исходным кодом, предоставленного компанией Red Bear.
Модуль включает в себя технологию Bluetooth 4.0 с низким энергопотреблением (BLE) и требует для связи только последовательный порт. Как и почти любой другой модуль Bluetooth, этот совместим с некоторыми из самых популярных плат для прототипирования, таких как Arduino, Raspberry Pi или BeagleBone Black.
BlueSMiRF
BlueSMiRF и Bluetooth Mate
Подключение к другим устройствам с помощью технологии Bluetooth не требует много времени и очень просто.
BlueSMiRF от Sparkfun (Amazon) — это один из модулей Bluetooth, совместимых с Arduino, на котором установлен приемопередатчик. Это означает, что модуль Bluetooth может отправлять и получать данные на расстоянии до 100 метров (328 футов).
BlueSMiRF работает сразу после распаковки и совместим с другими Bluetooth-устройствами, поддерживающими SPP. Беспроводной модуль идеально подходит для приложений, требующих расстояния до 100 метров (328 футов).
JY-MCU
Модуль JY-MCU
Модуль JY-MCU (Amazon) может подключать устройства и роботов, которые генерируют огромные объемы данных. Модуль Bluetooth, совместимый с любым устройством Android, покрывает расстояние 9 метров (30 футов) между ведущим и подчиненным устройствами.
Разработанный для более быстрого соединения между устройством Android и платой Arduino, модуль Bluetooth можно установить и запустить за считанные минуты. Кроме того, вы можете найти множество пошаговых руководств, в которых показано, как подключить модуль к микроконтроллеру Arduino.
ITAD BT
Bluetooth Shield ITEAD BT
Модуль BT Bluetooth представляет собой стекируемый шилд с последовательными портами на основе модуля HC-06. Экран можно подключить напрямую к порту UART Arduino для беспроводной связи. Без препятствий и других помех экран Bluetooth может обмениваться данными на расстоянии до 10 метров (32 фута).
Shield Bluetooth с RN-42
Bluetooth Shield с RN-42
Bluetooth Shield RN-42 — это то, что вам нужно для любого проекта, в котором вы хотели бы использовать микроконтроллер Arduino.Но в отличие от HC-05 и HC-06, его цена составляет 28,00 евро. Щит устанавливается поверх платы Arduino и работает на расстоянии до 20 метров (65 футов).
Блюфрут EZ-Link
Модуль Bluefruit EZ-Link
Bluefruit EZ-Link представляет собой комбинацию всех модулей, описанных выше. Модуль Bluetooth работает на расстоянии 10 метров (32 фута) и не требует дополнительного программного обеспечения или специального оборудования для беспроводной связи с другой системой Bluetooth.
Модуль Adafruit предназначен для работы на последовательной консоли или с помощью кабеля типа FTDI.
В отличие от других модулей Bluetooth, EZ-Link оснащен функцией автоматического определения COM-порта.
Похожие сообщения:
Спасибо за отзыв,
какой модуль Bluetooth может изменять мощность выходного сигнала Bluetooth?
Я удивлен, у меня радиус действия 120 метров с моим Bluetooth-модулем Arduino
Какую модель Bluetooth вы использовали? Диапазон 120 метров в помещении или на улице?
Отличный обзор, спасибо
Здравствуйте, я ищу Bluetooth-модуль Classe 1, который подойдет к моему arduino uno.
Кто-нибудь знает, является ли BlueSMiRF тем чипом, который мне нужен?
Ллойд (я француз…)
привет, я хочу устройство BT, которое может дать мне радиус действия около 10 метров и обеспечить приличную скорость передачи данных. в настоящее время я использую модуль HC 05, указанная ярость которого составляет около 9 метров, но я едва получаю 2 метра! может ли это быть из-за высокой скорости передачи данных, которую я генерирую? Можете ли вы предложить хороший модуль BT для моих требований?
Вы получили диапазон всего 2 метра в помещении или на улице? Я использую HC-05 в диапазоне выше 4 метров и работает отлично.
Вы используете свой модуль в помещении или на улице?
Здравствуйте, я Юсрон Фадхли из Индонезии.
Я работаю над выпускным проектом в одном из электронных институтов в Сурабае. Мне нужно вырезать несколько предложений из этой статьи. Могу я получить ваше разрешение на это?
Спасибо.
Да, можно. Но, пожалуйста, добавьте также источник
Какой модуль Bluetooth лучше всего подходит для носимых устройств, например для носимого беспроводного монитора качества воздуха? А есть ли Bluetooth модули с платами совмещенными
Спасибо за обзор,
Какой модуль лучше вычисляется для arduino uno r3?
Привет,
Даже после прочтения нескольких документов о BT и BLE у меня все еще есть проблемы с пониманием некоторых вещей об их ролях. Не могли бы вы сказать мне, какие из этих модулей будут работать в качестве ведомых при использовании ПК в качестве ведущего? Я думаю, что идея центрального и периферийного устройства лучше подходит для BT. Я просто хочу отправлять команды с моего ПК с помощью BT (например, с ключом BT).
HC-05 можно использовать в качестве ведущего или ведомого устройства. Это ваш выбор
Какой модуль дает мне максимальное число нет. возможных соединений одновременно?
Подумайте о покупке модуля HC-05.
Я хочу отправить данные с контроллера заряда MPPT на ноутбук через порт связи.
Возможно ли это или должен ли этот модуль быть запрограммирован для этого.
могу ли я использовать HC-05 для подключения моего телефона Android к arduino uno
Здравствуйте, я просто хочу отправить данные на свой телефон, который будет находиться не более чем в 2 метрах от моей Arduino. данные будут представлять собой значение времени и описание, которое будет отправляться не более 10 раз в минуту. Это достижимо? Если да, можете ли вы порекомендовать подходящий модуль? Заранее спасибо.
Я заметил, что некоторые из этих модулей продаются с номером VIN 3,6–6 В. Могу ли я безопасно подать 3,5 В на VIN?
Что такое регулятор напряжения на HM-10?
привет
этот модуль, может работать под водой? на каком расстоянии можно получать и передавать данные?
Здравствуйте,
Нет, он не может работать под водой
Привет, я хотел бы соединить 1 ведущее устройство с 3 ведомыми устройствами на расстоянии не менее 50 м на открытой площадке. Будет использоваться Arduino Uno, поэтому какой модуль подходит для этого проекта
Привет всем здесь
Мне нужно закончить проект, и мне нужна хорошая Arduino с Bluetooth для проекта
Вы используете свой модуль в помещении или на улице?
Вы используете модуль HC-05 внутри или снаружи?
Я использую его только в помещении
Какой модуль Bluetooth можно использовать для подключения наушников и программировать с помощью Arduino
Могу ли я отправлять аналоговые данные «от» модуля hc06 «на» мой смартфон?
Возможна ли также отправка аналоговых данных «с» моей Arduino на мой смартфон с помощью модуля hc06?
Привет! я ищу Bluetooth 5.0 с Arduino.
Привет, я хочу использовать модуль Bluetooth, который может обнаруживать как BLE, так и обычный Bluetooth, который обычно доступен в телефонах Android. какой модуль я должен купить, чтобы служить моей цели? я хочу, чтобы радиус действия был достаточно мал для человека, находящегося в квартире и общающегося только находясь на одном этаже.
Привет, HC-06 или HC-05. Оба в порядке из того, что вам нужно.
Почему вы игнорируете AT-09!? ?Разве он не делает свою работу идеально?
Есть ли BLE 5–5.1 модули или платы для arduino уже есть?
нашли?
Я хочу отправлять и получать данные с устройств Android и на них (лучше, если это может быть и ios) с помощью arduino. Меня не волнует диапазон, но я хочу взять очень мало энергии. Я хочу отправлять/принимать очень маленькие пакеты данных. Никаких медиа, просто несколько файлов json, например… что мне купить? спасибо
Отзыв был очень полезным.
Здравствуйте,
Есть ли плата Bluetooth, к которой можно подключить несколько ведомых устройств?
Здравствуйте, Дэвид,
Спасибо за ваш комментарий. Насколько я знаю, не существует Bluetooth-платы, к которой можно было бы подключить несколько ведомых устройств одновременно. Вы можете попробовать xBee или NRF24L01.
Отличное резюме! Что бы вы порекомендовали для этого проекта? Простой ИК-передатчик для включения/выключения и регулировки громкости стерео. Arduino будет всего в 10 футах от стерео, но я хочу управлять им через BT со своего смартфона. Сигнал должен пройти через первый этаж в подвал. По прямой, расстояние составляет всего около 15 футов, но неизвестно, сколько пол вынесет из него.
Спасибо!
Привет, спасибо за отзыв.
Я собрал слуховой аппарат без какого-либо микроконтроллера, теперь я хочу добавить в свой слуховой аппарат модуль Bluetooth, чтобы он мог связываться с моим телефоном. спасибо
Читайте также: