====== @amperka/bluetooth ====== Технология беспроводной связи ''bluetooth'' предназначена для связи различных устройств на расстоянии до 100 метров. Стек ''bluetooth'' поддерживает различные типы соединений: передача голоса, устройства ввода, эмуляция последовательного порта. Последний тип реализован в модулях HC-05. Вы можете установить соединение с модулем как с компьютера, смартфона, так и между двумя модулями. Для взаимодействия с модулем используются три пина: два пина последовательного порта — ''TX'' и ''RX'', а так же пин ''K'', для перевода модуля в режим управления. Когда на пин ''K'' подано напряжение, модуль принимает команды и отвечает на них. Когда на пин ''K'' напряжение не подается, модуль находится в режиме обмена данными. Все данные, отправленные по последовательному порту, будут переданы по радио на спаренное устройство, а данные со спаренного устройства — возвращены в последовательный порт. func:: Bluetooth.connect(opts) Возвращает объект 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' }); class:: Bluetooth Объект, реализует взаимодействие с модулем ''bluetooth''. meth:: print(data) Отправляет данные на спаренное устройство. meth:: println(data) Отправляет данные на спаренное устройство, дополняя их символом окончания строки, указанном в свойстве ''lineEnding'' при создании объекта ''Bluetooth''. Если эта настройка не выполнена, данные будут дополнены символами ''\r\n''. meth:: command(cmd, callback) Выполняет AT-команду управления модулем bluetooth, после чего выполняет функцию ''callback'' передавая результат в ее первый параметр. В случае ошибки, результат может быть объектом [Error]. Следует учитывать, что данный метод выполняется не мгновенно, а спустя секунду, после приема последних данных. event:: on('data', callback) При получении данных со спаренного устройства, вызывает функцию ''callback'', передавая в ее первый параметр полученные данные. При этом, если при создании объекта символ окончания строк не указан в свойстве ''lineEnding'' — данные будут поступать в чистом виде из буфера последовательного порта. Если символ окончания строк указан — данные будут накапливаться и функция будет вызвана по достижению конца строки. При этом символ окончания строк передан не будет. event:: on('error', callback) При возникновении ошибки,вызывает функцию ''callback'', передавая ошибку в ее первый параметр. Возможные варианты ошибок: * ''speed'' — возникает, если скорость последовательного порта не соответствует скорости модуля ''bluetooth''; * ''parity'' — возникает, если настройка режима проверки четности последовательного порта не соответствует настройкам модуля ''bluetooth''; meth:: firmware(callback) Вызывает функцию ''callback'', передавая в нее первым параметром номер версии прошивки. meth:: speed(baud, callback) Устанавливает скорость взаимодействия по последовательному порту. Необходимо передать одно из допустимых значений скоростей: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200. Необходимо учитывать, что изменения записываются в модуль и не забыть изменить настройки последовательного порта контроллера на новую скорость после перезапуска контроллера. meth:: name(name, callback) Устанавливает имя модуля ''name'', которое отображается при поиске устройств. Если параметр ''name'' не передан, имя модуля не меняется. По окончанию вызывает функцию ''callback'', передавая первым параметром текущее имя модуля. meth:: password(pinCode, callback) Устанавливает код доступа к модулю, необходимый для установления с ним соединения. Если ''pinCode'' равен ''undefined'', новый код не устанавливается. По окончанию вызывает функцию ''callback'', передавая первым параметром текущий (или новый установленный) код. meth:: mode(role, callback) Изменяет режим работы модуля, если ''role'' не равно ''undefined''. Возвращает текущий режим работы модуля, в качестве параметра функции ''callback''. Параметр ''role'' и параметр функции ''callback'' может быть: * ''slave'' — ведомое устройство, к которому можно подключиться (по умолчанию); * ''master'' — ведущее устройство, которое подключается к другим; * ''loop'' — тестовый режим, входящие данные отдаются отправителю; meth:: connect(address, pinCode, callback) Соединяет модуль с другим устройством, имеющим адрес ''address'' и кодом ''pinCode'', после чего вызывает функцию ''callback''. Адрес должен иметь вид ''XXXX:XX:XXXXXX'', где ''X'' — шестнадцатиричное число. Например, ''1234:56:abcdef''. meth:: disconnect(callback) Разрывает текущее соединение с другим устройством.