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

Для того чтобы управлять Bluetooth модулем HC-05 с помощью АТ-команд нам понадобится 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:uart_hc_05.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_hc05.jpg?nolink |}}

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

{{ :main:comm:com_settings_hc_05.jpg?nolink |}}

<WRAP center round important 80%>
Обратите внимание, что в настройках программы мы указали добавлять в конце каждой команды символы окончания строки и возврата каретки (CR+LF или \r\n). Поэтому, если Вы используете другую программу или напрямую общаетесь с модулем, указывайте данные символы в конце каждой команды! Ниже, в примерах, все команды приведены без этих символов!
</WRAP>


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

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

{{ :main:comm:hc_05_at.jpg?nolink |}}

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

{{ :main:comm:hc_05_at_ok.jpg?nolink |}}

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

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

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

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

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

На что модуль ответит:
<file>
OK
</file>

Если заново проверить имя модуля командой 
<file>
AT+NAME?
</file>

То модуль уже вернёт новое имя:
<file>
+NAME:MyHC-05
OK
</file>
===== Список AT-команд =====

Все команды условно можно разделить на три вида:
  * **Команды без параметров** - выполняют определённые действия на модуле
  * **Команды с параметрами** - выполняют определённые действия на модуле, действия могут быть разными, в зависимости от переданных параметров
  * **Команды - запросы** - запрашивают у модуля данные

++++  AT (базовая команда для тестирования модуля) |

**Описание:** базовая команда для тестирования модуля

**Синтаксис:**AT

**Параметры:**нет

**Ответ модуля:**ОК

++++

++++ RESET (перезагрузка модуля) |

**Описание:** перезагрузка модуля

**Синтаксис:**AT+RESET

**Параметры:**нет

**Ответ модуля:**ОК

++++

++++ VERSION (запрос версии прошивки модуля) |

**Описание:** запрос версии прошивки модуля

**Синтаксис:** AT+VERSION?

**Параметры:** нет

**Ответ модуля:** +VERSION: <Параметр>, где будет указана версия прошивки

**Пример:**
<file>
AT+VERSION?
+VERSION:hc01.comV2.1
OK
</file>

++++

++++ ORGL (восстановить настройки по умолчанию) |

**Описание:** Восстановление настроек по умолчанию

**Синтаксис:** AT+ORGL

**Параметры:** нет

**Ответ модуля:** ОК

Настройки по умолчанию для модуля:
  - Тип устройства: 0
  - Код запроса: 0x009e8b33
  - Режим работы: ведомое устройство
  - Режим подключения: Подключение к указанному Bluetooth-устройству
  - Настройки сериал-подключения: Скорость: 38400 бод; Стоп-бит: 1; Чётность: нет.
  - Пароль: “1234”
  - Имя устройства: “HC-05” 

++++

++++ ADDR (запрос адреса устройства) |

**Описание:** запрос адреса устройства

**Синтаксис:** AT+ADDR?

**Параметры:** нет

**Ответ модуля:** +ADDR: <Параметр>, где будет указан адрес устройства

**Пример:** Если адрес устройства: 12: 34: 56: ab: cd: ef, то запрос вернёт следующие данные:

<file>
AT+ADDR?
+ADDR:1234:56:abcdef
OK
</file>

++++

++++ NAME (запрос или установка имени) |

==== Запрос ====

**Описание:** запрос имени модуля

**Синтаксис:** AT+NAME?

**Параметры:** Нет

**Пример:**
<file>
AT+NAME?
+NAME: HC-05_SE
OK 
</file>

==== Установка ====

**Синтаксис:** AT+NAME=<Имя>

**Параметры:** Имя - новое имя модуля (может указываться в кавычках либо без них)

**Ответ модуля:** 
  * **ОК** - в случае успешного выполнения команды
  * **FAIL** - в случае ошибки выполнения команды

**Пример:**
<file>
AT+NAME=MyHC-05
OK

AT+NAME= “SmartElements_HC-05”
OK
</file>

++++

++++ RNAME (запрос имени удалённого устройства) |

**Описание:** запрос имени удалённого устройства

**Синтаксис:** AT+RNAME?<Параметр1>

**Параметры:** Параметр1 - Адрес удалённого устройства

**Ответ модуля:** 
  * **+NAME:<Параметр2> OK** - в случае успешного выполнения
  * **FAIL** - в случае ошибки

**Пример:**
Адрес удалённого устройства: 00:02:72: od: 22 : 24; Имя удалённого устройства: Bluetooth

