Особая благодарность на этой неделе Александре Конопек, моей коллеге за ее советы и поддержку на этой неделе. Спасибо за подсказки на этой неделе Флориану Паппроту, нашему инструктору, и спасибо Марселю за то, что он одолжил мне свои устройства Bluetooth на этой неделе.
Связь устройств Bluetooth
На этой неделе нам нужно было спроектировать и построить коммуникационную сеть как минимум между двумя процессорами. Так как я хотел построить беспроводную сеть для моего последнего проекта помощника по проветриванию, на этой неделе я также протестировал беспроводные устройства. Сначала я протестировал устройства с частотой 433 МГц, а затем управлял устройством Bluetooth с низким энергопотреблением и сначала управлял им с помощью приложения для Android.
Главной особенностью является соединение master-slave. Существует также I2C в качестве проводной сети и WiFi, радио и Bluetooth в качестве беспроводной сети.
Модуль HC-08 BLE Bluetooth 4.0 CC2541 и приложение Serial Bluetooth для Android
Здесь вы можете увидеть 6-контактный беспроводной модуль HC-08 BLE Bluetooth 4.0 CC2541 (для Arduino Android IOS), продаваемый Magi Deal.
Кабель FTDI очень важен для последовательного соединения из-за TXD (передача) и RXD (прием).
Кабель FTDI
Разводка контактов кабеля FTDI Изображение: Подключение BLE HC-08 с помощью Fritzing
Я хочу управлять одним красным светодиодом с помощью своего мобильного телефона (мастер). Для связи Bluetooth между моим мобильным телефоном Android и платой ATmega328p (Slave) я использовал следующий код Arduino IDE.
Ниже показан проводной ATmega328p с модулем Bluetooth BLE 4.0 HC-08 и светодиодом.
Подготовка мобильного телефона к BL-связи (приложение – Bluetooth):
- Установка последовательного приложения Bluetooth (ссылку на Google Play Store см. ниже в разделе "Загрузки") - активация Bluetooth на мобильном телефоне - сканирование других сигналов Bluetooth или устройств - включение устройства BL через подключение к ATmega 328p - выбор устройства и подключение его к мобильному телефону - использование приложения для включения или выключения светодиода. Для этого я просто набрал "1" в командном окне кнопки "М1". Мгновенно загорелся светодиод. Наоборот, я сделал с «0», чтобы выключить.
Видео: Связь между мобильным телефоном Andriod и процессором ATmega 328p с использованием модуля Bluetooth LE HC-08 CC2541 и приложения Serial Bluetooth.
Два модуля связи HC-05 BLE Bluetooth 4.0
Я планировал использовать модуль Bluetooth для связи между двумя процессорами, и мне нужно было изменить некоторые настройки модулей или установить адрес подключения. Поскольку программирование модуля Bluetooth LE HC-08 CC2541 из-за отсутствия кнопки «Сброс» было невозможно, я приобрел еще два устройства Bluetooth. В любом случае можно было запросить адрес и версию программного обеспечения этого модуля.
В отличие от HC-06, модуль HC-05 может использоваться не только как ведомый, но и как ведущий и, таким образом, может независимо подключаться к одному модулю HC-06, другому HC -05 модуль в ведомом режиме или одно подключение другого устройства с профилем SPP. Плата адаптера также оснащена красной светодиодной кнопкой и преобразователем напряжения, так что модуль может работать на 3,6 В. 6В.
Новые устройства (BLE HC-05) было просто программировать в AT-режиме. Режим АТ был доступен с помощью кнопки «Reset», которую нужно было нажать при подключении VCC (+5V) к модулю HC-05. После этого можно произвести некоторые настройки в Serial Monitor Arduino IDE. См. изображения ниже.
<р>1. Откройте новый скетч в Arduino IDE 2. Загрузите на свою доску пустой скетч, который вы используете для программирования модуля BLE. 3. После загрузки соедините контакт RXD модуля Bluetooth с контактом RXD и TXD с TX вашей платы. В противном случае вы получите сообщение об ошибке. 4. Откройте IDE Serial Monitor и введите AT в командном окне.Вы должны получить ответ «ОК». Если нет, попробуйте еще раз или измените скорость передачи данных. 5. В командной строке вы можете запрашивать и настраивать различные параметры модуля Bluetooth:
– Имя: AT+NAME? - Скорость передачи данных: AT+UART? - Режим (ведомый или ведущий): AT+ROLE? - Возможное подключение(к одному или любому модулю): AT+CODE? - Адрес: AT+ADDR? - Есть ли уже подключение к другому модулю: AT+BIND? Настройка главного модуля:
- Установить имя (при необходимости): AT+NAME= ****** - Установить скорость передачи данных (при необходимости): AT+UART=****** - Установить режим для ведущего модуля сначала: AT+ROLE=1 - Установить подключение только к одному определенному ведомому модулю: AT+CODE=0 (или, если вам нужно более одного ведомого, напишите «1» вместо «0») < br />- Установить подключение к ведомому модулю: AT+BIND=****,**,****** (вместо двоеточия поставить запятые), как показано ниже
Настройка подчиненного модуля:
- Установить имя (при необходимости): AT+NAME= ****** - Установить скорость передачи данных (при необходимости): AT+UART=****** - Установить режим для подчиненного модуля сначала: AT+ROLE=0 - Установить соединение только с одним определенным ведущим модулем: AT+CODE=0 - Установить соединение с ведущим модулем: AT+BIND=****,* *,****** (вместо двоеточий нужно ставить запятые), как показано ниже
<р>6. Теперь вы должны переключить соединение между RXD и TXD и соединить RXD модуля Bluetooth с TX вашей платы. Контакт TXD модуля Bluetooth, который вы теперь должны подключить к RX вашей платы. 7. Начало общения:
- отсоедините контакты VCC (+5V) обоих модулей и снова подключите их - теперь красные светодиоды состояния обоих модулей начнут быстро мигать - через несколько секунд модули соединятся и загорятся красные светодиоды начать мигать синхронно 8. Теперь вы можете загрузить соответствующие скетчи для каждого MCU, который хотите подключить.
Здесь вы можете увидеть, как я сделал разводку плат и модулей Bluetooth с помощью приложения Fritzing. На основной плате я использую простую кнопку с зеленым светодиодом для запуска события. На ведомом MCU я использовал только один красный светодиод для отображения состояния соединения.
На следующем рисунке показаны схемы Arduino, используемые для каждого процессора (главного и подчиненного), а также последовательный монитор Arduino IDE, где можно увидеть несколько выходов ведущего модуля. Левый эскиз предназначен для главного MCU, а правый — для подчиненного MCU.
Ниже вы можете увидеть проводку с моей платой FabKit и одной платой Arduino, так как моя вторая плата пока не работает.
В следующем ролике показана связь между двумя платами с каждым из модулей HC-05 BLE 4.0.
Это видеоруководство было очень полезно для меня, чтобы понять и протестировать соединение Bluetooth.
Загрузки
Монтажные платы и модули Bluetooth
скачать
Эскиз мастер-платы связи Bluetooth
< td> загрузить
Sketch для ведомой платы связи Bluetooth
загрузить
приложение Serial Bluettoth в Google Воспроизвести
загрузить
Скетч Arduino IDE для связи Bluetooth с помощью приложения Serial Bluetooth для мобильного телефона
загрузить
таблица>
РЧ-устройства с частотой 433 МГц
Некоторые другие испытания с радиочастотными устройствами (433 МГц) прошли с использованием Arduino UNO, но моя плата пока не сработала. Проблема заключалась в том, что обозначение пинов в библиотеке модулей запрограммировано в соответствии с обозначением пинов на плате ардуино. Я попытался изменить эти настройки в библиотеке Radiohead, но это не сработало.
В руководствах рекомендуется использовать антенну для модулей кабины для улучшения связи. Но узнаю, что на коротких дистанциях работает без антенн.
Для простого тестирования этих модулей я использовал эскиз следующего руководства:
Групповое назначение
Эта работа находится под лицензией Creative Commons Attribution 4.0 International License.
Введение: Модуль связи HC-08 Bluetooth UART версии 2.4. Руководство пользователя
Введение продукта
Bluetooth-модем — минимальный сквозной модуль HC08 — это модуль передачи данных нового поколения, основанный на протоколе Bluetooth Specification V4.0 BLE. Его рабочая полоса частот беспроводной связи составляет 2,4 ГГц ISM с методом модуляции GFSK. Максимальная мощность передачи составляет 4 дБм. Его приемная чувствительность составляет -93 dBm. В широкой открытой среде он может достигать 80 м сверхдальней связи с iphone4s. Он имеет встроенные отверстия для упаковки штампов и отверстия для сварки штифтов. Вы можете как монтировать пакет, так и приваривать штифты. Очень удобно встраиваться в систему приложений. Благодаря встроенному светодиодному индикатору вы можете визуально увидеть состояние подключения Bluetooth. Этот модуль использует ядро CC2540F256, настроенное на 256 КБ. Он поддерживает AT-команды. Пользователи могут изменять роли (режим ведущий/ведомый), а также такие параметры, как скорость передачи данных и имя устройства, в соответствии со своими требованиями. Он очень гибкий в использовании.
Шаг 1. Размер товара
Модуль HC-08 имеет 30 контактов на плате. Конкретные определения булавок перечислены в следующей таблице:
Шаг 2. Закрепите
Определение
Ввод/вывод
Объяснить
Выход UART, уровень TTL 3,3 В
ввод, слабое подтягивание
Вход UART, уровень TTL 3,3 В
ввод, слабое подтягивание
ввод, слабая тяга вниз
Ввод, слабая тяга вниз
Контакт сброса модуля, низкий уровень сброса не менее 10 мс
Контакт питания, требования к источнику питания 3,3 В постоянного тока,
ток питания не менее 100мА
Контакт управления светодиодом (Примечание 3)
ввод, слабая тяга вниз
ввод, слабая тяга вниз
ввод, слабая тяга вниз
Очистить память главного модуля (Примечание 2)
ввод, слабая тяга вниз
ввод, слабое подтягивание
ввод, слабое подтягивание
ввод, слабое подтягивание
ввод, слабая тяга вниз
ввод, слабое подтягивание
Контакт питания, требования к источнику питания 3,3 В постоянного тока,
ток питания не менее 100мА
ввод, слабое подтягивание
Вход UART, уровень TTL 3,3 В
Выход UART, уровень TTL 3,3 В
Шаг 3. Примечание 1:
PIO13 указывает выходной контакт светодиода, выход высокого уровня. Пожалуйста, подключите светодиод с сопротивлением параллельно.
Если ведущий модуль не записывает адрес подчиненного модуля, он будет светиться 100 мс в секунду;
Когда главный модуль записывает адрес подчиненного модуля, он загорается на 900 мс в секунду;
В ведомом модуле светодиод загорается на 1 секунду каждые 2 секунды.
После подключения: светодиодные индикаторы горят всегда.
Примечание 2:
Входной контакт, внутренний раскрывающийся список. Этот контакт подключен к высокому электрическому уровню. Главный модуль используется для очистки записанного адреса ведомого модуля.
Примечание 3:
Входной контакт используется для управления светодиодом. Если этот контакт заземлен, светодиод выключен. Если этот контакт остается висящим, светодиод горит.
Шаг 4. Электрические характеристики:
не подключен/подключен
MODE0, не подключено / подключение
MODE1, не подключен/подключен
MODE2, не подключено / подключение
MODE3, не подключено / подключение
Шаг 5. Ручная AT-команда
AT-команда используется для установки параметра модуля. Перед подключением модуль может работать по AT-команде. После подключения он переходит в режим прозрачной передачи через последовательный порт.
Время запуска этого модуля составляет около 150 мс. Поэтому лучше использовать AT-команду после включения в течение 200 мс. Если не указано иное, настройка параметра AT-команды вступает в силу немедленно. В то же время изменения параметров и функций не будут потеряны после отключения питания.
После успешного изменения AT-команды она всегда возвращается в состояние OK (за исключением команд проверки информации, таких как "AT+RX, AT+VERSION"). Никакого успеха не достигнуто, он не вернется к какой-либо информации.
⑴ Список AT-команд
AT-команда
Функция
По умолчанию
Роль
(параметр "x" )
Проверьте основные параметры
Восстановить заводские настройки
Сбросить модуль
Проверить версию и дату
Изменить главную/подчиненную роль
Измените мощность радиочастоты
Изменение скорости UART
Установить рабочий режим
Изменить данные трансляции
Цикл вещания в режиме 3
Главный модуль для очистки
адрес ведомого модуля
были записаны.
<р>1. Команда AT без новой строки; если нет специальных инструкций, все AT-команды не передаются с использованием новой строки.
<р>2. Последние 4 старшие команды, которые должны использоваться в комбинации, могут сыграть свою роль BLE Bluetooth low energy. При использовании Bluetooth с низким энергопотреблением в следующих разделах будут представлены специальные инструкции и программа.
Шаг 6. Объяснение команды
1.Тестовая команда
Просмотрите основные параметры, такие как имя Bluetooth, роль ведущего/ведомого, скорость передачи данных UART, адрес и пароль.
Имя:HC-08 -------->>>> имя Bluetooth
Роль:Подчиненный -------->>>> главная/подчиненная роль
Бод:9600,НЕТ -------->>>> Скорость передачи UART
Addr:xx,xx,xx,xx,xx,xx -------->>>> адрес bluetooth
PIN: 000000 -------->>>> пароль Bluetooth
Примечание. Смена пароля временно не поддерживается!
Модуль автоматически перезапустится, выполните новую операцию при перезапуске через 200 мс!
Модуль автоматически перезапустится, выполните новую операцию через 200 мс после перезапуска!
команда:AT+ROLE=? X:роль(M или S),
М:мастер; С: раб. Значение по умолчанию — S (подчиненный).
Установите главную роль, модуль автоматически перезапустится!
Вы можете просмотреть роль главного модуля.
Установить команду: AT+ NAME=xxxxxxxxxxxx
Команда запроса: AT+ NAME=?
Имя по умолчанию — HC-08, вы можете установить другое имя (Действительно в пределах 12 символов, поддерживает визуализированный код ASCII и часть escape-символа. Модуль поддерживает китайский язык, но устройства Android должны быть преобразованы в «код UTF8» для нормального отображения.Более 12 символов, будут прочитаны только первые 12 символов.). Настройка завершена, вступает в силу после автоматического сброса модуля!
8.Изменить адрес
Адрес должен состоять из 12-битных символов верхнего регистра "0~F", а именно шестнадцатеричных символов.
Настройка завершена, вступает в силу после автоматического сброса модуля!
Отправьте модуль "000000000", чтобы восстановить аппаратный адрес по умолчанию. По умолчанию для модуля используется аппаратный адрес.
9. Проверьте мощность радиочастоты
X:ВЧ-мощность, как показано в следующей таблице:
Параметр
ВЧ-мощность
Просмотр текущей мощности RF
ВЧ-мощность изменена на -6 дБм.
ВЧ-мощность составляет -6 дБм.
Когда пиковый ток превышает 30 мА (при РЧ-мощности 4 дБм) и ток батарейки-таблетки мал (менее 20 мА), если мы хотим заряжать батарейку-таблетку, лучше установить мощность РЧ на -6 дБм или -23 дБм.
10. Измените скорость передачи данных UART
AT+BAUD=x (изменена только скорость передачи UART)
AT+BAUD=x,y (изменение скорости передачи данных UART и бита четности)
x: скорость передачи UART, y: бит четности, как показано в следующей таблице:
Скорость UART: x
Параметр
бит четности :y
Просмотр текущей скорости передачи
Скорость передачи UART изменена на 19200 бит/с.
Скорость передачи UART изменена на 4800 бит/с и даже с контролем четности.
Просмотр скорости передачи данных UART и бита четности.
Во время прозрачной передачи главного и подчиненного модулей каждый пакет со скоростью передачи данных 9600 бит/с не должен превышать максимальное количество 500 байтов. Что касается каждого пакета со скоростью передачи выше 19200 бит/с, обратитесь к следующей таблице. Между пакетами данных должен быть определенный временной интервал. В следующей таблице представлены различные скорости передачи данных, справочное значение для временного интервала:
Интервал времени 500 байт (мс)
Интервал времени 300 байт (мс)
Интервал времени 100 байт (мс)
Интервал времени 80 байт (мс)
Интервал времени 60 байт (мс)
Интервал времени 20 байт (мс)
<р>1. Выше приведены измеренные данные. Теоретическая максимальная суммарная скорость приемопередатчика: 2500 байт/сек, скорость регулируется в пределах 2000 байт/сек.
<р>2. Байты каждого пакета должны быть целым числом, кратным 20.
<р>3. Модуль автоматически отправляет субконтракту данные в виде целого числа, кратного 20 байтам.Он используется для отправки 100-байтового пакета и принимает множество пакетов на другом конце. Каждый пакет данных представляет собой целое число, кратное 20 байтам. Общее количество байтов равно 100.
Функции параметра X следующие:
Можно подключить, соединение
Можно подключить, соединение
после ввода обычного прозрачного
после ввода обычного прозрачного
Модуль не может быть подключен
Не связано с главной ролью,
к другому оборудованию, но автоматически
но может сочетаться с низким энергопотреблением
Матически сканировать HC-08 с
режим 3, реализация трансляции
пакет широковещательной передачи данных,
фиксированное время обновления 2 секунды.
Настройка завершена, вступает в силу после автоматического сброса модуля!
Пожалуйста, введите команду "AT+MODE", "AT+AVDA" и "AT+TIME" с использованием команды.
<р>1. Ведущий/ведомый модуль "CONT=1" в основном используется для передачи широковещательных данных. Отправляя широковещательные данные с ведомого модуля, ведущий модуль получит соответствующие данные через последовательный выход.
<р>2. Эта модель предназначена для того, чтобы пользователь мог получить этот пакет широковещательных данных только сам. Конкретный протокол связи здесь не описывается. Если вы хотите узнать, посетите следующий официальный веб-сайт для консультации:
Шаг 7. 12. Установите рабочий режим (только подчиненный модуль)
Получает текущий режим.
Режим полной мощности (по умолчанию), светодиод горит.
Режим энергосбережения уровня 1, индикатор горит.
Без подключения ток 340 мкА, подключение
скорость как у mode0.
Режим энергосбережения уровня 2 , индикатор горит.
Без связи ток 0,4 мкА.
Не найден, не подключен для пробуждения
до, после пробуждения можно подключить.
Режим энергосбережения уровня 3 , индикатор горит.
Нет соединения, ток составляет 1,2 мкА~160 мкА (около
32 мкА по умолчанию) .
В сочетании с " AT+TIME" для установки трансляции
время, чтобы снизить энергопотребление.
Об использовании конкретных методов см.
А. Используется для снижения энергопотребления.
Б. Ведомый модуль отправляет широковещательные данные ведущему модулю, может обеспечить одностороннюю связь от одного ко многим (теоретически это может быть от ведомого модуля к бесконечному ведущему модулю).
С. В качестве будильника, карты учета рабочего времени, пульсометра или другого беспроводного устройства.
<р>2. Режимы 1/2/3 доступны через порт UART для отправки 1 байта данных для пробуждения, но несколько первых байтов данных могут быть искажены после пробуждения. Поэтому мы рекомендуем отправлять 10-байтовый шестнадцатеричный код «0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF» для пробуждения модуля во избежание искажения нескольких передних байтов данных. С тех пор модули работают в полноскоростном режиме, порт UART может нормально отправлять и принимать данные.
В неподключенном состоянии модуль после пробуждения переходит в режим полной скорости, который сохраняется в течение 5 минут, а затем возвращается в исходный режим. До тех пор, пока 5 минут в UART не будут получены данные, затем повторная синхронизация.
Если модуль находится в подключенном состоянии, то после пробуждения он останется в режиме полной скорости. Перед подключением модуль вернется в исходный режим питания.
<р>3. В дополнение к режиму 0, другой режим — закрытие светодиода. Но после подключения загорится светодиод.
Просмотреть текущий режим.
Режим настройки 2, вступает в силу немедленно.
Параметр "xxxxxxxxxxxx" может быть любыми пользовательскими данными размером от 1 до 12 байт. Если в этот момент
состояние главного модуля AT+CONT=1, тогда порт UART главного модуля будет выводить данные «xxxxxxxxxxxx». Данные трансляции не будут сохраняться постоянно. Он будет удален после перезапуска.
Отправка подчиненной роли: AT+AVDA=1234567890AB
Если в этот момент состояние главного модуля AT+CONT=1, порт UART выдаст: 12345 67890AB.
14. Цикл вещания в режиме 3 (только ведомое устройство)
Диапазон значений параметра x следующий:
Настройка режима3 цикла трансляции на 60 секунд. Каждые 60 секунд отправлять широковещательные данные.
Решение для режима пониженного энергопотребления (подчиненный модуль):
<р>1. Необходимость просыпаться по беспроводной сети:
Введите «AT+MODE=1» или «AT+MODE=3», модуль перейдет в режим пониженного энергопотребления, пока главный модуль не запросит соединение. После подключения ток 1,6мА. Модуль обмена данными автоматически перейдет в режим полной скорости перед подключением, а после подключения вернется в режим пониженного энергопотребления.
<р>2. Можно активировать случай подключения:
Введите "AT+MODE=2", он перейдет в режим низкого энергопотребления2. Модуль вошел в состояние глубокого сна. Он не может быть обнаружен мастер-модулем. При подключении вы можете отправлять произвольные данные для пробуждения модуля, а затем он может отправлять и получать данные после подключения.
Решение режима вещания с низким энергопотреблением:
Первая заданная главная роль: AT+CONT=1 -> AT+ROLE=M
Затем установите подчиненную роль: AT+CONT=1 -> AT+AVDA=1234 (<12 байт данных)
MCU пользователя отправляет 10-байтовый шестнадцатеричный код «0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF» на модуль порта UART, чтобы пробудить модуль на полную мощность. режим. На данный момент пользователи могут разумно установить в соответствии со своими потребностями. Вышеуказанные «AT+CONT=1, AT+AVDA=xxxx, AT+MODE=3, AT+TIME=5» установлены на: «трансляция и невозможность подключения». Данные вещания: XXXX, режим 3 (период 5 секунд). Согласно вышеизложенному, средний ток менее 4 мкА, ВРЕМЯ будет более 1 минуты. Чем больше это время, тем ниже энергопотребление.
Пользователь хочет часто передавать данные, предлагается войти в режим 2 в простое, необходимо передать данные, чтобы переключиться в соответствующий режим.
15. Ведущий модуль для очистки адреса ведомого модуля был записан (только ведущий)
Установить команду: AT+CLEAR
Команда запроса: OK
Главный модуль, после соединения с ведомым модулем, запомнит MAC-адрес ведомого модуля в последний раз. Если вы хотите подключить его к другому ведомому модулю, вы должны удалить текущую память. Первый способ — перевести 18-й контакт модуля на высокий электрический уровень 200 мс, второй — использовать команду «AT+CLEAR».
В этой статье мы покажем, как подключить модуль Bluetooth HC-08 к плате Arduino Uno. Этот модуль совместим с Apple iOS и также используется с iPhone в этом обзоре. Разумеется, модуль также совместим с Android. Пример кода для Arduino может переключать встроенный светодиод (контакт 13) двумя командами.
Как подключить HC-08
Модуль работает с напряжением 5 вольт, а это значит, что источник питания на 5 вольт можно взять напрямую от Arduino. В дополнение к двум линиям питания необходимы еще две линии передачи данных. Передача данных осуществляется через последовательное соединение со скоростью 9600 бод на контактах 11 и 12. По умолчанию можно использовать контакты 1 и 2. Но мы также хотим видеть вывод на входе SerialMonitor. Поэтому мы получаем доступ к соединению SoftwareSerial на контактах 10 и 11. Модуль поставляется предварительно сконфигурированным, и его больше не нужно настраивать.
Сопряжение HC-08 с iOS и Android
Модуль очень легко подключить, и он совместим со всеми новыми устройствами, поддерживающими стандарт BLE. Для первого подключения производитель рекомендует приложение LightBlue. Если вы хотите подключить свой Android-смартфон, вы можете загрузить BLE Scanner из Google Play Store. Тогда вам нужно другое приложение, которое может отправлять команды модулю. Он работает как последовательный монитор Arduino IDE. Однако соединение здесь осуществляется не через COM-порт, а через Bluetooth.
HC-05, HC-06 и HC-08
Вы также можете использовать два других модуля Bluetooth с Arduino. Остальные модули, к сожалению, несовместимы с Apple, но дешевле. С помощью HC-05 можно относительно легко изменить имя Bluetooth, а также настроить пароль. Однако модули HC-05 и HC-08 могут работать только в подчиненном режиме. Так что если вы хотите активно строить соединение от модуля к другому устройству, вы можете переключиться только на HC-06. Вы можете заказать модули от 5 до 20 евро
Пример кода Arduino
Пример кода может выполнять полученные команды.Кроме того, когда команда выполняется, Arduino отправляет ответ через Bluetooth. Есть две команды, которые могут переключать встроенный светодиод на контакте 13.
led_on: Эта команда включает светодиод. led_off: Эта команда выключает светодиод.
Код преобразует полученные данные в строку. Затем строку можно сравнить с запросом IF и инициировать соответствующие действия. Кроме того, все полученные команды также отображаются в Serial Monitor на вашем ПК.
Очень хорошей беспроводной локальной (и личной) сетью, несомненно, является Bluetooth (BT). Сегодня в нашей повседневной жизни часто можно встретить нас с сотовыми телефонами, музыкальными центрами, фотоаппаратами и т. д., соединенными между собой с помощью знаменитого «голубого огонька».
В мире Интернета вещей и автоматизации в целом очень часто можно найти дистанционное управление через мобильные телефоны с использованием технологии BT. Это связано с двумя основными компонентами, но очень важными:
Простые платформы разработки для приложений ANDROID (например, MIT AppInventor2) и
Доступные модули BT (например, HC-06)
В этом уроке я разработаю некоторые идеи по управлению выходами Arduino через мобильное устройство, чтобы перемещать робота, включать лампы в доме и т. д.
Шаг 1. Модуль Bluetooth и Arduino
На рынке очень часто можно встретить модули BT 3.0 «Master-Slave» в виде HC-05 и «Slave» в виде HC-06. Совсем недавно появились HC-08 и HC-10, работающие с технологией BT 4.0 или BLE ("Bluetooth Low Energy"). Модули BLE — единственные, которые можно подключить к iPhone, поскольку, к сожалению, Apple не обеспечивает поддержку BT 3.0.
Для обсуждаемых здесь проектов я буду использовать HC-06, который очень популярен и дешев (пока, пока, Iphone! Андроиды здесь короли!). Модуль BT питается от 5 В, что позволяет легко подключить его, например, к Arduino UNO. Его выводы передачи (Tx) и приема (Rx) могут быть подключены напрямую к UNO без необходимости использования делителей напряжения, как мы видим в случае с ESP8266. Обычно HC-06 следует подключать напрямую к контактам 0 и 1 Arduino («Serial 0»):
HC06-Tx к контакту 0 Arduino (Rx)
HC06-Rx к контакту 1 Arduino (Tx)
При использовании входов «Serial 0» (единственный последовательный порт HW в UNO) очень важно помнить, что HC-06 не может быть физически подключен к контактам 0 и 1 во время загрузки программы, потому что порт USB также используйте тот же серийный номер. Простой способ обойти эту небольшую проблему (если в вашем проекте не используется много GPIO UNO) — использовать «последовательный порт SW» через библиотеку SoftwareSerial. В нашем случае мы будем использовать контакты 10 и 11 UNO (Tx, Rx соответственно).
Шаг 2. Тестирование и настройка HC-06
Следующим шагом будет написание простого кода для тестирования, программирования и инициализации HC-O6:
Для начала включите серийный номер библиотечного программного обеспечения, задав для переменной "BT" новый последовательный порт.
Затем следует основная часть кода, которая просто ожидает данных, поступающих от BT. По прибытии данные записываются в Serial Monitor. Точно так же AT-команды могут быть отправлены с последовательного монитора на модуль HC-06.
После того как программа загружена, с помощью монитора Serial выполните некоторые базовые тесты, например:
Отправьте «AT», модуль должен ответить «ОК».
Запросить версию прошивки: «AT + VERSION», модуль должен ответить, например: «linvorV1.8».
С помощью HC-06 вы можете определить имя модуля, например: «The T + NAMEMJRoBot_BT_HC06». Но в отличие от других модулей, вы не можете знать, какое имя установлено для модуля. При отправке предыдущей команды HC-06 просто отвечает: «OKsetname».
Как правило, HC-O6 стандартно поставляется с паролем (или PIN-кодом): 1234. Вы можете установить новый с помощью AT-команды: