Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лекция 56 Ардуино и Bluetooth

Поиск

Цели лекции:                                       

1. Изучение модуля Bluetooth HC-05.

2. Режимы работы модуля.

 

 

Bluetooth (с англ. - "голубой зуб") - одна из технологий беспроводной передачи данных. Спецификация была разработана в 1998 году компанией Ericsson, а позд­нее оформлена группой Bluetooth Special Interest Group (SIG), официально зареги­стрированной 20 мая 1999 года.

Bluetooth позволяет объединять в локальные сети любую технику: от мобильного телефона и компьютера до холодильника. При этом, одним из немаловажных пара­метров новой технологии является низкая стоимость устройства связи (в пределах 20 долларов), его небольшие размеры (ведь речь идет о мобильных устройствах) и, что немаловажно — совместимость, простота встраивания в различные устройства.

Модуль Bluetooth HC-05

 

Модуль Bluetooth HC05 представляет собой плату размером 2,7х1,4 см, имеющую 34 вывода с ша­гом 1,5 мм, расположенных по периметру платы, как показано на рисунке 56.1. На плате смонтирован чип BC417 от компании Cambridge Silicon Radio, который обеспечивает аппарат­ную поддержку стека Bluetooth 2.0+EDR (Enhaced Data Rate), а также флеш-память ES29LV800DB-70WGI от Excel Semiconductor на 8 Мбит (1 Мбайт), хранящая про­шивку и настройки. Напряжение питания модуля: 3,3 В. Потребляемый ток: 50 мА.


Модуль может работать в трех режимах:

- Master (или сервер) — в этом режиме модуль может сам подключиться к како­му-нибудь Bluetooth-устройству;

- Slave — в этом режиме другой мастер может подключиться к нашему модулю;

- Slave-loop — здесь модуль отправляет обратно все байты, которые ему при­слали.

 

 

Рисунок 56.1

 

Электрическая схема подключения модуля Bluetooth HC05 к Arduino приведена на рисунке 56.2. Программируется модуль с помощью AT-команд через UART-интерфейс модуля. Чтобы перевести модуль в режим программирования, необходимо подать на вывод 34 логическую 1 (3,3 В). Затем подключиться к UART Bluetooth-модуля: выводы 2 (Rx) и 1 (Tx) — и передавать команды на модуль.

 

Рисунок 56.2-Подключение модуля Bluetooth HC05 к Arduino


 

Подключится к Arduino по UART, который эмулируется программно (для этого под­ключить библиотеку SoftwareSerial). Этим освобождается последователный порт Arduino, что дает возможность одновременного считывания данных через кабель и через Bluetooth-модуль.

Контакт Rx Bluetooth-модуля под­ключается к контакту Tx Arduino, а контакт Tx Bluetooth-модуля — к контакту Rx Arduino.

 

Загружается в Arduino скетч:

 

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // указываем пины rx и tx соответственно

void setup()

