Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лекция 56 Ардуино и Bluetooth↑ ⇐ ПредыдущаяСтр 96 из 96 Содержание книги
Поиск на нашем сайте
Цели лекции: 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) — и передавать команды на модуль.
Подключится к 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 с.) |