Bluetooth модуль HC-07
Bluetooth используется на многих современных устройствах. Технология получила широкое применение. Хотя ей много лет, только недавно появились Bluetooth модули действительно по разумной цене. Китайские производители выпустили целую серию Bluetooth-модулей: HC-03, HC-04, HC-05, HC-06, HC-07, HC-08, HC-09. К сожалению, документация на них не всегда соответствует действительности (китайские производители частенько этим грешат). Мне достался HC-07. Я расскажу об особенностях его применения.
Bluetooth модуля
В большинстве своем Bluetooth модуля выполнены в виде платы и имеют интерфейс UART. Т.е. их можно легко использовать совместно с микроконтроллером. Прошивка для микроконтроллера ничем не отличается от описанной в статье "Подключаем микроконтроллер к компьютеру. Com-порт (RS-232), USB". Подключиться к микроконтроллеру через Bluetooth модуль можно с помощью обычного персонального компьютера, ноутбука с Bluetooth или смартфона. Bluetooth модули бывают трех типов:- серверные - к которым подключаются. Нам нужен именно такой.
- клиентские - которые будут подключаться к Bluetooth.
- универсальные - объединяют в себе обе функции.
Подключение модуля
Мы рассмотрим модуль HC-07 (скачать документацию). Подключить его к микроконтроллеру не составит труда. При питании микроконтроллера напряжением 3.3 В. Выходы TX(1), RX(2) Bluetooth модуля подключаются к RX, TX выводам микроконтроллера напрямую без каких либо схем согласования сигналов. На вывод 12 подается питание 3.3 В. На вывод 13 - общий (земля). Вывод LED (24) служит для индикации состояния модуля. К нему через резистор 470 ОМ на землю подключается светодиод. Вывод KEY(26) в HC-07 не используется. Хотя фигурирует во всех документациях. Он использовался в ранних версиях для переключения модуля в режим AT команд. В данной версии модуля (HC-07), команды воспринимаются со стороны UART до тех пор, пока к Bluetooth модулю не подключилось ни одно радиоустройство.AT команды
Описание AT команд можно найти в документации hc-05-at_command_set.pdf. Я приведу только наиболее часто используемые команды:1. Тест модуля. команда: AT ответ: OK
2. Установка скорости обмена по последовательному порту. команда: AT+BAUD8; где 8 - скорость передачи 115200 ответ: OK1200
скорость передачи
1 1200 2 2400 3 4800 4 9600 5 19200 6 38400 7 57600 8 115200 9 230400 A 460800 B 921600 C 1382400
по умолчанию установлена скорость 9600.
пример настройки на скорость 2400 AT+BAUD2 ответ OK2400
3. Изменение имени Bluetooth команда: AT+NAMEname ответ: OKname Имя Bluetooth - 20 символов или менее. Пример: AT+NAMETest ответ: OKTest
4. Изменение пароля Bluetooth команда: AT+PINxxxx ответ: OKsetpin
пример: AT+PIN8888 ответ: OKsetpin
Заводской пароль 1234. Реже 0000
Отличительные особенности модуля HC-07
Неожиданным и до сих пор не понятным сюрпризом столо то, что в HC-07 ввод команд не завершается привычным символом перевода строки и/или возврата каретки. Конец ввода команды определяется паузой в секунду. Я поясню. Вы отправляете в модуль команду, например AT+NAMETest и ждете 1 секунду пока он ее "проглотит". После чего посылаете следующую, и опять ждете 1 секунду. Зачем так сделано - понять не могу. Если вы отправите две подряд команды без задержки, то они будут восприняты неверно. Например:AT+NAMETest AT+BAUD8
Отправка этих команд без ожидания ответа может привести к тому, что будет воспринята только первая команда, при этом не удивляйтесь, если в результате будет задано имя Bluetooth TestAT+BAUD8.
AT команды используются только для настройки модуля. Bluetooth модуль сохраняет все настройки во внутренней памяти, и после отключения и включения питания работает с теми настройками, которые в него внесли. Поэтому, если вы подключились к Bluetooth модулю на скорости 9600 и изменили ему скорость работы на 115200, то в последующем Вам придется подключаться на скорости 115200.
Atmega + HC-07 + Android
Я взял свой старый проект USB-Altimeter и вместо микросхемы USB интерфейса прикрутил к нему Bluetooth модуль, снабдив устройство аккумулятором и зарядным от USB. После того, как схема собрана, микроконтроллер отправляет информацию. Неплохо бы её увидеть. У меня стояла задача реализовать связь микроконтроллера с мобильным устройством, поэтому расскажу как это сделать, имея смартфон с Android. Потребуется программа Bluetooth - терминал. Я использую SENA BTerm. Установка программы через Play Market не составит труда. Смотреть на скучные цифры было не интересно, поэтому была написана программа для смартфона с графическим интерфейсом. Но в этой статье мы не будем рассматривать написание программ под Android.
Удачи!
Tags
pmsm mongodb bme280 bmp280 exti nodemcu timer ssd1331 dma sms meteo max1674 foc stm32 i2c eeprom adc usart git java-script programmator ssd1306 watchdog nvic html flask raspberry-pi st-link mpu-9250 remap examples rs-232 hih-4000 css rtc bkp bluetooth bldc motor esp8266 mpu-6050 encoder capture soldering ngnix wifi usb flash rfid displays tim battery avr smd websocket 3d-printer barometer books lcd python servo eb-500 atmega web pwm piezo mpx4115a uart dht11 solar gps options dc-dc ethernet brushless docker sensors gpio led
Архіви





