Контакти

Hc 06 rf бездротової bluetooth. Що таке bluetooth-модуль? Опис помилок видаються модулем

Хотіли б ви організувати бездротове включення / вимикання світла в будинку? Якщо так, то для подібного проекту можна використовувати Arduino, bluetooth модуль HC-06, реле і знання основ схемотехніки.

У цій статті ми розглянемо основи взаємодії bluetooth модуля HC-06 з Arduino. Розглянемо приклади передачі і прийому даних через блютуз на прикладі включення / вимикання світлодіода.

Для реалізації більш серйозних автоматизованих систем на кшталт "розумного будинку", ці основи будуть як не можна до речі.

Почати працювати з HC-06 досить просто. Все, що вам треба знати - розташування контактів для підключення. На HC-06 шість контактів: wakeup, VCC, GND, TXD, RXD і State. На етапі, використовуємо 4 контакту: VCC, GND, TXD і RXD.


Нижче показано як саме підключається Bluetooth модуль до Arduino.


HC-06 виступає в ролі послідовного порту, через який ви передаєте і приймаєте дані. Тобто, використовуючи вікно серійного монітора в Arduino IDE або Bluetooth додаток на вашому комп'ютері або телефоні, ви можете контролювати і керувати вашим проектом. Наприклад, в якості терміналу можна використовувати Teraterm. Перед завантаженням скетчу на Arduino, вимкніть модуль HC-06. Так як модуль виробляє обмін даними за допомогою контактів tx / rx, завантажити скетч не вийде. Після завантаження скетчу можете підключати bluetooth модуль.

Echo скетч для Arduino і HC-06

Даний скетч дає вам можливість відсилати рядок на Arduino через bluetooth і отримувати відповідь, який відображається в серійному моніторі.

Примітка. Якщо ви використовуєте Arduino Mega, змініть рядок коду while (Serial.available ()); на while (Serial.available ()\u003e 0) ;. В іншому випадку, скетч НЕ буде відпрацьовувати.

LED скетч для Arduino і HC-06

Ця програма дає можливість вмикати / вимикати світлодіод, відправляючи команди на Arduino через Bluetooth.

Взаємодія HC-06 з комп'ютером

На відео нижче показано як підключити HC-06 до персонального комп'ютера йди другм пристрою з підтримкою bluetooth.

Примітка. На відео завантажено, що програма, яку ви використовуєте в якості серійного монітора (Teraterm в даному конкретному випадку), підключається до INCOMING (входить) com порту. Це не правильно. Треба використовувати OUTGOING (вихідний) com порт.

Після підключення HC-06, відкрийте Teraterm або інший відповідний термінал. Виберіть серійний порт, який відповідає за обмін даними з HC-06 (більш детальні пояснення з цього приводу є на відео).

Після успішного підключення HC-06, можете відправляти дані на Arduino і назад. Якщо ви завантажили другий скетч, ви зможете вмикати / вимикати світлодіод, відправляючи символи "n" і "f" відповідно.

приклад Echo

приклад LED

Сфера застосування HC-06 по суті безмежна. Ви можете керувати будь-якими роботизованими системами та процесами. Сподіваємося, що наведені основи роботи з bluetooth модулем HC-06 будуть вам корисні в проектах на Arduino.

Залишайте Ваші коментарі, щодо вашого особистим досвідом нижче. У дискусії часто народжуються нові ідеї і проекти!

Шукаєте простий спосіб бездротового дистанційного керування вашим пристроєм з допомогою bluetooth? Скористайтеся bluetooth-модулем HC-06.

З боку керованого пристрою, такого як Arduino, цей модуль виглядає як звичайний послідовний інтерфейс. Тому ви можете налагодити все спілкування з пристроєм на комп'ютері, а потім просто підключити цей bluetooth-модуль, і все запрацює як треба.

З HC-06 ви можете управляти роботом прямо зі свого смартфона. Поставивши на телефон або планшет одну з численних програм для керування через bluetooth, ви можете перетворите його в справжній просунутий джойстик, і ваш робот зможе слухняно повертати слідом за поворотом смартфона. Точно так само можна зв'язатися зі своїм пристроєм з ноутбука, або з будь-якого іншого приладу, який може підключатися до bluetooth-пристроїв.

Сфера застосування цього модуля не вичерпується управлінням. Його можна використовувати і для пересилання показань різноманітних сенсорів.

робоча напруга цього bluetooth-модуля - 3,3 В, але його входи толерантні до 5 В, тому він сумісний з усіма платами Arduino.

підключення

Контакти модуля можна з'єднати з макетної платою або Arduino проводами «мама-тато». А з Troyka Shield через дроти «мама-мама».

Підключення стандартне для пристроїв, що підключаються по послідовному інтерфейсу:

  • Контакт RX модуля підключається до контакту TX цільового пристрою
  • Контакт TX модуля підключається до контакту RX цільового пристрою

налаштування

Всі настройки за замовчуванням можуть бути змінені за допомогою АТ-команд.

Bluetooth-модуль HC-06 може виступати тільки в slave-режимі. Це означає, що він не може самостійно підключатися до інших Bluetooth-пристроїв.

Комплектація

У комплект не входять дроти. Для підключення до керуючої електроніці використовуйте макетні дроти з роз'ємами «мама» на стороні модуля або

Всім привіт!

Є модифікація модуля HC-05 з 6ногамі, (State, RX, TX, GND, VCC, EN), дуже популярна зараз на Аліекспресс, так ось, для неї не потрібно припаювати проводок на 34пін (KEY) і подавати туди 3.3В, щоб включити роботу RX-TX на висновках необхідно подати 3.3В. на роз'єм EN а не на key, після цього такий модуль починає працювати як належить починає відповідати на AT команди відправлені з комп'ютера або Ардуіно по пінам. Насилу знайшов цю інформацію в одному описі цього модуля на сторінці товару на аліекспресс.
Коротше все також як з KEY в цій статті, тільки 3.3В. подаємо на EN! (Enter).
Наводжу опис на англ.

