跳转至

Connect IoT - BLE驱动程序#

低功耗蓝牙(简称Bluetooth LE或BLE,原名智能蓝牙)是由蓝牙技术联盟(SIG)设计和销售的一种无线个人局域网技术,旨在面向医疗保健、健身、信标、安全和家庭娱乐行业中的创新应用提供。与经典蓝牙相比,低功耗蓝牙旨在大幅降低功耗和成本,同时保持类似的通信范围。

数据类型#

这些是受支持的特定数据类型:

名称 描述
UInt8 无符号整数8位
UInt16 无符号整数16位
UInt32 无符号整数32位
Int8 有符号整数8位
Int16 有符号整数16位
Int32 有符号整数32位
浮点型 浮点数
双精度 浮点双精度数
字符串 ASCII 值(文本字符串)
十六进制 十六进制格式的缓冲区值

Table: BLE特定数据类型

异常流程参数#

异常流程支持以下参数:

名称 类型 可能的值 默认值 描述
地址 字符串 "" BLE设备的Mac地址
ID 字符串 "" BLE设备的ID
name 字符串 "" BLE设备的名称
pollInterval 整数 2000 当没有可用的更改值通知时,变量轮询之间的时间。仅用于事件。(毫秒)
bleMode 枚举 DirectConnection
侦听器
DirectConnection BLE通信模式
byteOrder 枚举 BigEndian
LittleEndian
BigEndian 设备数据的字节顺序
usbDeviceIndex 整数 0 BLE USB设备的索引

Table: BLE特定参数

Note

如果设置多个设备标识符(地址、ID、名称),则所有标识符都必须与设备属性相匹配。

扩展参数#

属性#

名称 类型 可能的值 默认值 描述
byteOrder 枚举 默认
BigEndian
LittleEndian
默认 设备数据的字节顺序。通过使用Default可使用EquipmentSetup任务中定义的相同设置

事件属性#

名称 类型 可能的值 默认值 描述
isTrigger 布尔值 True 当值更改时触发事件

备注/行为#

  • 当事件具有多个属性带isTrigger标志时:
    • 每次任何属性值更改时都会触发它。
    • 此时将请求其他属性的值。
    • 可能有多个触发器具有相同的设置值(因为它们未更改)。如果不希望出现这种行为,请将其分成多个事件,每个事件都有自己的触发器集。
  • 如果事件没有带有isTrigger标志的属性,则永远不会触发该事件

要求#

Windows#

npm install --global --production windows-build-tools

Ubuntu/Debian/Raspbian#

sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

基于Fedora/其他RPM#

sudo yum install bluez bluez-libs bluez-libs-devel

已知问题#

  • 在Windows环境中运行时,由于Microsoft自身存在且尚未解决的一些限制和错误,无法使用Microsoft的BLE堆栈。要绕过此限制,通信驱动程序必须依赖于BLE适配器的原始USB访问(使用WinUSB)。
  • 每个设备只允许对一个进程进行USB原始访问。这意味着每个BLE适配器只能控制一个外围设备。