- последовательный порт bluetooth v 2.2.7
- Соединение через последовательный порт Bluetooth для Node.js
- Новое в последней версии
- Предварительные требования для Linux
- Примечание о серверных сокетах RFCOMM
- Необходимые условия для macOS
- Предварительные требования для Windows
- Установить
- Тестовая сборка Linux с помощью docker
- Документация
- Основное использование клиента
- Основное использование сервера (только в Linux)
- Последовательный порт Bluetooth
- Событие: (‘данные’, буфер)
- Событие: («закрыто»)
- Событие: («сбой», ошибка)
- Событие: («найдено», адрес, имя)
- Событие: («завершено»)
- BluetoothSerialPort.inquire()
- BluetoothSerialPort.inquireSync()
- BluetoothSerialPort.findSerialPortChannel(адрес, обратный вызов, errorCallback)
- BluetoothSerialPort.close()
- BluetoothSerialPort.isOpen()
- BluetoothSerialPort.write(буфер, обратный вызов)
- BluetoothSerialPort.listPairedDevices(обратный вызов)
- BluetoothSerialPortServer
- BluetoothSerialPortServer.listen(обратный вызов, errorCallback, параметры)
- BluetoothSerialPortServer.write(буфер,обратный вызов)
- BluetoothSerialPortServer.close()
- BluetoothSerialPortServer.disconnectClient()
- BluetoothSerialPortServer.isOpen()
- Событие: (‘данные’, буфер)
- Событие: («отключено»)
- Событие: («закрыто»)
- Событие: («сбой», ошибка)
- Поддержка машинописного текста
- ЛИЦЕНЗИЯ
последовательный порт bluetooth v 2.2.7
Соединение через последовательный порт Bluetooth для Node.js
Этот модуль узла позволяет обмениваться данными через последовательный порт Bluetooth с устройствами, использующими Node.js. Цель состоит в том, чтобы иметь простой в использовании API. Этот модуль отлично подходит для связи с устройствами Arduino с поддержкой Bluetooth.
Если у вас возникли проблемы, обязательно ознакомьтесь с часто задаваемыми вопросами.
Новое в последней версии
- Изменяет версию узла на lts в Dockerfile
Обзор истории изменений см. в примечаниях к выпуску.
Предварительные требования для Linux
- Для сборки требуются пакеты разработки Bluetooth
apt-get install build-essential libbluetooth-dev
Примечание о серверных сокетах RFCOMM
Поскольку первоначальная реализация серверных сокетов RFCOMM основана на BlueZ4, для работы с SDP нам необходимо изменить файл конфигурации службы bluetoothd, изменив файл модуля systemd: bluetooth.service:
(дистрибутив на базе Debian)
sudo vim /lib/systemd/system/bluetooth.service
(дистрибутив на основе RedHat)
sudo vim /usr/lib/systemd/system/bluetooth.service
и добавление флага —compat к значению ExecStart:
ExecStart=/usr/lib/bluetooth/bluetoothd —compat
Наконец, перезапустите службу:
Необходимые условия для macOS
- Необходимо установить инструменты командной строки Xcode и Xcode.
Предварительные требования для Windows
- Требуется Visual Studio (Visual C++) и установленные инструменты командной строки.
- Требуется Python 2.x, установленный и доступный из пути командной строки.
Установить
npm установить bluetooth-serial-port
Тестовая сборка Linux с помощью docker
docker build -t bluetooth-serial-port .
Документация
Основное использование клиента
Основное использование сервера (только в Linux)
Последовательный порт Bluetooth
Событие: (‘данные’, буфер)
Выдается, когда данные считываются из соединения последовательного порта.
- буфер — данные, которые были считаны в объект Buffer.
Событие: («закрыто»)
Инициируется, когда соединение было закрыто пользователем (т. е. при закрытии или удаленном вызове).
Событие: («сбой», ошибка)
Выдается при чтении из последовательного порта, что приводит к ошибке. Соединение закрыто.
Событие: («найдено», адрес, имя)
Излучается при обнаружении Bluetooth-устройства.
- address — адрес устройства
- имя — имя устройства (или адрес, если имя недоступно)
Событие: («завершено»)
Выдается после завершения выполнения запроса устройства.
BluetoothSerialPort.inquire()
Начинает поиск устройств Bluetooth. Когда устройство будет найдено, будет отправлено событие «найдено».
BluetoothSerialPort.inquireSync()
Начинает синхронный поиск Bluetooth-устройств. Когда устройство будет найдено, будет отправлено событие «найдено».
BluetoothSerialPort.findSerialPortChannel(адрес, обратный вызов, errorCallback)
Проверяет, запущена ли на устройстве служба последовательного порта, и если она найдена, передает идентификатор канала для использования для соединения RFCOMM.
- callback(channel) — вызывается после завершения поиска последовательного порта на устройстве.
errorCallback — вызов завершен, но на устройстве не найден канал последовательного порта. Подключается к удаленному устройству Bluetooth.
bluetoothAddress — адрес удаленного Bluetooth-устройства.
BluetoothSerialPort.close()
Закрывает соединение.
BluetoothSerialPort.isOpen()
Проверьте, открыто ли соединение.
BluetoothSerialPort.write(буфер, обратный вызов)
Записывает буфер в соединение последовательного порта.
- buffer — Буфер для записи.
- callback(err, bytesWritten) — вызывается, когда действие записи завершено. Когда параметр err установлен, произошла ошибка, в этом случае err является объектом Error. Если параметр err не установлен, действие записи было выполнено успешно, а bytesWritten содержит количество байтов, записанных в соединение.
BluetoothSerialPort.listPairedDevices(обратный вызов)
НЕДОСТУПНО В LINUX
Список устройств, которые в настоящее время сопряжены с хостом.
- callback(pairedDevices) — вызывается, когда объект сопряженных устройств заполнен. См. запрос на вытягивание для получения дополнительной информации об объекте pairedDevices.
BluetoothSerialPortServer
BluetoothSerialPortServer.listen(обратный вызов, errorCallback, параметры)
Прослушивает входящее соединение Bluetooth. Он автоматически объявит сервер через SDP
.
- callback(address) — вызывается при подключении нового клиента.
- errorCallback(err) — вызывается при возникновении ошибки.
options — Объект со следующими свойствами:
- uuid — строка UUID сервера. Если этот параметр не указан, значением по умолчанию будет 1101 (соответствует UUID профиля последовательного порта). Может быть 16-битным или 32-битным UUID.
channel — Номер Канал RFCOMM, который прослушивает сервер, в диапазоне 1-30. Если этот параметр опущен, значением по умолчанию будет 1.
Пример: var options =
BluetoothSerialPortServer.write(буфер,обратный вызов)
Записывает данные из буфера в соединение.
- buffer — буфер для отправки по соединению.
- callback(err, len) — вызывается при отправке данных или возникновении ошибки. ошибка содержит ошибку присваивается. len содержит количество байтов, которые были записаны в соединение.
BluetoothSerialPortServer.close()
Остановка сервера.
BluetoothSerialPortServer.disconnectClient()
Отключает подключенного в данный момент клиента, повторно прослушивает и повторно публикует в SDP.
BluetoothSerialPortServer.isOpen()
Проверяет, слушает сервер или нет.
Событие: (‘данные’, буфер)
Выдается, когда данные считываются из соединения последовательного порта.
- буфер — данные, которые были считаны в объект Buffer.
Событие: («отключено»)
Инициируется, когда соединение было разорвано (например, при вызове метода disconnectClient или если устройство Bluetooth отключается (выключается или выходит за пределы диапазона)).
Событие: («закрыто»)
Инициируется, когда сервер закрыт (т. е. при вызове close или в результате ошибки неразъединения).
Событие: («сбой», ошибка)
Выдается при чтении из последовательного порта, что приводит к ошибке. Соединение закрыто.
Поддержка машинописного текста
Файл объявления сценария типа входит в состав этого модуля.
ЛИЦЕНЗИЯ
Этот модуль доступен по лицензии FreeBSD, подробности см. в файле LICENSE.