First, the module parameters:
1.PCB Dimensions: 37.3mm (length) * 15.5mm (W)
2 Weight :. 3.5g
(3) Input voltage: 3.6V-6V, 7V ban over
4 power anti-reverse, reverse module does not work
5 leads to 6 feet: EN / VCC / GND / RXD / TXD / STATE (Bluetooth status leads to the foot, is not connected to the output low, after connecting output high)
6 with the connection status indicator, LED flash means no Bluetooth connection; LED flashing slowly that enter the AT command mode
7 onboard 3.3V regulator chip, the input voltage DC 3.6V-6V; When unpaired, current of about 30mA (because LED lights flashing, the current state of change); After successful pairing, the current is about 10mA
8 Interface level 3.3V, you can directly connect a variety of microcontroller (/ 51 / AVR / PIC / ARM / MSP430 etc.), 5V microcontroller can also be directly connected. Directly connected to the microcontroller serial port, not through the MAX232 chip!
9 open area effective transmission distance of 10 meters, over 10 meters are possible, but do not guarantee the quality of the connection
10. After successful pairing, can be used as a full-duplex serial port. Do not need to know anything about the Bluetooth protocol, but only supports 8 data bits, 1 stop bit, no parity communication format. This is the most common communication format that does not support other formats!
11 Press the key to give the Bluetooth module is energized to enter AT mode, set parameters and query information
12 can be switched master and slave mode via AT commands
13 modules default baud rate is 9600, the default passkey is 1234, the default name for the HC-05
14 protection with transparent shrink tube
Second, wiring methods:
VCC: positive power supply
GND: power supply is negative
RXD: Receive side, The Bluetooth module receives data sent to the other device; TXD terminal normally connected to the other device to send
TXD: sending end, the Bluetooth module to send data to other devices; RXD terminal normally connected to other devices receiving
EN: Enable, then you need to enter AT mode 3.3V

Для бездротового обміну інформацією, між різними пристроями на невеликих дистанціях, можна використовувати Bluetooth-технологію. Для цих цілей китайської промисловістю випускаються різні Bluetooth-модулі, серед яких широку популярність отримали моделі HC-05 і HC-06. Свого часу на Аліекспресс я придбав HC-06, на якому і буду проводити подальші експерименти, а так само підключати до свого китайському аналогу Arduino.

Безпосередньо сам Bluetooth-модуль. У такому вигляді він може використовуватися в різних пристроях, де упаюється безпосередньо в плату. Модуль має 34 виведення, серед яких: висновки для з'єднання з комп'ютером по UART, передачі звуку по методу PCM (імпульсно кодова модуляція), аналоговий вхід і вихід, контакти для підключення до USB роз'єму, SPI інтерфейс, а також порти загального призначення. Насправді не всі ці висновки доступні до використання, заблокований доступ до висновків передачі звуку (5-8), аналоговим входу і виходу (9, 10), а так само до групи контактів для підключення до USB (15, 20).

HC-06 побудований на чіпі BC417 (BlueCore4-External device), специфікація Bluetooth V2.0. На борту так само є кварц на 26 МГц і флеш-пам'ять на 8 Мб. Харчування здійснюється від 3,3.

Для своїх конструкцій найзручніше використовувати модуль з макетної платою, на якій виведені необхідні контакти для підключень, а так само є стабілізатор напруги, який дозволяє харчуватися від 5 вольт.
При купівлі подібних модулів, можете зіткнутися з різними їх маркуванням. По суті це одне і те ж пристрій, що відрізняється прошивкою, яка визначає режим модуля (master / slave).

Відмінність HC-05 від HC-06 полягає в тому, що HC-05 можна використовувати в якості веденого (master) або провідного (slave). Дані режими задаються за допомогою АТ-команд. Кнопка на платі модуля перемикає його в режим введення АТ-команд. Режим master дає можливість модулю самому виявляти подібний пристрій і організовувати зв'язок з ним. Модуль HC-06 може працювати тільки в одному фіксованому режимі slave.

Так само існують моделі HC-03 і HC-04, але вони випускаються для промислових цілей.

Позначення контактів на платі HC-06.

STATE - перевірка стан модуля. На цьому контакті дублюється сигнал, який відображає вбудований на платі світлодіод. Якщо він дуже швидко блимає, значить модуль знаходиться в активному стані. В режимі встановлення зв'язку ток становить 30-40 мА. Коли модуль встановлює зв'язок з іншими пристроями, світлодіод просто горить. У режимі передачі даних ток становить 8 мА.
RX - отримання даних.
TX - передача даних.
GND - підключається до землі.
+ 5V - харчування +5 Вольт
EN - включення / вимикання модуля. Якщо на цей контакт подати логічну 1 (5 вольт), модуль вимкнеться, якщо подати логічний 0 або не підключати до цього контакту, модуль буде працювати.

За замовчуванням HC-06 має ім'я для інших пристроїв « HC-06», З пін-кодом« 1234 ».

Для зміни цих даних потрібно модуль підключити до комп'ютера і за допомогою програми-терміналу ввести АТ-команди. Це можна зробити за допомогою перехідника USB to COM з TTL рівнями. Для цих цілей підійде адаптер на PL2303HX, CH340G, або інший подібний. На комп'ютері до цього моменту вже повинен бути встановлений драйвер для USB адаптера.

Контакти з'єднуємо таким чином:

HC-06 Перехідник USB to COM
+ 5V + 5V
GND GND
RX TX
TX RX

При підключенні цієї збірки до комп'ютера, червоний світлодіод на платі Bluetooth-модуля почне швидко блимати. Для введення АТ-команд можна скористатися будь-термінальної програмою, я використовую для цієї мети Arduino IDE.

В налаштуваннях вибираємо номер віртуального COM-порту, на якому підключений USB адаптер, в моєму випадку це COM44. Відкриємо вікно « Монітора послідовного порту».

Введемо великими літерами команду « AT», Якщо пристрій вдало підключився, у відповідь має повернеться« ОК». За замовчуванням швидкість обміну даними 9600 бод.

Для перевірки версії прошивки, введемо команду « AT + VERSION», В моєму випадку відповідь повернувся« OKlinvorV1.8».

