Статьи

Модуль Bluetooth RS232 (Wireless Bluetooth RS232 TTL Transceiver Module)

Мініатюрний модуль дозволяє підключитися до телефонів, PDA, надолонниками, смартфонам, ноутбуків, до будь-яких пристроїв, що мають на борту модуль Bluetooth в режимі master, і передавати дані через стандартний RS-232.

Модуль HC-04 (так коротко він називається в даташіте) живиться від 3.3 вольт, забезпечений малогабаритної антеною, має TTL сигнали прийому і передачі RXD і TXD стандартного RS-232, а також вихід на світлодіод, що відображає статус радіоканалу.

Процедура підключення виглядає наступним чином: відразу після включення живлення модуль відповідає на нехитрий набір AT-команд (див. Далі). Налаштування порту за замовчуванням 9600 бод, 8 біт даних, 1 стоп-біт, без біта парності (швидкість можна змінювати AT-командою в широких межах). При відсутності зв'язку по радіоканалу індикаційний світлодіод часто блимає. Після того, як master Bluetooth встановив з'єднання, світлодіод переходить на постійне світіння, модуль перестає відповідати на AT-команди, і починає просто передавати дані. Утворюється наступний канал зв'язку:

Утворюється наступний канал зв'язку:

Таким чином, можна по радіоканалу Bluetooth передавати дані на стандартний UART, наявний в більшості вбудованих систем (цей порт є майже у всіх мікроконтролерах, або легко організовується програмно). На стороні master-пристрої BlueTooth (телефон, PDA, ноутбук з Linux або Windows і ін.) З'являється віртуальний COM-порт, з яким можна легко працювати програмно.

Модуль побудований на чіпі BC417143B-IQN-E4 (BlueCore4-External device) компанії CSR (Cambridge Silicon Radio), см. [2], і 8-мегабітних чипі FLASH-пам'яті ES29LV800DB, в якому записано firmware BC417143B.

[Технічні параметри модуля HC-04]

- використовувані радіочастоти 2.40 .. 2.48 ГГц, діапазон ISM (реєстрація та ліцензування частот не потрібно), рівень потужності Class2 (+6 dBm), чутливість приймача -85 dBm.
- протокол BlueTooth V2.0.
- можливі швидкості передачі даних 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1382400 бод. Швидкість може бути обрана користувачем за допомогою AT-команд, за замовчуванням швидкість 9600 бод, 8 біт даних, 1 стоп-біт, без біта парності
- напруга живлення 3.3 вольт, струм споживання 35 мА в режимі пошуку радіосоедіненія, і близько 8 мА, коли радіоканал встановлений і функціонує, ток в режимі сну <1 br = ""> - робочий температурний діапазон -40 .. +105 oC.
- розміри 28 x 15 x 2.35 мм.

[Система AT-команд модуля HC-04]

Модуль відповідає на команди AT, коли радіоканал не встановлено.

AT перевірка RS-232 (у відповідь на цю команду модуль видає OK).
AT + BAUDx установка швидкості, де x шістнадцяткове число від 1 до C (1 вiдповiдає 1200 бод, C відповідає 1382400 бод), подробиці див. В даташіте (пакет [3]). Змінена настройка швидкості зберігається при виключенні живлення.
AT + NAMEname Змініть назву пристрою (в нашому прикладі linvor) на інше ім'я name.
AT + PINpppp зміна пароля (PIN-коду), де pppp новий пароль. Пароль за замовчуванням 1 234.

[Тестування модуля HC-04]

1. Потрібно підключити світлодіод і подати 3.3 вольта на модуль. Виходить наступна проста схема:

2. Після подачі живлення світлодіод на модулі починає швидко блимати, сигналізуючи про готовність до підключення радіоканалу. Як master BlueTooth я використовував телефон HTC TOUCH pro2 T7373 (Windows Mobile 6.1 Professional, OS CE 5.2.21048). Щоб встановить канал зв'язку, потрібно спочатку через меню налаштувань включити бездротове з'єднання Bluetooth.

3. Після того, як інтерфейс BlueTooth включений, потрібно запустити пошук нових пристроїв Bluetooth через Меню -> Додати пристрій .... Після пошуку телефон виявить новий пристрій Bluetooth linvor, це і є наш радіомодуль. Для з'єднання з пристроєм клацніть на ім'я linvor, з'явиться запит пароля. В якості пароля (PIN-код) потрібно ввести 1234. Після успішного підключення буде запропоновано вибрати ім'я COM-порту, з яким буде пов'язано Bluetooth-підключення (наприклад COM2).

