在Digi XBee 3上使用BLE的实用指南:应用说明

在Digi XBee 3上使用BLE的实用指南

Digi XBee3® 调制解调器具有 Bluetooth® Low Energy,为支持蜂窝、Zigbee®、DigiMesh® 或 802.15.4 的无线应用提供了多种可能性。BLE 的加入增强了 Digi XBee 3 系列,为新应用和现有应用提供了各种用例。

以下是您可以使用 Digi XBee 3 和 BLE 执行的一些其他操作的列表:

  • 从手机或其他支持 BLE 的设备安全地配置 XBee 3
  • 从 XBee 3 发送广告或信标(例如 iBeacon)
  • 扫描来自相邻设备的广告或信标
  • 从相邻设备发现应用服务
  • 连接到 BLE 传感器
  • 使用用户数据中继帧将自定义配置或数据发送到主机处理器
  • 从另一个 XBee 3 安全地配置一个 XBee 3
  • 在 XBee 3 调制解调器之间安全地发送数据
  • 连接,然后使用 BLE 配对访问 GATT 服务
  • 绑定到 BLE 设备以避免重复配对

为了在 Digi XBee 3 上使用 BLE,XBee 固件提供了以下机制:

  • AT 命令(启用、XBee API 安全配置、自定义广告名称)
  • 用户数据中继帧(BLE 到串行或 MicroPython)
  • MicroPython dig.ble 内置模块

下表映射了常见用例和支持它们的不同机制。请注意,这些机制中的大多数并不是相互排斥的,可以结合使用以增强您的应用程序:
 

用例

微Python

AT 命令

将数据中继帧与主机处理器一起使用

AT配置

XBee 3 到 XBee 3 配置

XBee 3 到 XBee 3 数据

启用/禁用

扫描并发送广告

发送自定义广告

*

接收和处理自定义广告/信标

GATT 服务发现

连接到 GATT 服务

RX/TX 转 GATT 服务

配对和绑定

* 自定义仅限于设备名称。
 

AT配置

Digi XBee 3 为简单的 BLE 配置提供了一些基本的 AT 命令。使用 AT 命令,您可以启用或禁用 BLE、修改通告的 BLE 设备名称,以及启用 XBee BLE GATT 服务以进行 XBee 配置和数据通信。使用 BT 命令,您可以启用 BLE,因为 XBee 3 设备出厂时禁用了 BLE。BI 命令自定义 BLE 负载中通告的名称。还有多个 AT 命令用于配置 Digi XBee 3 GATT 服务,以增强通过 BLE 进行配置和数据传输的应用程序安全性。


本文要求读者对 BLE 已经相当熟悉,因为它在没有术语表或概念定义的情况下讨论了 GATT、信标、广告、配对和绑定等 BLE 上下文。有关一些基本定义,请参阅本文后面的词汇表。
 

XBee GATT 服务认证和安全

增强的应用程序安全性超越了标准 BLE 配对提供的安全性,并增加了一个额外的层来保护 XBee 的配置和数据通信。您使用基于零知识证明的算法和密钥来保护每个 XBee 3 设备的 BLE 连接,以防止设备密码被泄露,这意味着密码不会存储在 XBee 上,以便通过 BLE 对其进行身份验证和安全通信。连接到 XBee 3 的 GATT 服务以进行配置或数据传输需要配置 XBee 的 BLE 身份验证参数。在制造过程中将 XBee 集成到应用程序中时,您应该配置这些参数。

Digi XCTU® 提供了一个向导来简化这些参数的配置 选择 并输入安全密码。尽管 XBee 设备的入侵不会泄露密码,因为密码不会被存储,但 Digi 仍然建议为每个 XBee 选择一个唯一的密码的最佳做法,以确保对可能通过其他方式获取密码的攻击者提供额外的保护。

知道 XBee 密码的授权客户端会发出解锁 API 帧,以验证与 XBee 的连接。解锁序列的成功协商还建立了会话密钥,以确保客户端和 XBee 服务之间传输的数据的机密性。经过身份验证的客户端可以通过 BLE 发送 XBee API 帧来访问配置和数据传输。
 

XBee GATT 服务和用户数据中继 API 帧

配置 BLE 身份验证后,BLE 客户端(例如另一个 XBee 或智能手机应用程序)可以进行身份​​验证并安全连接到 XBee 3 的 GATT 服务。XBee API GATT 服务允许客户配置 XBee 并通过串行或在 XBee 的 MicroPython 程序内部向外部主机处理器发送和接收数据。

更具体地说,GATT 服务充当一种具有两个属性的虚拟串行端口:一个用于发送数据,另一个用于通过 BLE 接收数据。API 帧可用于使用 AT 命令配置 XBee 或使用用户数据中继帧发送数据。通过 BLE 发送到 GATT 服务的用户数据中继帧可以通过 XBee 的主串行端口(引脚 2 和 3)或 MicroPython 定向到主机处理器。