командою « AT + NAMEyyy», Де ууу - довільний набір символів на латиниці, можемо змінити ім'я, по якому будуть знаходити наш модуль bluetooth-пристрої (за замовчуванням HC-06). У своєму прикладі я ввів « AT + NAMEfox», Відповідь повертається OKsetname.

командою « AT + PINxxxx», Де xxxx- довільний набір цифр, можна змінити пін-код (за замовчуванням 1234). У відповідь повертається « OKsetPIN».

командою « AT + BAUDx», Де x - значення від 1 до 9, можна змінити швидкість в бодах (за замовчуванням 9600).

1 - 1200
2 - 2400
3 - 4800
4 - 9600
5 - 19200
6 - 38400
7 - 57600
8 - 115200
9 - 230400

Припустимо, якщо ведемо команду « AT + BAUD8», Де 8 - швидкість 115200 бод, у відповідь повернеться« OK115200».

Підключення HC-06 до Arduino.

Приклад 1. Заллємо в Arduino скетч, за допомогою якого будемо включати і вимикати світлодіод, розпаяний на 13 піне Arduino, через Bluetooth-модуль.

int data;
int LED \u003d 13;
void setup ()
{
Serial.begin (9600);
pinMode (LED, OUTPUT);
digitalWrite (LED, HIGH);
}
void loop ()
{
if (Serial.available ())
{
data \u003d Serial.read ();
if (data \u003d\u003d "1")
{
digitalWrite (LED, HIGH);
}
if (data \u003d\u003d "0")
{
digitalWrite (LED, LOW);
}
}
}

Якщо у вас немає на платі даного світлодіода, підключіть його до 13 піну за схемою, номінали резисторів можна взяти від 220 Ом до 1кОм.

Знеструмила Arduino і підключимо HC-06. Контакт TX модуля підключаємо до контакту RX Ардуіно (пін 0 на платі UNO), а контакт RX, До контакту TX (Пін 1). Контакти + 5V і GND, Підключаються до відповідним пінам Ардуіно.

Конструкція в зборі. Подавши харчування на Ардуіно, світлодіод на HC-06 повинен швидко блимати.

Управління Arduino через HC-06, за допомогою комп'ютера.

Приклад буду показувати на Windows XP. До комп'ютера повинен бути підключений будь-який USB Bluetooth-адаптер і встановлені на нього драйвера.

У моєму випадку використовувався ось такий адаптер.

При його підключенні до ПК, в треї (біля годинника) з'являється відповідна іконка.

Натискаємо правою кнопкою миші на даній іконці і в контекстному меню вибираємо « Додати пристрій Bluetooth».

Ставимо перемикач « Пристрій встановлено і готове до виявлення»І натискаємо« далі».

У списку знайдених пристроїв відобразиться наш Bluetooth-модуль, з новим ім'ям, яке я поміняв раніше. Вибираємо його і натискаємо « далі».

У наступному вікні вводимо пін-код для підключення до модуля, вибравши пункт « Використовувати ключ доступу з документації:». За замовчуванням це «1234», але я його змінив на «9999». натискаємо « далі».

Bluetooth-модуль успішно зв'язався з комп'ютером, про що можна дізнатися з відповідного вікна. Слід звернути увагу, при утворенні зв'язку між двома Bluetooth-пристроями, на комп'ютері створиться два нових віртуальних COM-порту (будуть відображатися в диспетчері пристроїв), один для вихідних даних, інший для вхідних. Нам знадобиться порт для вихідних даних, в моєму випадку це COM45.

Знову відкриваємо якусь програму-термінал, я скористаюся Arduino IDE. В налаштуваннях вибираємо вихідний порт (у мене COM45), відкриваємо « Монітор послідовного порту», Вводимо змінно команди« 1 »І« 0 ». При команді «1» світлодіод загоряється, при «0» гасне.

Управління Arduino через HC-06 за допомогою смартфона.

Напевно вже всі сучасні смартфони мають в своєму складі вбудований Bluetooth. Залишається тільки встановити програму термінал. У моєму випадку використовувалася Lumia 640 DS, З встановленої Windows mobile 10. Як програма терміналу використовую «». На Android-смартфонах все аналогічно, як програми можна використовувати « Bluetooth Terminal».

Для володарів смартфонів компанії Apple не вийде працювати з Bluetooth-модулями HC-05 і HC-06 (Bluetooth V2.0), для них доведеться використовувати адаптери з технологією BLE ( Bluetooth low energy), специфікація Bluetooth 4.0. Яскравим представником є \u200b\u200bмодуль HM-10.

Сполучаємо HC-06 з блютузом смартфона.

1. В « параметрах»Смартфона вибираємо пункт« пристрої».
2. Далі « Bluetooth і інші пристрої».
3. Включаємо повзунком блютуз смартфона і натискаємо на « плюс в квадраті»Для пошуку і додавання нового Bluetooth-пристрої, в нашому випадку HC-06.

4. У розділі « Додати пристрій»Вибираємо« ».
5. Смартфон зробить пошук Bluetooth-пристроїв знаходяться в окрузі і відобразить їх імена. У моєму прикладі знайдений модуль HC-06, який я перейменував в « fox».

6. Вводимо пін-код пристрою, до якого підключаємося, натискаємо кнопку « підключитися».

Встановлюємо і запускаємо термінальну програму «». Підключений до смартфону модуль HC-06, відображається в списку, вибираємо його.

З'явиться поле для введення команд і кнопка для відправки. Вводимо по черзі « 1 »І« 0 »І спостерігаємо за світлодіодом на 13 піне, який буде запалюватися або гаснути.

приклад 2. Підключимо до Arduino три світлодіода і спробуємо керувати ними через Bluetooth-модуль HC-06.

Світлодіоди підключив до 9, 11 і 13 піну, якщо будите використовувати інші Піни, їх потрібно вказати в скетчі.