{

pinMode(2,INPUT); pinMode(3,OUTPUT);

Serial.begin(38400); mySerial.begin(38400);

Serial.println("38400");

Serial.println("okM);

}

void loop()

{

if (mySerial.available())

{

int c = mySerial.read(); // читаем из software-порта Serial.write(c); // пишем в hardware-порт

}

if (Serial.available())

{

int c = Serial.read(); // читаем из hardware-порта mySerial.write(c); // пишем в software-порт

}

}

Открываем монитор последовательного порта и начинаем отправлять отправку ко­манд в Bluetooth-модуль. Все команды имеют вид at+команда, at+команда? или AT+К0МАНДА=ПАРАМЕТРЫ и должны оканчиваться комбинацией CR+LF (символы с кода­ми 0x0D и 0x0A, V и ’\n’). На каждую команду Bluetooth-модуль шлет ответ.

Список основных AT-команд:

 at — тестовая команда.

Параметров нет.

Ответ модуля: OK

 at+version? — получить версию прошивки модуля.

Параметров нет.

Ответ модуля: +VERSION: <Param>

OK

где <Param> — версия прошивки Bluetooth-модуля.

 at+reset — сброс настроек.

Параметров нет.

Ответ модуля: ok

 at+orgl — установка пользовательских настроек модуля.

Параметров нет.

Ответ модуля: ok

 at+addr? — получить адрес модуля.

Параметров нет.

Ответ модуля: +ADDR:<Param>

где <Param> — адрес Bluetooth-модуля NAP: UAP: LAP.

 at+name? — получить имя модуля.

Параметров нет.

Ответ модуля: +NAME:<Param> где <Param> — имя Bluetooth-модуля.

 AT+NAME=<Param> установить новое имя модуля.

Параметр: <Param> — имя Bluetooth-модуля.

Ответ модуля: +NAME:<Param>

OK (или fail)

 at+pswd? — получить пин-код доступа к Bluetooth-модулю.

Параметров нет.

Ответ модуля: +PSWD:<Param>

где <Param> — пин-код. По умолчанию 1234.

 AT+PSWD=<Param> — установить код доступа к Bluetooth-модулю.

Параметр: <Param> — код доступа к модулю.

Ответ модуля: ok (или fail).

 AT+CLASS=<Param> — установить режим работы модуля Bluetooth-модуля.

Параметр: <Param> — класс. В документации модуля не приведены возможные значения данного параметра. По умолчанию он установлен в 0. Если предпола­гается использовать модуль в режиме master, значение не надо изменять. Если использовать модуль в режиме slave, при значении параметра, равном 0, он не­видим для устройств с операционной системой Android. Для видимости необхо­димо установить значение параметра равным 7936.

Ответ модуля: ok

 at+class? — получить класс модуля.

Параметров нет.

Ответ модуля: +CLASS:<Param> где <Param> — класс модуля.

 at+iac — получить код доступа к запросу GIAC (General Inquire Access Code).

Различным физическим каналам связи, используемым в процессе установления соединения, соответствуют различные коды доступа к каналам. В каналах опро­са, за исключением выделенных, используется одинаковый для всех устройств общий код доступа к запросу.

Параметров нет.

Ответ модуля: +IAC:<Param>

где <Param> — код доступа к запросу.

 AT+iAC=<Param> — установить код доступа к запросу.

Параметр: <Param> — код доступа к запросу. Значение по умолчанию 9e8b33. Ответ модуля: ok (или fail).

 at+role? — получить режим работы модуля.

Параметров нет.

Ответ модуля: +ROLE:<Param>

где <Param> — режим работы модуля Bluetooth-модуля:

 0 — slave. В этом режиме другой мастер может подключиться к модулю;

 1 — master. В этом режиме модуль может сам подключиться к какому-нибудь Bluetooth-устройству;

 2 — slave-loop. Модуль отправляет обратно все байты, которые ему прислали.

 AT+ROLE=<Param> — установить режим работы Bluetooth-модуля.

Параметр: <Param> — режим работы Bluetooth-модуля:

 0 — slave;

 1 — master;

 2 — slave-loop.

Ответ модуля: ok

 AT+UART=<Param1>, <Param2>,<Param3> установить модуль для последовательно­го порта.

Параметры:

 <Param1> — скорость обмена (9600,19200,38400,57600,115200);

 <Param2> — стоп-бит: п 0 — нет;

п 1 — есть;

 <Param3> — бит паритета: п 0 — нет;

п 1 — есть.

Ответ модуля: ok (или fail).

 at+uart? — получить параметры обмена модуля.

Параметров нет.

Ответ модуля: +UART:<Param1>,<Param2>,<Param3> где:

 <Param1> — скорость обмена (9600,19200,38400,57600,115200);

 <Param2> — стоп-бит;

 <Param3> — бит паритета.

AT+CMODE=<Param> — установить режим подключения Bluetooth-модуля.

Параметр: <Param> — режим подключения Bluetooth-модуля:

 0 — модуль может подключаться только к определенному командой at+bind Bluetooth-устройству;

 1 — модуль может подключаться к любому Bluetooth-устройству;

 2 — режим slave-loop.

Ответ модуля: ok

 at+cmode? — получить режим подключения модуля.

Параметров нет.

Ответ модуля: +CMODE:<Param>

где <Param> — режим подключения Bluetooth-модуля:

 0 — модуль может подключаться только к определенному командой at+bind Bluetooth-устройству;

 1 — модуль может подключаться к любому Bluetooth-устройству;

 2 — режим slave-loop.

 AT+INQM=<Param1>, <Param2>,<Param3> установить параметры для запроса поис­ка Bluetooth-устройств.

Параметры:

 <Param1>:

п 0 — стандартный режим запроса; п 1 — запрос в режиме RSSI;

 <Param2> — максимальное количество устройств, отвечающих на запрос;

 <Param3> — тайм-аут ожидания (1-48: от 1,28 до 61,44 сек).

Ответ модуля: ok (или fail).

 at+inqm? — получить параметры для запроса поиска Bluetooth-устройств. Параметров нет.

Ответ модуля: +UART:<Param1>,<Param2>,<Param3>

 at+inq — запуск поиска Bluetooth-устройств.

Параметров нет.

Ответ модуля — список найденных устройств.

 AT+BiND=<Param> — привязать Bluetooth-модуль к другому модулю.

Параметр: <Param> — адрес авторизованного Bluetooth-модуля.

Ответ модуля: ok (или fail).

 at+bind? — получить адрес устройства, привязанного к Bluetooth-модулю. Параметров нет.

Ответ модуля: <Param> — адрес устройства, привязанного к Bluetooth-модулю.

 AT+FSAD=<Param> — поиск авторизированного Bluetooth-устройства.

Параметр: <Param> — адрес авторизованного Bluetooth-модуля.

Ответ модуля: ok (или fail).

 AT+RMSAD=<Param> — удалить устройство из списка авторизированных для наше­го Bluetooth-модуля.

Параметр: <Param> — адрес авторизованного Bluetooth-модуля.

Ответ модуля: ok (или fail).

 at+rmaad — очистить список авторизированных устройств для нашего Bluetooth- модуля.

Параметр: <Param> — адрес авторизованного Bluetooth-модуля.

Ответ модуля: ok (или fail).

 AT+LiNK=<Param> — соединиться с Bluetooth-устройством.

Параметр: <Param> — адрес Bluetooth-устройства.

Ответ модуля: ok (или fail).

Полный список AT-команд можно найти в файле datasheets/BluetoothHC05.pdf сопро­вождающего книгу электронного архива.

 

Контрольные вопросы:

1. Объяснить работу модуля Bluetooth HC-05.

2. Какие существуют режимы работы модуля Bluetooth HC-05?

3. Как подключить модуль Bluetooth HC-05 к Arduino?

 

 


Основные сокращения

АЛУ - арифметико-логическое устройство
АЦП - аналого-цифровой преобразователь
БИС - большая интегральная схема
ВУ - внешнее устройство
ГТИ - генератор тактовых импульсов
ЗУ - запоминающее устройство
КОП - код операции
МК - микроконтроллер
МП - микропроцессор
МПК - микропроцессорный комплект
МПС - микропроцессорная система
МЦ - машинный цикл
ОЗУ - оперативное запоминающее устройство
ОМК - однокристальный микроконтроллер
ОП - оперативная память
ОУ - операционное устройство
ПЗУ - постоянное запоминающее устройство
РгК - регистр команд
РгФл - регистр флагов
СДК - схема десятичной коррекции
УСО - устройства связи с объектом
УУ - устройство управления
ЦАП - цифро-аналоговый преобразователь
ША - шина адреса
ШД - шина данных
ШИМ - широтно-импульсная модуляция
ШУ - шина управления

 



Поделиться:


Последнее изменение этой страницы: 2021-02-07; просмотров: 455; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.76.163 (0.01 с.)