4. Щоб з'єднатися з пристроєм, потрібно вибрати його в списку і клацнути на написі "З'єднати". Як тільки з'єднання встановлено, світлодіод на модулі HC-04 переключиться на постійне світіння, і через COM2 дозволяє надсилати й отримувати дані.

5. Для перевірки передачі даних я використовував putty (на телефоні putty Windows Mobile, см. [4], а на комп'ютері putty для Windows XP, див. [5]). До TTL-сигналів порту RS-232 модуля я підключив мікроконтролер Atmel AVR AT90USB162MU (встановлений на макетної платі AVR-USB162MU). При такому підключенні харчування +3.3 вольта подається на модуль Bluetooth від внутрішнього стабілізатора напруги мікроконтролера AT90USB162MU (перемичка SJ1 повинна стояти в положенні 2-3).

Передачу даних я контролював через віртуальний COM-порт USB CDC, скомпільований з прикладів бібліотеки LUFA. Вийшла така тестова ланцюжок:

На жаль, зв'язок між двома модулями HC-04 не підтримується, зв'язок можливий тільки з master-пристроєм Bluetooth (будь-який телефон, смартфон, наладонник або ноутбук, у якого є інтерфейс Bluetooth). Однак є можливість написати для модуля HC-04 своє firmware з будь-яким функціоналом, в тому числі і з підтримкою режиму master Bluetooth (див. [2] і [8]).

Резюме: радіомодуль Bluetooth HC-04 дуже зручний для швидкої і недорогий реалізації двосторонньої бездротового зв'язку з різними embedded-системами - різними датчиками, роботами, побутовими приладами. Модуль стоїть на dealextreme.com всього лише 7.2 долара (безкоштовна доставка free shipping), його можна легко замовити по передоплаті через PayPal або карткою VISA, MasterCard, отримаєте прямо на пошті. Мої модулі я отримав через 22 дні після замовлення.

[Программатор для HC-04]

Компанія CSR пропонує досить дорогі програматори, найпростіший і дешевий з них коштує близько $ 300 (USB SPI Converter, Product ID: DEV-SYS-1808-1A), і його в Росії ніде не купити. На щастя, можна зібрати самому досить простий програматор, що підключається через порт LPT комп'ютера. Цей же програматор дозволяє робити повноцінну налагодження по вихідного коду програми і по дизасемблювати коду, переглядати значення регістрів процесора і осередків пам'яті.

Цей же програматор дозволяє робити повноцінну налагодження по вихідного коду програми і по дизасемблювати коду, переглядати значення регістрів процесора і осередків пам'яті

Зовнішній вигляд зібраного програматора:

Зовнішній вигляд зібраного програматора:

З программатором працюють GUI-програми PSTool і BlueFlash, які дозволяють завантажувати дані налаштувань і firmware з чіпа FLASH, а також прати і перезаписувати настройки і firmware. Утиліти PSTool і BlueFlash знаходяться в пакеті за посиланням [8]. Крім того, цей LPT-флешер працює як повноцінний апаратний відладчик в середовищі розробки xIDE фірми CSR (знаходиться в тому ж пакеті).

Програма PSTool дозволяє зчитувати, зберігати, редагувати, зливати разом (merge), записувати в пам'ять FLASH чіпа настройки модуля і настройки firmware. Налаштування зберігаються у вигляді текстового файлу з розширенням * .psr. Зовнішній вигляд інтерфейсу програми PSTool:

Для збереження всієї FLASH-пам'яті цілком і для її перезапису служить програма BlueFlash.

[Посилання]

1. Wireless Bluetooth RS232 TTL Transceiver Module site: dx.com.
2. BlueCore4-Ext ™ site: csr.com - загальний опис BlueCore4-External device на сайті компанії CSR.
3. Документація на модуль (опис модуля, AT-команди, даташит на чіп BC417143B) .
4. PocketPuTTY download site: pocketputty.net - Putty для Windows Mobile.
5. PuTTY Download Page site: chiark.greenend.org.uk - putty для Windows XP і інших платформ.
6. Як купувати на dealextreme site: dealextreme.spb.ru.
7. LUFA - безкоштовна бібліотека USB для мікроконтролерів Atmel AVR .
8. 180318CSR_CASIRA_BLUELAB_SDK_v4.1.zip - CSR CASIRA BLUELAB SDK v4.1, пароль на архів casira (пароль встановлений тому, що інакше Deposit видаляє файл). Тут є все необхідне для розробки і налагодження firmware для HC-04 (документація, середовище розробки xIDE3, приклади коду, бібліотеки, утиліти для прошивки і бекапу пам'яті).
9. Дампи налаштувань (.psr) і firmware HC-04 (.xdv і .xpv) , Зроблені програмами PSTool і BlueFlash.

Новости