====== Управление Bluetooth модулем HM-10 с помощью AT-команд ======
===== Описание =====
AT-команды - это набор команд, предусмотренных разработчиком, с помощью которых происходит управление устройством. Общение с модулем через AT-команды является самой простым способом связи и проверки работоспособности устройства. При этом с помощью команд можно выполнять над устройством различные действия, такие как смена имени устройства, установка или смена пароля, возврат к заводским настройкам и прочие.

Для того чтобы управлять Bluetooth модулем HM-10 с помощью АТ-команд нам понадобится USB-UART конвертер, например, [[https://smartelements.ru/collection/moduli/product/usb-uart-bridge|USB-UART Bridge (CP2102)]]. Далее выполните следующие действия.

===== Шаг 1. Установите на компьютер программу Termite =====
Программа Termite является одной из самых простых программ управления COM-портами с компьютера. Эта программа является открытой и бесплатной. Вы можете скачать её из интернета, либо воспользоваться ссылкой ниже:
  * [[http://files.smartelements.ru/know_libs/termite_3.4.zip|Программа Termite 3.4]]

Распакуйте архив, и запустите установочный файл. Следуйте инструкциям установщика. Программа устанавливается без особенностей.

===== Шаг 2. Подключите модуль к компьютеру =====
Сначала подключите Bluetooth модуль к USB-UART конвертеру, как показано на схеме ниже.

{{  :main:comm:usb_uart_cp2012_hm-10.png  |}}

Затем USB-UART конвертер подключите к USB входу компьютера. Откройте диспетчер устройств (для Windows 10: Правой кнопкой мыши по значку Windows - Диспетчер устройств):

{{:main:comm:device_manager.jpg|}}

Посмотрите номер COM-порта, который был присвоен устройству.

{{:main:comm:dev_man_com.jpg|}}

В нашем случае это порт **COM3**. Запомните его, он нам нужен будет на следующем шаге.

===== Шаг 3. Настройте программу Termite =====
Запустите программу Termite, и в появившемся окне нажмите кнопку Настройки (Settings).

Если Вам неудобно работать с программой на английском языке, выберите язык интерфейса в настройках:

{{:main:comm:termite_settings_lang.jpg|}}

Перезапустите программу и снова войдите в окно настроек. Далее, выберите порт и установите другие настройки:
  * Порт: установите тот, который был определён у Вас на предыдущем шаге (в нашем случае это СОМ3)
  * Бит в сек: 9600
  * Передаваемый текст: Добавить CR+LF
  * Установите флаг: Локальное эхо

{{:main:comm:termite_settings.jpg|}}

===== Шаг 4. Ввод команд =====
Ну и теперь можно вводить команды. Все команды вводятся на латинице. Базовая команда для проверки: AT. Устройство должно ответить ОК.

Введите в поле ввода команд слово AT (без пробелов и прочих символов) и нажмите кнопку ввода:

{{:main:comm:termite_at_ins.jpg|}}

На что модуль Вам должен ответить: ОК

{{:main:comm:termite_at_ok.jpg|}}

Вот именно таким образом и происходит общение и управление модулем.

===== Шаг 5. Смена имени =====
Давайте попробуем уточнить у модуля его текущее имя, и сменить его. Для запроса у данного модуля команды вводятся без параметров. Для установки значения, командам присваиваются значения этих параметров. 

Например, команда для запроса текущего имени: 
<file>
AT+NAME
</file>

В результате модуль вернёт его текущее имя:
<file>
+NAME=HM-10_SE
</file>

А команда для установки нового имени должна содержать новое имя сразу после команды:
<file>
AT+NAMEMyHM-10
</file>

На что модуль ответит:
<file>
+NAME=MyHM-10
OK
</file>

===== Список AT-команд =====
^ Команда типа "Запрос"  ^ Команда типа "Установка"  ^  Параметры   ^  Описание  ^
|  AT                    |  нет                      |  нет                                                                                                                      |  Базовая команда проверки, возвращает "ОК" в случае успешного выполнения  |
|                        |  AT+DEFAULT               |  нет                                                                                                                      |  Сбрасывает все настройки до заводских                                    |
|  AT+BAUD               |  AT+BAUD<Параметр>        |  8 – 115200\\ 7 – 57600\\ 6 – 38400\\ 5 – 19200\\ 4 – 9600\\ 3 – 4800\\ 2 – 2400\\ 1 – 9600\\ 0 – 9600\\ По умолчанию – 0  |  Получить или установить скорость передачи данных в бодах                 |
|                        |  AT+RESET                 |  нет                  |  Перезагрузка модуля  |
|  AT+ROLE               |  AT+ROLE<Параметр>        |  1 - ведущий\\ 0 – ведомый  |  	Получить или установить текущую роль модуля   |  
|  AT+DISC  |  	нет  |  нет  |  	Отключение модуля (если подключен)   |  
|  AT+ADVI  |  	AT+ADVI<Параметр>  |  	6 – 8000 мс\\ 5 – 4000 мс\\ 4 – 2000 мс\\ 3 – 1000 мс\\ 2 – 750 мс\\ 1 – 500 мс\\ 0 – 100 мс\\ По умолчанию – 0	  |  Интервал вещания  |  
|  AT+POWE	  |  AT+POWE<Параметр>	  |  3 – -23 дБм\\ 2 – -6 дБм\\ 1 – 0 дБм\\ 0 – 6 дБм\\ По умолчанию – 2	  |  Получить или установить мощность сигнала передатчика  |  
|  AT+NAME  |  	AT+NAME<Параметр>  |  Новое имя  |  	Получить или установить имя текущего модуля  |  
|  AT+LADDR  |  	нет  |  нет  |  Получить адрес Bluetooth  |  
|  AT+VERSION  |  	нет  |  	нет	  |  Получить версию программного обеспечения (прошивки)  |  
|  AT+TYPE  |  	AT+TYPE<Параметр>  |  	2 – запрос пароля и связывание\\ 1 – запрос пароля\\ 0 – без пароля\\ По умолчанию – 0  |  	Настройки привязки и сопряжения  |  
|  AT+PIN	  |  AT+PIN<Параметр>	  |  6-байтовый пароль для сопряжения\\ По умолчанию – «123456»	  |  Получить или установить новый пароль для сопряжения  |  
|  AT+UUID  |  	AT+UUID<Параметр>	  |  От: 0x0001\\ До: 0xFFFE\\ По умолчанию – 0xFFE0	  |  Получить или установить сервисный UUID  модуля  |  
|  AT+CHAR  |  	AT+CHAR<Параметр>  |  	От: 0x0001\\ До: 0xFFFE \\ По умолчанию – 0xFFE1	  |  Получить или установить CHAR_UUID системы  |  
|  AT+SLEEP  |  	нет  |  нет  |  	Режим сна  |  
|  AT+HELP  |  	нет  |  нет  |  	Список всех команд  |  
