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