同样,连接到串行端口或 MicroPython 程序的主机处理器可以启动要从 GATT 发送属性发送的用户数据中继帧。此 XBee GATT 服务允许任何授权客户端连接到您的主机处理器的应用程序并配置或发送和接收数据。

结合使用主机处理器和 MicroPython 也可以成为为您的应用程序提供额外业务逻辑的强大工具,因为用户数据中继帧可用于在 BLE、您的应用程序处理器和 XBee 中的 MicroPython 程序之间代理数据。
 

MicroPython 和 digi.ble 模块

对于更高级的用例,内置的 MicroPython 模块 digi.ble 为 BLE 提供了最强大和灵活的功能。MicroPython 使客户能够提供额外的功能以及卸载 XBee 3 本身内的一些业务逻辑。带有 BLE 的 MicroPython 允许您:

  • 扫描特定设备或设备类型
  • 解析和响应广告和信标
  • 创建自定义广告信标
  • 连接、配对和绑定提供自己 GATT 服务的 BLE 设备(例如心脏监测器、湿度传感器、灯泡等)

可以使用 MicroPython 完全自定义 BLE 广告,以创建像 Apple 的 iBeacon 和 Google 的 Eddystone 这样的信标格式。Digi  在https://github.com/digidotcom/xbee-micropython/tree/master/samples/bluetooth上托管了一个 GitHub 存储库和关联的 Pycharm 插件,其中包含许多不同的示例,向您展示如何解决许多 BLE 用例 。该存储库还包含一些有用的可选模块,用于创建流行的自定义信标格式。MicroPython 还完全支持从串行端口和 BLE 接口发送和接收用户数据中继帧,因此它可以创造性地用作 BLE 代理并过滤应用程序的数据。

作为 MicroPython 强大功能的一个简单示例,发送和接收广告样本可以轻松组合以创建 BLE 广告转发器。然后可以轻松地使用用户数据中继帧增强该中继器,以将所有或某些过滤后的广告从串行端口发送到主机处理器。主机处理器可以将中继帧发送到 MicroPython 程序,其中包含它希望过滤的广告的地址或设备类型。
 

工具和库

Digi 还提供了许多与 XBee 3 调制解调器配合使用的工具和源代码库。Digi XBee 移动应用程序可用于 Android 和 Apple iPhone 设备,允许您安全地连接到 Digi XBee 3 并配置其 AT 参数,类似于 XCTU 在串行端口上的工作方式。
Digi 为流行的 Pycharm IDE 提供了一个插件模块,以帮助您为 XBee 开发 MicroPython 代码。该插件具有从 Digi MicroPython GitHub 存储库导入示例的功能,包括 BLE 示例和库。

Digi 还提供 C、Java、Python 和C# 的开源库  对于外部主机和移动应用程序上的用户。这些库支持用户数据中继帧,以促进构建想要利用 BLE 接口的应用程序。此外,XBee Android 和 XBee C# 库是用于创建您自己的配置工具的强大工具和参考,并且包含的​​库可以通过 BLE 轻松配置和验证 XBee 3 设备。
 

兼容性和硬件规格

Digi XBee 3 BLE 堆栈完全支持 BLE 4.2 版,并且能够与支持 1M Phy 的 BLE 5.0 设备互操作。XBee 3 支持 5.0 并且软件可升级到 5.0(计划在未来发布)。

Digi XBee 3 模型

BLE 版本 **

输出功率*

灵敏度

室内的

户外/视距

蜂窝(Cat 1 或 LTE-M/NB)

4.2

6.3 毫瓦 (8 dBm)

-95 分贝米

高达 15 m

高达 300 m

例如/DigiMesh/802.15.4

4.2

6.3 毫瓦 (8 dBm)

-95 分贝米

高达 15 m

高达 300 m


*可调低至 -20 dBm
** 硬件支持 5.0。除了有效负载扩展之外,5.0 版尚未启用。
 

限制

Digi XBee 3 不支持通过 BLE 从调制解调器添加通用 GATT 服务。此限制意味着 XBee 3 无法执行特定 BLE 设备类型的角色,例如灯泡、健身监视器、湿度传感器等。 Digi XBee 3 当前发布的版本无法与 BLE 5.0 的 2M 服务互操作,但继续检查回来,因为这可能会在未来的软件更新中提供。
 

词汇表

  • 通用访问配置文件 (GAP) 定义了设备如何在 BLE 网络中进行广告和扫描。
  • 通用属性配置文件 (GATT) 定义了设备如何向其他 BLE 设备提供服务和特性。
  • 视线 (LoS) 理想化了设备之间无干扰的无线操作环境。
  •  从 BLE 设备发送的广告广播消息以促进发现或传达其他广播数据。
  • 信标 是定制的广告,用于中继特定于应用程序的数据。

其他资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值