<file>
AT+RNAME? 0002,72,od2224
+RNAME:Bluetooth
OK
</file>

++++

++++ ROLE (запрос или установка роли модуля) |

==== Запрос ====

**Описание:** запрос роли модуля

**Синтаксис:** AT+ROLE?

**Параметры:** Нет

**Ответ модуля:** + ROLE:<Параметр> ОK , где в параметре будет возвращён код ответа:
  * **0** - модуль работает в режиме ведомого
  * **1** - модуль работает в режиме ведущего (//Запрос ближайшего ведомого устройства, построение успешного соединения с ним, и создание прозрачной передачи данных между ведущим и ведомым устройствами//)
  * **2** - модуль работает в режиме ведомого в цикле (//будет отправлять на ведущего все данные, что от него получил//)

**Пример:**
<file>
AT+ROLE?
+ROLE:0
OK 
</file>

==== Установка ====

**Синтаксис:** AT+ROLE=<Роль>

**Параметры:** Роль - новая роль устройства, выраженная одним из кодов: 0, 1, 2, где:
  * **0** - модуль работает в режиме ведомого
  * **1** - модуль работает в режиме ведущего (//Запрос ближайшего ведомого устройства, построение успешного соединения с ним, и создание прозрачной передачи данных между ведущим и ведомым устройствами//)
  * **2** - модуль работает в режиме ведомого в цикле (//будет отправлять на ведущего все данные, что от него получил//)

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+ROLE=0
OK
</file>

++++

++++ CLASS (запрос или установка типа модуля) |

==== Запрос ====

**Описание:** запрашивает тип модуля. Тип модуля определяет его поведение. Например, модуль может являться Bluetooth - клавиатурой. Тип модуля задаётся 32-битным числом. Подробное описание всех возможных типов устройств, смотрите в даташите.

**Синтаксис:** AT+CLASS?

**Параметры:** Нет

**Ответ модуля:** + CLASS:<Параметр> ОK , где в параметре будет возвращён код типа устройства.

**Пример:**
<file>
AT+CLASS?
+CLASS:0
OK 
</file>

==== Установка ====

**Описание:** устанваливает тип модуля. Тип модуля определяет его поведение. Например, модуль может являться Bluetooth - клавиатурой.

**Синтаксис:** AT+CLASS=<Тип>

**Параметры:** Тип - новый тип устройства, задаваемый 32-битным числом. Подробное описание всех возможных типов устройств, смотрите в даташите.

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+CLASS=0
OK
</file>

++++

++++ IAC (запрос или установка IAC - кода) |

==== Запрос ====

**Описание:** запрашивает IAC-код модуля. Если модуль ведущий, то по данному коду к модулю можно получить доступ ведомым модулям и наоборот.

**Синтаксис:** AT+IAC?

**Параметры:** Нет

**Ответ модуля:** + IAC:<Параметр> ОK , где в параметре будет возвращён IAC-код устройства.

**Пример:**
<file>
AT+IAC?
+IAC:9e8b33
OK 
</file>

==== Установка ====

**Описание:** устанваливает IAC-код модуля. Если модуль ведущий, то по данному коду к модулю можно получить доступ ведомым модулям и наоборот.

**Синтаксис:** AT+IAC=<Код>

**Параметры:** Код - новый IAC-код устройства, задаваемый 32-битным числом.

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+IAC=9e8b33
OK
</file>

++++

++++ INQM (запрос или установка режима опроса модулей) |

==== Запрос ====

**Описание:** запрос текущего режима опроса модулей

**Синтаксис:** AT+INQM?

**Параметры:** Нет

**Ответ модуля:** + INQM:<Режим>,<Количество>,<Время> ОK , где:
  * **Режим** - текущий режим опроса: **0** - базовый режим; **1** - режим опроса по уровню интенсивности сигнала
  * **Количество** - количество найденных устройств, после которого будет прерван опрос (поиск)
  * **Время** - число, от 1 до 48, означающее время после которого опрос (поиск) будет прерван. Время в секундах равно число умноженное на 1.28

**Пример:**
<file>
AT+INQM?
+INQM:1, 9, 48
OK 
</file>

==== Установка ====

**Синтаксис:** AT+INQM=<Режим>,<Количество>,<Время>

**Параметры:** 
  * **Режим** - текущий режим опроса: **0** - базовый режим; **1** - режим опроса по уровню интенсивности сигнала
  * **Количество** - количество найденных устройств, после которого будет прерван опрос (поиск)
  * **Время** - число, от 1 до 48, означающее время после которого опрос (поиск) будет прерван. Время в секундах равно число умноженное на 1.28

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+INQM=1,9,48
OK
</file>

++++

++++ PSWD (запрос или установка пароля доступа к модулю) |

==== Запрос ====

**Описание:** запрос пароля доступа к модулю

**Синтаксис:** AT+PSWD?

**Параметры:** Нет

**Ответ модуля:** + PSWD:<Параметр> ОK , где в параметре будет возвращён текущий установленный пароль.

**Пример:**
<file>
AT+PSWD?
+PSWD:1234
OK 
</file>

==== Установка ====

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

**Синтаксис:** AT+PSWD=<Пароль>

**Параметры:** Пароль - новый пароль доступа к устройству

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+PSWD=0000
OK
</file>

++++

++++ UART (запрос или установка параметров соединения по сериал-порту) |

==== Запрос ====

**Описание:** запрос параметров UART модуля

**Синтаксис:** AT+UART?

**Параметры:** Нет

**Ответ модуля:** + UART:<Скорость>,<Стопбит>,<Контроль>,  ОK , где:
  * **Скорость** - скорость соединения в бодах: 4800, 9600, 19200, 38400, 57600, 115200, 23400, 460800, 921600, 1382400 
  * **Стопбит** - один из вариантов: **0** - один бит, **1** - два бита
  * **Контроль** - вариант контроля целостности данных: **0** - нет контроля, **1** - контроль нечётности, **2** - контроль чётности

**Пример:**
<file>
AT+UART?
+UART:9600,0,0
OK 
</file>

==== Установка ====

**Описание:** установка параметров UART модуля

**Синтаксис:** AT+UART=<Скорость>,<Стопбит>,<Контроль>

**Параметры:**
  * **Скорость** - скорость соединения в бодах: 4800, 9600, 19200, 38400, 57600, 115200, 23400, 460800, 921600, 1382400 
  * **Стопбит** - один из вариантов: **0** - один бит, **1** - два бита
  * **Контроль** - вариант контроля целостности данных: **0** - нет контроля, **1** - контроль нечётности, **2** - контроль чётности

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+UART=115200,1,2
OK
</file>

++++

++++ CMODE (запрос или установка режима подключения) |

==== Запрос ====

**Описание:** запрос режима подключения модуля

**Синтаксис:** AT+CMODE?

**Параметры:** Нет

**Ответ модуля:** + CMODE:<Режим> ОK , где **Режим** - это код, означающий:
  * **0** - модуль (если он ведущий) подключается к определённому устройству (нужное устройство определяется AT-командой AT+BIND)
  * **1** - модуль (если он ведущий) подключается к любому устройству
  * **2** - модуль (если он ведомый) работает в цикле (//будет отправлять на ведущего все данные, что от него получил//)

**Пример:**
<file>
AT+CMODE?
+CMODE:9600,0,0
OK 
</file>

==== Установка ====

**Описание:** установка режима подключения модуля

**Синтаксис:** AT+CMODE=<Режим>

**Параметры:** Режим - это код, означающий:
  * **0** - модуль (если он ведущий) подключается к определённому устройству (нужное устройство определяется AT-командой AT+BIND)
  * **1** - модуль (если он ведущий) подключается к любому устройству
  * **2** - модуль (если он ведомый) работает в цикле (//будет отправлять на ведущего все данные, что от него получил//)


**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+CMODE=2
OK
</file>

++++

++++ BIND (запрос или установка связанного устройства) |

==== Запрос ====

**Описание:** запрос устройства, к которому данный модуль привязан (подключается по умолчанию)

**Синтаксис:** AT+BIND?

**Параметры:** Нет

**Ответ модуля:** + BIND:<Адрес> ОK , где Адрес - это адрес устройства, привязанного к данному модулю.

**Пример:**
<file>
AT+BIND?
+BIND:1234:56:abcdef
OK 
</file>

==== Установка ====

**Описание:** установка устройства, к которому данный модуль привязан (подключается по умолчанию)

**Синтаксис:** AT+BIND=<Адрес>

**Параметры:** Адрес - это адрес устройства, привязываемого к данному модулю.

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+BIND=1234,56,abcdef
OK
</file>

++++

++++ POLAR (запрос или установка уровня индикации светодиодом состояния подключения) |

==== Запрос ====

**Описание:** запрос уровня индикации светодиодом состояния подключения

**Синтаксис:** AT+POLAR?

**Параметры:** Нет

**Ответ модуля:** + POLAR:<УровеньPI08>, <УровеньPI09> ОK , где оба параметра (//PI0 - выводные контакты (пины), с подключенными к ним светодиодами//) принимают значения:
  * **0** - светодиод на выводе включается при логическом нуле
  * **1** - светодиод на выводе включается при логической единице

**Пример:**
<file>
AT+POLAR?
+POLAR=0,1 
OK 
</file>

==== Установка ====

**Описание:** установка уровня индикации светодиодом состояния подключения

**Синтаксис:** AT+POLAR=<УровеньPI08>,<УровеньPI09>

**Параметры:** <УровеньPI08>,<УровеньPI09> - (//PI0 - выводные контакты (пины), с подключенными к ним светодиодами//) значения 0 или 1, означающие:
  * **0** - светодиод на выводе включается при логическом нуле
  * **1** - светодиод на выводе включается при логической единице

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+POLAR=0,1
OK
</file>

++++

++++ PIO (запрос или установка уровня индикации светодиодом состояния подключения определённого контакта (пина)) |

==== Запрос ====

**Описание:** запрос уровня индикации светодиодом состояния подключения определённого контакта

**Синтаксис:** AT+PIO?

**Параметры:** Нет

**Ответ модуля:** + PIO:<PIO>, <УровеньPI0> ОK , где PIO - номер пина (вывода) (//PI0 - выводные контакты (пины), с подключенными к ним светодиодами//), УровеньPI0 принимает значения:
  * **0** - светодиод на выводе включается при логическом нуле
  * **1** - светодиод на выводе включается при логической единице

**Пример:**
<file>
AT+PIO?
+PIO=10,1 
OK 
</file>

==== Установка ====

**Описание:** запрос уровня индикации светодиодом состояния подключения определённого контакта

**Синтаксис:** AT+PIO=<PIO>,<УровеньPI0>

**Параметры:** 
  * **<PIO>** - номер пина (вывода) (//PI0 - выводные контакты (пины), с подключенными к ним светодиодами//), может иметь значения от 0 до 7 или 10
  * **<УровеньPI0>** - уровень сигнала, принимает значения:
    * **0** - светодиод на выводе включается при логическом нуле
    * **1** - светодиод на выводе включается при логической единице

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+PIO=10,0
OK
</file>

++++

++++ MPIO (запрос или установка уровня индикации светодиодом состояния подключения нескольких контактов (пинов)) |

==== Запрос ====

**Описание:** запрос уровня индикации светодиодом состояния подключения нескольких контактов

**Синтаксис:** AT+MPIO?

**Параметры:** Нет

**Ответ модуля:** +MPIO: <Параметр> ОK , где Параметр - это шестнадцатиричное число, каждый бит которого соответсвует уровню соответсвующего PIO
  * **0** - светодиод на выводе включается при логическом нуле
  * **1** - светодиод на выводе включается при логической единице

**Пример:**
<file>
AT+MPIO?
+MPIO:808 
OK 
</file>

Где **808** в двоичном представлении: **1100101000** - это соответсвенно состояния PIO0, PIO1, PIO2, PIO3, PIO4, PIO5, PIO6, PIO7, PIO10, PIO11

==== Установка ====

**Описание:** запрос уровня индикации светодиодом состояния подключения определённого контакта

**Синтаксис:** AT+MPIO=<Параметр>

**Параметры:** 
  * **<Параметр>** - это шестнадцатиричное число, каждый бит которого соответсвует уровню соответсвующего PIO (//напрмиер **808** в двоичном представлении: **1100101000** - это соответсвенно состояния PIO0, PIO1, PIO2, PIO3, PIO4, PIO5, PIO6, PIO7, PIO10, PIO11//)
  * Уровень сигнала, принимает значения:
    * **0** - светодиод на выводе включается при логическом нуле
    * **1** - светодиод на выводе включается при логической единице

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
+MPIO:808
OK
</file>

++++

++++ IPSCAN (запрос или установка параметров сканирования страниц и запросов) |

==== Запрос ====

**Описание:** запрос параметров сканирования страниц и запросов

**Синтаксис:** AT+IPSCAN?

**Параметры:** Нет

**Ответ модуля:** +IPSCAN: <ИнтервалЗапросов>,<ДлительностьЗапросов>,<ИнтервалПерелистывания>,<ДлительностьПерелистывания>  ОK , где:
  * **ИнтервалЗапросов** - временной интервал между запросами
  * **ДлительностьЗапросов** - длительность запросов
  * **ИнтервалПерелистывания** - временной интервал при перелистывании страниц
  * **ДлительностьПерелистывания** - длительность при перелистывании страниц

**Пример:**
<file>
AT+IPSCAN?
+IPSCAN:1234,500,1200,250  
OK 
</file>


==== Установка ====

**Описание:** установка параметров сканирования страниц и запросов

**Синтаксис:** AT+IPSCAN=<ИнтервалЗапросов>,<ДлительностьЗапросов>,<ИнтервалПерелистывания>,<ДлительностьПерелистывания>

**Параметры:** 
  * **ИнтервалЗапросов** - временной интервал между запросами
  * **ДлительностьЗапросов** - длительность запросов
  * **ИнтервалПерелистывания** - временной интервал при перелистывании страниц
  * **ДлительностьПерелистывания** - длительность при перелистывании страниц

Где все параметры - целочисленные значения.

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+IPSCAN=1234,500,1200,250
OK 
</file>

++++

++++ SNIFF (запрос или установка параметров энергосбережения в режиме прослушивания) |

==== Запрос ====

**Описание:** запрос параметров энергосбережения в режиме прослушивания (SNIFF)

**Синтаксис:** AT+SNIFF?

**Параметры:** Нет

**Ответ модуля:** +SNIFF: <МаксимальноеВремя>,<МинимальноеВремя>,<Период>,<Таймаут>  ОK , где:
  * **МаксимальноеВремя** - максимальное время прослушивания
  * **МинимальноеВремя** - минимальное время прослушивания
  * **Период** - период прослушивания
  * **Таймаут** - время для отключения прослушивания

**Пример:**
<file>
AT+SNIFF?
+SNIFF:0,0,0,0  
OK 
</file>


==== Установка ====

**Описание:** установка параметров энергосбережения в режиме прослушивания (SNIFF)

**Синтаксис:** AT+SNIFF=<МаксимальноеВремя>,<МинимальноеВремя>,<Период>,<Таймаут>

**Параметры:** 
  * **МаксимальноеВремя** - максимальное время прослушивания
  * **МинимальноеВремя** - минимальное время прослушивания
  * **Период** - период прослушивания
  * **Таймаут** - время для отключения прослушивания

Где все параметры - целочисленные значения.

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+SNIFF=0,0,0,0
OK 
</file>

++++

++++ SENM (запрос или установка параметров безопасности и шифрования) |

==== Запрос ====

**Описание:** запрос параметров безопасности и шифрования

**Синтаксис:** AT+SENM?

**Параметры:** Нет

**Ответ модуля:** +SENM: <Безопасность>,<Шифрование>  ОK , где:
  * **Безопасность** - код значения режима безопасности:
    * **0** - режим выключен
    * **1** - разрешены незащищённые соединения
    * **2** - безопасность на сервисном уровне
    * **3** - безопасность на уровне соединения
    * **4** - неизвестный режим
  * **Шифрование** - код значения режима шифрования
    * **0** - режим выключен
    * **1** - режим шифрования PT to PT
    * **2** - полное шифрование

**Пример:**
<file>
AT+SENM?
+SENM:0,0 
OK 
</file>


==== Установка ====

**Описание:** установка параметров безопасности и шифрования

**Синтаксис:** AT+SENM=<Безопасность>,<Шифрование>

**Параметры:** 
  * **Безопасность** - код значения режима безопасности:
    * **0** - режим выключен
    * **1** - разрешены незащищённые соединения
    * **2** - безопасность на сервисном уровне
    * **3** - безопасность на уровне соединения
    * **4** - неизвестный режим
  * **Шифрование** - код значения режима шифрования
    * **0** - режим выключен
    * **1** - режим шифрования PT to PT
    * **2** - полное шифрование

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+SENM=0,0
OK 
</file>

++++

++++ PMSAD (удаление сопряжённого устройства из списка) |

==== Действие ====

**Описание:** удаление сопряжённого устройства из списка

**Синтаксис:** AT+PMSAD=<Адрес>

**Параметры:** 
  * **Адрес** - адрес удаляемого устройства

**Ответ модуля:** 
  * **ОК** - в случае успешного выполнения команды
  * **FAIL** - в случае если адрес устройства в списке сопряжённых не найден

**Пример:**
<file>
AT+PMSAD=1234,56,abcdef
OK 
</file>

++++

++++ RMAAD (удаление всех сопряжённых устройств из списка) |

==== Действие ====

**Описание:** удаление всех сопряжённых устройств из списка

**Синтаксис:** AT+RMAAD

**Ответ модуля:** **ОК** - в случае успешного выполнения команды

**Пример:**
<file>
AT+RMAAD
OK 
</file>

++++