int data;
int LED1 \u003d 9;
int LED2 \u003d 11;
int LED3 \u003d 13;
void setup ()
{
Serial.begin (9600);
pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT);
pinMode (LED3, OUTPUT);
digitalWrite (LED1, HIGH);
digitalWrite (LED2, HIGH);
digitalWrite (LED3, HIGH);
}
void loop ()
{
if (Serial.available ())
{
data \u003d Serial.read ();
if (data \u003d\u003d "1")
{
digitalWrite (LED1, HIGH);
}
if (data \u003d\u003d "2")
{
digitalWrite (LED1, LOW);
}
if (data \u003d\u003d "3")
{
digitalWrite (LED2, HIGH);
}
if (data \u003d\u003d "4")
{
digitalWrite (LED2, LOW);
}
if (data \u003d\u003d "5")
{
digitalWrite (LED3, HIGH);
}
if (data \u003d\u003d "6")
{
digitalWrite (LED3, LOW);
}
}
}

При заливці скетчу модуль HC-06 потрібно від'єднати від Ардуіно, тому що і комп'ютер, і блютуз працюють по UART. Ардуіно не може на одному UART працювати з декількома пристроями.

Запускаємо програму-термінал і пробуємо скетч в дії. Сенс управління світлодіодами наступний, є три світлодіода, кожен з яких може бути або включений, або вимкнений. Виходить 6 команд. Команди представляють із себе цифри від 1 до 6 ( 1, 3, 5 - запалити 1, 2 і 3 світлодіоди. 2, 4, 6 - погасити). Цифри можна вводити по одній, або в вигляді комбінацій. наприклад: 145 - запалити перший, погасити 2-й, запалити 3-й.

приклад 3. Підключимо до Arduino реле-модуль зі статті «» і спробуємо керувати потужною навантаженням через Bluetooth. По суті, у нас вийде «розумна розетка». До реле-модулів можна підключати різні навантаження (лампочки, насоси, вентилятори) і керувати ними на відстані.

Скетч за цим прикладом з'явиться найближчим часом.

Bluetooth модуль HC-05 підключається по шині UART і здатний виконувати AT-команди. AT-команда це рядок починається з букв «AT» (від англійського attention - «увага»). Модуль виконує надійшла команду і відправляє назад відповідь (результат виконання команди), який також є рядком. У Bluetooth модулях HC-05 кожна команда (як і відповідь) повинна закінчуватися символами переведення рядка «\\ r \\ n».

підключення:

  • Управляти Bluetooth модулем HC-05 можна або з комп'ютера, або через мікроконтролер, наприклад, Arduino. Висновок RX модуля підключається до висновку TX, а висновок TX модуля підключається до висновку RX того пристрою з якого він буде управлятися.
  • Для підключення модуля до комп'ютера (Без мікроконтролерів) буде потрібно адаптер USB-UART, або адаптер RS232-UART, або програматор з висновками TX RX, замість адаптера USB-UART можна використовувати плату Arduino, як описано в статті. Для відправки команд в модуль буде потрібно встановити програму термінал. Одним з таких терміналів є вільно розповсюджується програма Termite з підтримкою Російської мови.
  • Для підключення модуля до Arduino можна скористатися апаратної або програмної шиною UART. При використанні апаратної шини, модуль підключається до висновків TX і RX зазначеним на платі. При використанні програмної шини, модуль підключається до призначуваних висновків TX і RX Arduino.

Налаштування:

Модуль Bluetooth HC-05 зможе приймати команди тільки якщо правильно налаштовані наступні параметри послідовного порту:

  • номерпорту:Його можна дізнатися експериментально, вимкніть адаптер або Arduino, подивіться які порти доступні. Підключіть адаптер або Arduino і знову подивіться які порти доступні. З'явився порт і є той самий.
  • Швидкість передачі даних:У звичайному режимі, Bluetooth модуль HC-05 зберігає останню встановлену швидкість передачі даних, але за замовчуванням вона дорівнює 38400 біт / сек (рідко 9600 біт / сек). Якщо обидві швидкості не підійдуть, то дивіться примітка в кінці статті.
  • Параметри передачі даних:Модуль зберігає останні встановлені параметри передачі даних. Повернуться до стандартних значень: кількість біт в пакеті - 8, розмір стопового біта \u003d 1, без перевірки парності.
  • Рухаючись текст:Потрібно встановити пункт «додавати символи CR & LF (NL)» це символи перекладу рядка «\\ r \\ n» які Ви не зможете ставити самостійно в кінці AT-команд.

Для настройки цих параметрів в програмі Termite, натисніть на кнопку «Налаштування» (Settings). У тому ж вікні можна встановити Російська мова.

При використанні Arduino, номер порту вказується у вкладці «Інструменти». Параметри передачі даних використовуються за замовчуванням. Для додавання символів NL & CR скористайтеся меню в правому нижньому кутку монітора послідовного порту.

Перевірка:

Після кожного підключення харчування або перезавантаження модуля, до того як відправляти команди, потрібно короткочасно натиснути на кнопку модуля. Якщо у модуля немає кнопки, то короткочасно подати високий рівень на висновок K. Після чого модуль залишиться в звичайному режимі, але буде сприймати AT-команди. Крім звичайного режиму, модуль може працювати в режимі AT-команд. Про те як увійти в цей режим і чим він відрізняється від звичайного, розказано нижче, в розділі примітка.

Для перевірки зв'язку з Bluetooth модулем відправте тестову команду AT(Введіть текст ATі натисніть Enter). Якщо зв'язок встановлено коректно, то модуль відповість OK. Після цього можна відправляти інші AT-команди.

AT-команди:

Якщо в програмі термінал вказано додавати символи CR & LF або NL & CR то символи «\\ r \\ n» в командах ставити не потрібно!
Команди можуть бути звичайними: AT + КОМАНДА \\ r \\ n, запитами: AT + КОМАНДА? \\ R \\ n, або установками: AT + КОМАНДА \u003d ПАРАМЕТР (И) \\ r \\ n.

