在 FRDM-MCXN947 和 MCXW236B-Click 板上运行的蓝牙 LE FSCI 主机应用程序
蓝牙 LE FSCI 主机应用演示了健康温度计用例的主机端实现。它旨在与 FSCI Blackbox 应用配合使用,后者可在 MCXW236 Click Board、FRDM-MCXW236 或其他兼容蓝牙 LE 无线 MCU 等平台上运行。
在此设置中,主机应用程序在 FRDM-MCXN947 开发板上运行,并通过 UART 上的 FSCI 协议与 FSCI Blackbox 通信。该协议支持主机和无线 MCU 之间的结构化消息传递,从而允许在低功耗蓝牙 (BLE) 场景中进行控制和数据交换。
- FSCI 协议概述:FSCI 协议文档
- FSCI 蓝牙 LE 主机命令的完整列表:BLE 主机堆栈 FSCI API
此设置适用于设计模块化蓝牙 LE 系统的开发人员,其中主机 MCU 和无线电 MCU 分别在不同的硬件平台上实现。它演示了如何使用恩智浦标准化的 FSCI UART 消息传递来管理主机和无线 MCU 之间的 BLE 通信。通过这种方法,开发人员可以将蓝牙 LE 功能集成并扩展至主机控制的应用中,并增强灵活性、可扩展性和可维护性。
主板:FRDM-MCXN947、FRDM-MCXW23、FRDM-MCXW7X
类别:无线连接
外设:UART、定时器、蓝牙、时钟、GPIO
工具链:VS Code
目录
1.软件
此包中提供的软件是基于 GitHub SKD 25.06.00 的独立示例。
该应用程序充当 GAP 中心节点。它进入 GAP 有限发现程序,并搜索要配对的健康物联网外围设备。配对后,它会配置特征描述符以报告对等设备的温度,并将接收到的温度值显示在连接到 UART(USB) 端口的终端上。
该应用程序默认使用配对绑定。当与健康物联网外设应用程序连接时,它会默认向主机堆栈发送 999999 密码。
支持的开发和构建环境包括:
- Linux 操作系统
- Windows 操作系统
构建系统使用ARM 的cmake
和gcc
。更多详情,请参阅mcuxsdk 仓库。
为了进行调试、软件下载和开发,需要安装带有 MCUXpresso 插件和Segger Jlink 版本 8.44a 或更新版本的VS Code。
请考虑将MCUXpresso for Visual Studio Code 入门作为 VS Code 的起点。
除了提供的软件外,还需要以下 SDK 示例应用程序:
- FRDM-MCXWxx 板的 blefsciblack_box SDK 示例。
注意: MCXW236-Click 板预先刷入了此固件。 - healthcareiot_peripheral SDK 示例适用于 FRDM-MCXW236 板,作为蓝牙 LE 外设运行,实现蓝牙 SIG 健康温度计服务:
```
/*! Health Thermometer Service UUID */
define gBleSigHealthThermometerServiced 0x1809U
```
适用于蓝牙无线平台的 GitHub SDK -详细信息。以下是 SDK 项目选择的屏幕截图:
2.硬件
对于蓝牙 LE FSCI 托管应用程序,需要以下硬件:
- NXP FRDM_MCXN947 - 使用此存储库中的固件进行刷新;
- [NXP MCXW236 - 点击] 或其他 NXP 无线蓝牙 LE FRDM 板(FRDM-MCXW71、FRDM-MCXW72、FRDM-MCXW236)- 使用 SDK 示例刷新:来自 SDK 包的 blefsciblack_box 固件。
FRDM_MCXN947 和 FSCI BB 应用程序之间的连接是通过 J5/J6 接头(Mikro-Bus 接头)上的 UART5 完成的
以下是使用 FRDM_MCXN947 和 MCXW236 Click Board 的设置概述:
对于对等设备,需要NXP FRDM-MCXW236 - 使用 healthcareiot_peripheral SDK 示例进行闪存:
3. 设置
本节介绍使用 VS Code 刷新蓝牙 LE FSCI 主机应用程序所需的步骤、用户交互以及医疗保健用例应用程序的测试方法:
3.1 步骤 1 - 在 VS Code 中导入项目
- 将存储库克隆到本地文件夹;
- 打开 VS Code,选择文件 -> 打开文件夹...
- 选择包含要导入的 fscihostfrdmmcxn947 的文件夹:
- 选择工具链并按导入按钮:
- 源代码位于 armgcc 文件夹下:
- 有关文档,请参阅 README 文件 -> 预览选项:
3.2 步骤 2 - 构建示例
- 选择项目,右键单击并按 Pristine Build。
- 构建结果在终端窗口中:
3.2 步骤 3 - 烧写和调试
- VS Code 闪烁 - 选择调试探针,选择项目并按运行->不调试运行(CTRL+F5):
- 另一种选择是使用 Segger/j-link(如果开发板上刷有 Jlink 固件):
loadbin C:workfsci_host_frdmmcxn947armgccfsci_host_ble_frdmmcxn947.bin, 0
- VS Code 调试 - 选择调试探针,选择项目并按运行->开始调试(F5):
闪烁后的设备行为:
- 一旦电路板闪烁,设备就会进入空闲模式,由闪烁白色的 RGB LED 表示。
- 要开始扫描,请按下 SW3 按钮。
- 在 GAP 有限发现程序(GAP 通用可发现模式的一部分)期间,RGB LED 变为闪烁的蓝色。
- 当节点成功连接到对等设备时,RGB LED 变为稳定的绿色。
- 要断开节点连接,请按住 SW3 按钮 2-3 秒。RGB LED 将恢复闪烁白色,表示设备已恢复空闲模式。
3.2 步骤 4 - 运行演示
在此步骤中,我们认为所有电路板均已正确闪烁。
以下是运行演示的步骤:
- 打开FRDM-MCXN947的串口终端(波特率115200)。复位后将显示以下屏幕:
- 打开 FRDM-MCXW236 的串口终端(波特率 460800)。重置后,设备自动开始广播并测量和显示温度。
- 按下 FRDM-MCXW236 板上的 SW3 按钮以启动扫描。
- 一旦 RGB LED 变为稳定的绿色,即表示设备已成功连接,并且配对自动开始。
- 该应用程序默认使用配对绑定。连接到健康物联网外设应用程序时,它会自动将密码 999999 发送到主机堆栈。
- 配对后,应用程序配置特征描述符以启用对等设备的温度报告,并在终端上显示接收到的温度值。
?注意:?连接的长期密钥 (LTK) 显示在串行日志中。此密钥可用于解码无线数据包交换,以进行调试或分析。
- 要断开连接,请按住 SW3 按钮 2-3 秒。RGB LED 将切换回闪烁的白色,表示设备已返回空闲模式。
- 串行日志中将显示断开连接消息以供确认。
?注意:?此应用程序默认启用非易失性存储器,重置开发板后,配对详细信息将恢复。如需擦除存储的数据,请使用外部 J-Link 调试器或使用 GAPRemoveAllBondsRequest FSCI 命令。
4.结果
有关应用程序行为的详细描述,请参阅第 3.2 节 - 步骤 4。
使用无线嗅探器,在应用程序运行期间捕获了以下日志:
- 初始连接:
- 重置后的行为(配对恢复):
5. 常见问题
要检查 FRDM-MCXN947(FSCI 主机应用程序)和 MCXWxx(FSCI BB 应用程序)之间的 UART 通信,请在 J5 接头(引脚 4 和引脚 5)上连接逻辑分析仪并确认 FSCI 通信:
6. 支持
- 访问 NXP 无线社区页面获取更多支持 - NXP 无线社区
项目元数据
来源:恩智浦appcodehub