@amperka/bluetooth
Технология беспроводной связи bluetooth
предназначена для связи различных устройств на расстоянии до 100 метров. Стек bluetooth
поддерживает различные типы соединений: передача голоса, устройства ввода, эмуляция последовательного порта.
Последний тип реализован в модулях HC-05. Вы можете установить соединение с модулем как с компьютера, смартфона, так и между двумя модулями. Для взаимодействия с модулем используются три пина: два пина последовательного порта — TX
и RX
, а так же пин K
, для перевода модуля в режим управления. Когда на пин K
подано напряжение, модуль принимает команды и отвечает на них. Когда на пин K
напряжение не подается, модуль находится в режиме обмена данными. Все данные, отправленные по последовательному порту, будут переданы по радио на спаренное устройство, а данные со спаренного устройства — возвращены в последовательный порт.
Возвращает объект bluetooth. Параметр opts
— объект со следующими свойствами:
serial
— объект последовательного порта, по умолчаниюSerial3
;speed
— скорость обмена между портами контроллера и модуля bluetooth, по умолчанию 9600;kPin
— пин перевода модуля в режим управления, по умолчанию не назначен;lineEnding
— признак окончания строки, по умолчанию не назначен;
Serial3.setup(9600); var bt = require('@amperka/bluetooth').connect({ serial: Serial3, speed: 9600, kPin: P3, lineEnding: '\r\n' });
Объект, реализует взаимодействие с модулем bluetooth
.
Отправляет данные на спаренное устройство.
Отправляет данные на спаренное устройство, дополняя их символом окончания строки, указанном в свойстве lineEnding
при создании объекта Bluetooth
. Если эта настройка не выполнена, данные будут дополнены символами \r\n
.
Выполняет AT-команду управления модулем bluetooth, после чего выполняет функцию callback
передавая результат в ее первый параметр. В случае ошибки, результат может быть объектом [Error]. Следует учитывать, что данный метод выполняется не мгновенно, а спустя секунду, после приема последних данных.
При получении данных со спаренного устройства, вызывает функцию callback
, передавая в ее первый параметр полученные данные. При этом, если при создании объекта символ окончания строк не указан в свойстве lineEnding
— данные будут поступать в чистом виде из буфера последовательного порта. Если символ окончания строк указан — данные будут накапливаться и функция будет вызвана по достижению конца строки. При этом символ окончания строк передан не будет.
При возникновении ошибки,вызывает функцию callback
, передавая ошибку в ее первый параметр. Возможные варианты ошибок:
speed
— возникает, если скорость последовательного порта не соответствует скорости модуляbluetooth
;parity
— возникает, если настройка режима проверки четности последовательного порта не соответствует настройкам модуляbluetooth
;
Вызывает функцию callback
, передавая в нее первым параметром номер версии прошивки.
Устанавливает скорость взаимодействия по последовательному порту. Необходимо передать одно из допустимых значений скоростей: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. Необходимо учитывать, что изменения записываются в модуль и не забыть изменить настройки последовательного порта контроллера на новую скорость после перезапуска контроллера.
Устанавливает имя модуля name
, которое отображается при поиске устройств. Если параметр name
не передан, имя модуля не меняется. По окончанию вызывает функцию callback
, передавая первым параметром текущее имя модуля.
Устанавливает код доступа к модулю, необходимый для установления с ним соединения. Если pinCode
равен undefined
, новый код не устанавливается. По окончанию вызывает функцию callback
, передавая первым параметром текущий (или новый установленный) код.
Изменяет режим работы модуля, если role
не равно undefined
. Возвращает текущий режим работы модуля, в качестве параметра функции callback
. Параметр role
и параметр функции callback
может быть:
slave
— ведомое устройство, к которому можно подключиться (по умолчанию);master
— ведущее устройство, которое подключается к другим;loop
— тестовый режим, входящие данные отдаются отправителю;
Соединяет модуль с другим устройством, имеющим адрес address
и кодом pinCode
, после чего вызывает функцию callback
. Адрес должен иметь вид XXXX:XX:XXXXXX
, где X
— шестнадцатиричное число. Например, 1234:56:abcdef
.
Разрывает текущее соединение с другим устройством.