AT-команда: відповідь: призначення:
AT AT\\ R \\ n OK \\ r \\ n Команда Тест:
Використовується для перевірки зв'язку з модулем.
RESET AT + RESET\\ R \\ n OK \\ r \\ n Команда програмної перезавантаження модуля:
Модуль поводиться так, як після короткочасного відключення живлення.
VERSION AT + VERSION?\\ R \\ n + VERSION: ВЕРСІЯ\\ R \\ n
OK \\ r \\ n
Запит версії прошивки модуля:
Модуль повертає версію у вигляді рядка до 32 байт.
Приклад відповіді: + VERSION: hc01.comV2.1 \\ r \\ n OK \\ r \\ n
AT + ORGL AT + ORGL\\ R \\ n OK \\ r \\ n Скидання налаштувань:
Модуль скидає наступні настройки:
CLASS \u003d 0, IAC \u003d 9e8b33, ROLE \u003d 0, CMODE \u003d 0, UART \u003d 38400,0,0, PSWD \u003d 1234, NAME \u003d hc01.com.
ADDR AT + ADDR?\\ R \\ n + ADDR: АДРЕСА\\ R \\ n
OK \\ r \\ n
Запит адреси модуля:
Модуль повертає три частини своєї адреси NAP: UAP: LAP розділені двокрапкою.
Кожна частина складається з шістнадцяткових цифр.
Приклад відповіді: + ADDR: 1234: 56: 789ABC \\ r \\ n OK \\ r \\ n
NAME AT + NAME?\\ R \\ n + NAME: ІМ'Я\\ R \\ n
OK \\ r \\ n
Запит / установка імені модуля:
Ім'я модуля представлено рядком до 32 байт.
Приклад відповіді: + NAME: iArduino \\ r \\ n OK \\ r \\ n
Приклад установки: AT + NAME \u003d iArduino \\ r \\ n
Деякі модулі реагують на команду AT + NAME? \\ R \\ n тільки при кнопці модуля або наявності високого рівня на вході K.
AT + NAME \u003dІМ'Я \\ r \\ n OK \\ r \\ n
RNAME AT + RNAME? АДРЕСА \\ r \\ n + RNAME: ІМ'Я\\ R \\ n
OK \\ r \\ n
Запит імені знайденого Bluetooth пристрої:
Адреса вводиться після пробілу, а частини адреси (NAP, UAP, LAP) розділені коми. Модуль повертає ім'я знайденого Bluetooth пристрою знаходиться в зоні дії, адреса якого був в запиті.
Приклад запиту: AT + NAME? 1234,56,789ABC \\ r \\ n
Приклад відповіді: + RNAME: iArduino \\ r \\ n OK \\ r \\ n
ROLE AT + ROLE?\\ R \\ n + ROLE: РОЛЬ\\ R \\ n
OK \\ r \\ n
Запит / установка ролі модуля:
Роль модуля представлена \u200b\u200bцифрою:
0 - ведений, 1 - провідний, 2 - ведений в циклі *.
Приклад відповіді: + ROLE: 1 \\ r \\ n
Приклад установки: AT + ROLE \u003d 0 \\ r \\ n
AT + ROLE \u003dРОЛЬ \\ r \\ n OK \\ r \\ n
CLASS AT + CLASS?\\ R \\ n + CLASS: ТИП\\ R \\ n
OK \\ r \\ n
Запит / установка типу пристрою:
Тип пристрою представляється 32 бітовим числом, за яким можна визначити призначення модуля: Bluetooth клавіатура, Bluetooth миша, Гарнітура ...
Приклад установки: AT + CLASS \u003d 0 \\ r \\ n
AT + CLASS \u003dТИП \\ r \\ n OK \\ r \\ n
IAC AT + IAC?\\ R \\ n + IAC: КОД\\ R \\ n OK \\ r \\ n Запит / Установка коду загального доступу GIAC:
Код представлений 32 бітовим числом і використовується для виявлення Bluetooth пристроїв.
У ролі ведучого, по даному коду модуль буде отримувати доступ до інших Bluetooth пристроїв для їх пошуку (опитування), а в ролі веденого по даному коду буде надаватися доступ для опитування модуля іншими провідними.
Приклад відповіді: + IAC: 9e8b33 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + IAC \u003d 9e8b33 \\ r \\ n
AT + IAC \u003dКОД \\ r \\ n OK \\ r \\ n
або
FAIL \\ r \\ n
INQM AT + INQM?\\ R \\ n + INQM: РЕЖИМ,КІЛЬКІСТЬ,ЧАС\\ R \\ n
OK \\ r \\ n
Запит / Установка режиму опитування модулів:
Використовувані параметри є настройками для команди пошуку (опитування) інших Bluetooth пристроїв.
- Режим пошуку представлений цифрою:
0-стандартний, 1-пошук по інтенсивності сигналу.
- Кількість представлено цифрою визначальною гранична кількість знайдених Bluetooth пристроїв, після якого потрібно припинити пошук.
- Час пошуку задає таймаут після якого пошук припиняється. Реальний час пошуку в секундах одно зазначеному числу помноженому на 1,28.
Приклад відповіді: + INQM: 1,1,48 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + INQM: 1,1,48 \\ r \\ n
AT + INQM \u003dРЕЖИМ, КОЛ, ЧАС \\ r \\ n OK \\ r \\ n
або
FAIL \\ r \\ n
PSWD AT + PSWD?\\ R \\ n + PSWD: КОД\\ R \\ n
OK \\ r \\ n
Запит / Установка PIN-коду:
Код доступу представлений рядком до 16 байт.
Код модуля в ролі веденого пристрою є паролем доступу до поточного модулю.
Код модуля в ролі ведучого пристрою є паролем доступу до зовнішніх Bluetooth пристроїв.
Приклад відповіді: + PSWD: +1234 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + PSWD \u003d 1234arduino \\ r \\ n
AT + PSWD \u003dКОД \\ r \\ n OK \\ r \\ n
UART AT + UART?\\ R \\ n + UART: СКОР,СТОП,ПРОВ\\ R \\ n
OK \\ r \\ n
Запит / установка швидкості UART:
Швидкість представлена \u200b\u200bчислом біт / сек
Стоп біт представлений цифрою: 0 - один, 1 - два
Перевірка представлена \u200b\u200bцифрою: 0 - без перевірки,
1 - перевірка непарності, 2 - перевірка парності.
Приклад відповіді: + UART: 38400,0,0 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + UART \u003d 38400,0,0 \\ r \\ n
AT + UART \u003dСКОР, СТОП, ПРОВ \\ r \\ n OK \\ r \\ n
CMODE AT + CMODE?\\ R \\ n + CMOD: РЕЖИМ\\ R \\ n
OK \\ r \\ n
Запит / установка режиму підключення:
Режим представлений цифрою:
0 - модуль в ролі ведучого підключається тільки до того Bluetooth пристрою, адреса якого вказана командою AT + BIND.
1 - модуль в ролі ведучого підключається до будь-якого відомому Bluetooth пристрою.
2 - модуль в ролі веденого працює в циклі *
Приклад відповіді: + CMOD: 0 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + CMOD \u003d 1 \\ r \\ n
AT + CMODE \u003dРЕЖИМ \\ r \\ n OK \\ r \\ n
BIND AT + BIND?\\ R \\ n + BIND: АДРЕСА\\ R \\ n
OK \\ r \\ n
Запит / установка фіксованого адреси:
Якщо модуль знаходиться в ролі ведучого (ROLE \u003d 1) і встановлений режим підключення до фіксованого адресою (CMODE \u003d 0), то він буде підключатися тільки до того Bluetooth пристрою, адреса якого вказана даною командою.
Частини адреси вводяться: при установці - через кому, а при відповіді - через двокрапку.
Приклад відповіді: + BIND: 1 234: 56: 789ABC \\ r \\ n OK \\ r \\ n
Приклад установки: AT + BIND \u003d 0,0,0 \\ r \\ n
AT + BIND \u003dАДРЕСА \\ r \\ n OK \\ r \\ n
POLAR AT + POLAR?\\ R \\ n + POLAR: ЛОГ,ЛОГ\\ R \\ n
OK \\ r \\ n
Запит / установка активного логічного рівня для включення світлодіодів:
Полярність представлена \u200b\u200bцифрою 0 або 1 відповідної активному логічному рівню.
Перший параметр вказує логічний рівень для включення світлодіода підключеного до висновку PIO8 (відображає режим роботи), а другий для світлодіода підключеного до висновку PIO9 (відображає статус з'єднання).
Приклад відповіді: + POLAR: 1,1 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + POLAR \u003d 1,1 \\ r \\ n
AT + POLAR \u003dЛОГ, ЛОГ \\ r \\ n OK \\ r \\ n
PIO AT + PIO \u003dНОМЕР, РІВЕНЬ \\ r \\ n OK \\ r \\ n Установка логічного рівня PIO:
Дозволяє встановити логічний рівень на виводі PIO. Номер висновку представлений числом від 2 до 11, крім 8 і 9. Рівень представлений цифрою 0 або 1.
Приклад установки: AT + PIO \u003d 11,0 \\ r \\ n
MPIO AT + MPIO?\\ R \\ n + MPIO: ЧИСЛО\\ R \\ n
OK \\ r \\ n
Запит / установка логічних рівнів PIO:
Дозволяє дізнатися чи встановити логічні рівні відразу на всіх висновках PIO.
Рівні представлені шістнадцяткові числом, кожний біт якого відповідає рівню виведення PIO.
Приклад відповіді: + MPIO: 1F0 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + MPIO: CFC \\ r \\ n
AT + MPIO \u003dЧИСЛО \\ r \\ n OK \\ r \\ n
IPSCAN AT + IPSCAN?\\ R \\ n + IPSCAN: А,Б,В,Г\\ R \\ n
OK \\ r \\ n
Запит / установка параметрів IP сканування:
А - інтервал сканування
Б - тривалість сканування
В - інтервал сторінок
Г - кількість сторінок
Приклад відповіді: + IPSCAN: 1024,512,1024,512 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + IPSCAN: 1024,512,1024,512 \\ r \\ n
AT + IPSCAN \u003dА, Б, В, Г \\ r \\ n OK \\ r \\ n
SNIFF AT + SNIFF?\\ R \\ n + SNIFF: А,Б,В,Г\\ R \\ n
OK \\ r \\ n
Запит / установка параметрів енергозберігаючого режиму:
А - максимальний час
Б - мінімальний час
В - період повторів
Г - таймаут
Приклад відповіді: + SNIFF: 0,0,0,0 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + SNIFF \u003d 0,0,0,0 \\ r \\ n
AT + SNIFF \u003dА, Б, В, Г \\ r \\ n OK \\ r \\ n
ENSNIFF AT + ENSNIFF \u003dАДРЕСА \\ r \\ n OK \\ r \\ n Вмикати енергозберігаючу заставку:

Приклад команди: AT + ENSNIFF \u003d 1234,56,789ABC \\ r \\ n
EXSNIFF AT + EXSNIFF \u003dАДРЕСА \\ r \\ n OK \\ r \\ n Вихід з режиму очікування:
Частини адреси вводяться через кому (NAP, UAP, LAP)
Приклад команди: AT + EXSNIFF \u003d 1234,56,789ABC \\ r \\ n
SENM AT + SENM?\\ R \\ n + SENM: СЕКРЕТ,ШИФР\\ R \\ n
OK \\ r \\ n
Запит / установка параметрів безпеки:
Режим секретності представлений цифрою:
0 - вимкнено
1 - незахищене з'єднання
2 - захист на сервісному рівні
3 - захист на рівні з'єднання
4 - невідомий режим
Режим шифрування представлений цифрою:
0 - без шифрування
1 - шифрується тільки трафік PTP
2 - шифрується весь трафік
Приклад відповіді: + SENM: 0,0 \\ r \\ n OK \\ r \\ n
Приклад установки: AT + SENM: 0,0 \\ r \\ n
AT + SENM \u003dСЕКРЕТ, ШИФР \\ r \\ n OK \\ r \\ n
PMSAD AT + PMSAD \u003dАДРЕСА \\ r \\ n OK \\ r \\ n Видалення пристрою зі списку пар:
Видалення Bluetooth пристрої зі списку призведе до необхідності заново утворювати пару для підключення до нього.
Частини адреси видаляється пристрою вводиться через кому (NAP, UAP, LAP)
Приклад команди: AT + PMSAD \u003d 1234,56,789ABC \\ r \\ n
RMAAD AT + RMAAD\\ R \\ n OK \\ r \\ n Видалення всіх пристроїв зі списку пар:
очищення даного списку приведе до необхідності заново утворювати пари з Bluetooth пристроями для підключення до них.
FSAD AT + FSAD \u003dАДРЕСА \\ r \\ n OK \\ r \\ n
або
FAIL \\ r \\ n
Пошук пристрою в списку пар:
Якщо Bluetooth пристрій з вказаною адресою є в списку, то модуль поверне OK \\ r \\ n інакше FAIL \\ r \\ n.
Частини адреси вводяться через кому (NAP, UAP, LAP)
Приклад запиту: AT + FSAD \u003d 1234,56,789ABC \\ r \\ n
ADCN AT + ADCN?\\ R \\ n + ADCN: КІЛЬКІСТЬ\\ R \\ n
OK \\ r \\ n
Запит кількості пристроїв в списку пар:
При утворенні пари ведучий-ведений, дані про пару автоматично потрапляють в список пар і для наступних підключень (навіть після відключення живлення) не потрібно повторно встановлювати пару.
Приклад відповіді: + ADCN: 10 \\ r \\ n OK \\ r \\ n
MRAD AT + MRAD?\\ R \\ n + MRAD: АДРЕСА\\ R \\ n
OK \\ r \\ n
Запит адреси пристрою зі списку пар:
Модуль поверне адресу Bluetooth пристрої зі списку пар з яких Ви отримували доступ останнім успішне з'єднання.
Частини адреси виводяться через двокрапку (NAP: UAP: LAP)
Приклад відповіді: + MRAD: 1234: 56: 789ABC \\ r \\ n OK \\ r \\ n
STATE AT + STATE?\\ R \\ n + STATE: СТАТУС\\ R \\ n
OK \\ r \\ n
Запит статусу модуля:
Модуль поверне свій поточний стан у вигляді рядка:
INITIALIZED - ініціалізація
READY - готовий
PAIRABLE - освіту пари
PAIRED - пара утворена
INQUIRING - запит
CONNECTING - підключення
CONNECTED - підключений
DISCONNECTED - від'єднаний
NUKNOW - невідоме стан
Приклад відповіді: + STATE: CONNECTED \\ r \\ n OK \\ r \\ n
INIT AT + INIT\\ R \\ n OK \\ r \\ n
або
FAIL \\ r \\ n
Ініціалізація профілю SPP:
Профіль SPP емулює послідовний порт.
INQ AT + INQ\\ R \\ n + INQ: АДРЕСА, ТИП, СИГНАЛ \\ r \\ n
+ INQ: АДРЕСА, ТИП, СИГНАЛ \\ r \\ n
...
+ INQ: АДРЕСА, ТИП, СИГНАЛ \\ r \\ n
Пошук (опитування) Bluetooth пристроїв:

Модуль шукає Bluetooth пристрою в радіусі дії і виводить кожен знайдений модуль на новому рядку. Режим пошуку (опитування) встановлюється командою AT + INQM, код опитування встановлюється командою AT + IAC, тип шуканих пристроїв вказується командою AT + CLASS. Пошук завершується після досягнення граничної кількості знайдених Bluetooth пристроїв, або після досягнення таймаута, або командою AT + INQC.
Приклад відповіді: + INQ: тисячі двісті тридцять чотири: 56: 789ABС, 240404,7FFF
INQC AT + INQC\\ R \\ n OK \\ r \\ n Завершити пошук (опитування) Bluetooth пристроїв:
Достроково завершує пошук Bluetooth пристроїв ініційований командою AT + INQ
PAIR AT + PAIR \u003dАДРЕСА, таймаут \\ r \\ n OK \\ r \\ n
або
FAIL \\ r \\ n
Створити пару з Bluetooth пристроєм:
Створення пари або сполучення Bluetooth пристроїв ініціюється провідним пристроєм.
Таймаут вказується десятковим числом в секундах.
Якщо пара створена, то інформація про неї автоматично запишеться в список пар, модуль відповість OK \\ r \\ n після чого можна підключити Bluetooth пристрій командою AT + LINK. Якщо пара не створена (наприклад не підійшов PIN-код або закінчився таймаут), то модуль відповість FAIL \\ r \\ n.
Приклад команди: AT + PAIR \u003d 1234,56,789ABC, 10 \\ r \\ n
LINK AT + LINK \u003dАДРЕСА \\ r \\ n OK \\ r \\ n
або
FAIL \\ r \\ n
Підключитися до Bluetooth пристрою:
Після виконання даної команди можна спілкуватися з підключеним Bluetooth пристроєм.
Команда доступна модулю в ролі ведучого.
Приклад команди: AT + LINK \u003d 1234,56,789ABC \\ r \\ n
DISC AT + DISC\\ R \\ n + DISC: РЕЗУЛЬТАТ\\ R \\ n
OK \\ r \\ n
Відключитися від Bluetooth пристрої:
Команда вказує модулю відключитися від Bluetooth пристрою з яким встановлено з'єднання. Після відключення від Bluetooth пристрою інформація про нього зберігається в списку пар. Якщо буде потрібно знову підключитися до цього пристрою, то створення пари буде необов'язково (якщо Bluetooth пристрій навмисно не видалити зі списку пар).
Після виконання команди модуль відповість результатом її виконання:
SUCCESS - успіх
LINK_LOSS - з'єднання втрачено
NO_SLC - відсутня SLC
TIMEOUT - минув час очікування
ERROR - помилка
Приклад відповіді: + DISC: SUCCESS \\ r \\ n OK \\ r \\ n

* Ведений в циклі - це відома роль модуля в якій він відправляє назад все що отримує від ведучого.
** На деякі команди модуль реагує тільки при кнопці модуля або наявності високого рівня на виводі K.

Опис помилок видаються модулем:

Якщо відправити команду, яку модуль не знає, не може виконати, або у команди неправильні аргументи, то модуль поверне рядок «ERROR :( НОМЕР) », Де за вказаною Шістнадцяткова номеру можна визначити, на що« лається »модуль.

№ помилки опис помилки
0 Неправильна AT команда (немає такої команди)
1 Результат за замовчуванням
2 Помилка збереження пароля
3 Занадто довге ім'я пристрою (більше 32 байт)
4 Ім'я пристрою не вказано
5 Частина адреси NAP занадто довга (понад 4 розрядів в шістнадцятковій системі)
6 Частина адреси UAP занадто довга (понад 2 розрядів в шістнадцятковій системі)
7 Частина адреси LAP занадто довга (понад 6 розрядів в шістнадцятковій системі)
8 Чи не вказана маска порту PIO
9 Не вказаний номер виведення PIO
A Не вказаний тип (клас) пристрої
B Занадто довгий тип (клас) пристрої
C Не вказаний загальний код доступу IAC (Inquire Access Code)
D Занадто довгий загальний код доступу IAC (Inquire Access Code)
E Неприпустимий загальний код доступу IAC (Inquire Access Code)
F Не вказаний пароль (або пароль порожній)
10 Занадто довгий пароль (більш 16 байт)
11 Неприпустима роль модуля
12 Неприпустима швидкість передачі даних
13 Неприпустимий розмір стоп-біта
14 Неприпустима настройка біта парності
15 Пристрій відсутній у списку пар (списку сполучених Bluetooth пристроїв)
16 Профіль послідовного порту (SPP, Serial Port Profile) НЕ инициализирован
17 Повторна ініціалізація профілю SPP (SPP, Serial Port Profile)
18 неприпустимий режим опитування Bluetooth пристроїв
19 Занадто великий час опитування
1A Поштова адреса був призначений Bluetooth пристрої
1B Неприпустимий режим безпеки (секретності)
1C Неприпустимий режим шифрування

Примітка:

Якщо натиснути на кнопку або подати високий рівень на вхід K безпосередньо в момент включення модуля (подачі живлення), то модуль перейде в режим AT-команд. В цьому режимі модуль не з'єднається з іншими модулями, але у цього режиму фіксована швидкість \u003d 38400 біт / сек. Якщо під час налаштування, в звичайному режимі роботи модуля, Ви не змогли визначити швидкість модуля, то можна увійти в цей режим і встановити нову швидкість. Знову встановлена \u200b\u200bшвидкість вступить в силу тільки в звичайному режимі, для цього буде потрібно перезавантажити модулів не утримуючи кнопку і не подаючи високий рівень на вхід K в момент включення. Пам'ятайте, що в звичайному режимі, не раніше ніж через пів секунди після подачі живлення (або перезавантаження) потрібно короткочасно натиснути на кнопку або подати короткочасний високий рівень на вхід K модуля, інакше він не буде сприймати AT-команди.

Якщо Ви хочете мати можливість «натискати» на кнопку програмно, але у Вашого модуля немає висновку K, скористайтеся командою AT + PIO \u003d 11, РІВЕНЬ\\ R \\ n , Де рівень представляється цифрою 1 або 0 відповідний встановлюється логічному рівню. ( AT + PIO \u003d 11,0\\ R \\ n - кнопка відпущена , AT + PIO \u003d 11,1\\ R \\ n - кнопку натиснуто).

У деяких модулів є висновок En який управляє харчуванням і підтягнутий до Vcc. Якщо на висновок En подати низький логічний рівень, то відключиться харчування чіпів. даний висновок можна використовувати для програмного входу в режим AT-команд. Якщо відразу після зняття низького рівня з виведення En подати команду AT + PIO \u003d 11,1 \\ r \\ n це буде еквівалентно включенню модуля з натиснутою кнопкою.

Створення веденого очікує підключення провідного:

  • AT + DISC
  • AT + ORGL
  • AT + RMAAD\\ R \\ n - Очистити список пар (авторизованих пристроїв) щоб до модулю не підключився той кого від'єднали.
  • AT + NAME \u003diArduino \\ r \\ n - Встановити ім'я модуля (не більше 32 символів).
  • AT + PSWD \u003d+1234 \\ r \\ n - Встановити PIN-код для підключення до модуля (не більше 16 символів).
  • AT + ROLE \u003d 0\\ R \\ n - Встановити модулю роль веденого (якщо вона не встановилася при скиданні налаштувань).
  • AT + RESET\\ R \\ n - Перезавантажити модуль.

Не раніше ніж через пів секунди після перезавантаження (командою AT + RESET\\ R \\ n) потрібно короткочасно натиснути на кнопку або подати короткочасний високий рівень на вхід K модуля, інакше він не буде сприймати нові AT-команди.

Якщо модуль з провідною роллю підключається до веденим модулів на їх адресу, а не через їх ім'я, то адреса даного (веденого) модуля можна дізнатися за допомогою команди AT + ADDR? \\ R \\ n.

Створення провідного з підключенням до веденого:

  • AT + DISC\\ R \\ n - Розірвати з'єднання (на випадок якщо модуль з'єднаний).
  • AT + ORGL\\ R \\ n - Скинути налаштування в значення за замовчуванням.
  • AT + RMAAD\\ R \\ n - Очистити список пар (авторизованих пристроїв) щоб до модуль не намагався підключився до того від кого від'єднали.
  • AT + BIND \u003dАДРЕСА \\ r \\ n - Встановити фіксований адресу для підключення (вказуємо адресу веденого Bluetooth пристрої)
  • AT + CMODE \u003d 0\\ R \\ n - Вказуємо модулю підключатися тільки до фіксованого адресою
  • AT + ROLE \u003d 1\\ R \\ n - Встановити модулю роль ведучого пристрою
  • AT + PSWD \u003d1 234 \\ r \\ n - Запам'ятати PIN-код веденого Bluetooth пристрої
  • AT + PAIR \u003dАДРЕСА, 10 \\ r \\ n - Утворити пару з відомим Bluetooth пристроєм, вказавши його адресу і таймаут 10 сек
  • .


Сподобалася стаття? поділіться їй