使用 BLE 无线 UART 的低功耗唤醒传感器进行篡改检测
- 此示例使用 FRDM-MCXW71 和板载 FXLS8974CF 加速度计或 NMH1000 磁性开关或 MPL3115 压力传感器来演示使用低功耗运动或磁性唤醒功能对设备进行篡改/盗窃/滥用的自主检测,并通过 BLE 无线 UART 传输 ALERT 消息。
- FXLS8974CF是一款三轴加速度计,专为需要低功耗运动唤醒的应用而设计。该传感器内置 SDCD 模块,可实现高效灵活的惯性事件检测功能,用于检测各种惯性事件,例如无运动/检测到资产被篡改/盗窃/滥用的运动。这种超低功耗运动唤醒功能可在未检测到运动时自动触发主机 MCU 唤醒或返回深度睡眠模式。
下图显示了 SDCD 模块配置,用于检测无运动到运动:
- NMH1000是一款超低功耗单片霍尔效应磁场传感器,当周围磁场强度超过用户定义的检测阈值时,它会触发输出。它适用于许多需要通过磁场强度变化来唤醒设备,并触发中断以唤醒主机 MCU/系统的应用。
- MPL3115A2S是一款紧凑型压阻式绝对压力传感器,当压力变化大于用户定义的检测阈值时,可以检测到压力变化。它适用于许多需要通过磁场强度变化来唤醒设备并触发中断以唤醒主机 MCU/系统的应用。
- 在许多应用中,用户希望检测家中和/或工作场所中高价值/安全资产是否遭到意外、故意的触摸、损坏/滥用或盗窃行为。目标应用包括:
- 此示例演示了使用 NXP 的 FRDM-MCXW71/7x 和传感器开发生态系统来加速多个此类应用程序的原型设计。
主板:FRDM-MCXW71、FRDM-MCXW7X
配件:板载加速度计 FXLS8974CF、mikroehallswitch3click、nxpfrdmstbcp3115、nxpfrdmstbinmh1000、mikroeaccelpressureclick。
类别:低功耗、传感器、无线连接
外设:I2C、UART
工具链:MCUXpresso IDE、VS Code
目录
1.软件
- MCUXpresso IDE v24.12.148
- 适用于FRDM-MCXW71的MCUXpresso SDK v25.03.00
- 物联网传感 SDK (ISSDK) v1.8作为 MCUXpresso SDK 中的中间件提供给支持的平台
- Git v2.39.0
- NXP IoT ToolBox 应用程序 - Android 商店或 NXP IoT ToolBox 应用程序 - Apple 商店
2.硬件
- FRDM-MCXW71/7x MCU 板,带板载 FXLS8974CF 加速度计
- FRDMSTBC-P3115 Arduino 扩展板,适用于 MPL3115 绝对压力传感器。
- FRDMSTBI-NMH1000 Arduino 扩展板,适用于 NMH1000 磁性开关传感器。
- 用于 NMH1000 磁性开关传感器的Hall Switch 3 Click扩展板
- 用于 MPL3115 绝对压力传感器的Accel & Pressure Click Click 扩展板。
- 个人电脑
- Mini/micro C USB 线缆
- 支持BLE无线连接的Android或Apple手机。
- 一块磁铁。
3. 设置
3.1 硬件设置
3.1.1 步骤 1:刷新 NBU
- FRDM-MCXW71 板配备了用于无线电核心的窄带单元 (NBU) 预闪存代码。
- 如果您需要重新刷新 NBU 固件,请按照以下说明操作: 在 FRDM-MCXW71 上刷新 NBU 固件 检查 NBU 不兼容版本
3.1.2 第二步:连接主机
- 将微型 USB 电缆从连接器 MCU-LINK 连接到主机。
- 要使用 NMH1000 磁性开关传感器运行篡改检测,请将?? FRDMSTBI-NMH1000 扩展板或霍尔开关 3 点击板连接到 FRDM-MCXW71 MCU 板。
- 要使用 MPL3115 压力传感器进行篡改检测,请将?? FRDMSTBC-P3115 扩展板或 Accel&Pressure Click 板连接到 FRDM-MCXW71 MCU 板。确保连接 FRDM-STBC-P3115 扩展板上的 J7 和 J8 引脚 1-2。
3.2 软件设置
3.2.1 步骤 1:下载并安装所需软件
- 下载并安装MCUXpresso IDE v24.12.148
- 下载并安装适用于 FRDM-MCXW71 的 MCUXpresso SDK v25.03.00
- 安装 Git v2.39.0(用于克隆和运行 west 命令)
- 下载并安装NXP IoT ToolBox App - Android Store或 NXP IoT ToolBox App - Apple Store
3.2.2 步骤 2:克隆 APP-CODE-HUB/dm-tamper-detection-using-low-power-wakeup-sensor-over-ble
- 克隆此存储库以获取示例项目:
- 将目录更改为克隆的项目文件夹:
cd dm-tamper-detection-using-low-power-wakeup-sensor-over-ble
3.2.3 步骤3:构建示例项目
- 打开 MCUXpresso IDE 并选择一个目录来创建您的工作区。
- 将适用于 FRDM-MCXW71 的 MCXUpresso SDK v25.03.00 安装到 MCUXpresso IDE 中(将 SDK zip 拖放到“已安装的 SDK”视图中)。
- 转到“快速启动面板”并单击“从文件系统导入项目”,
- 选择“项目目录(解压)”并浏览到克隆的项目文件夹。
- 选择您想要打开并运行的示例项目(“frdmmcxw71fxls8974tamperdetect”或“frdmmcxw71nmh1000tamperdetect”或“frdmmcxw71mpl3115tamper_detect”)。
- 右键单击项目并选择构建以开始构建项目。
4 运行演示
4.1 步骤 1:在 FRDM-MCXW71 板上烧写演示固件
- 使用 USB-C 电缆连接主机 PC 和目标 FRDM-MCXW71 板上的 MCU-Link USB 端口。
- 选择“frdmmcxw71fxls8974tamperdetect”或“frdmmcxw71nmh1000tamperdetect”或“frdmmcxw71mpl3115tamper_detect”项目。
- 右键单击项目并选择“Debug As”。选择 MCUXpresso IDE LinkServer (inc. CMSIS DAP) 探针。
- 调试器将开始将程序下载到设备。MCU-LINK 探针将被识别。点击“OK”继续。
- 单击“恢复”按钮或按键盘上的“F8”键继续在设备上运行下载的程序。
- 单击“终止”按钮或按“CNTR + F2”终止调试会话。
- 断开连接到 FRDM-MCXW71 的 USB-C 电缆并重新连接。
4.2 第二步:开始投放广告
- 为了使您的主板开始其 BLE 广告,请按下并释放按钮 SW3。
4.3 步骤 3:连接到 IoT ToolBox 应用程序
- 在手机上打开已安装的 NXP IoT 工具箱(可从 Play Store 和 App Store 获取)。确保蓝牙连接已开启。
- 在应用程序中,点击无线 UART 小部件。扫描将自动开始。
- 当出现名为 NXP_WU 的设备时,点击它。你的手机现在应该已经连接到开发板了。
5.结果
- 连接FRDM-MCXW71设备后,串行UART终端将显示此消息:
- 由于 FRDM-MCXW71 板上没有显示任何篡改/动作,IoT ToolBox 移动应用程序上的无线 UART 应用程序将显示状态为:“您的资产是安全的”
使用 FXLS8974CF 进行篡改检测:
- 当您在 FRDM-MCXW71 上显示篡改/移动时,板载 FXLS8974CF 加速度计会检测到运动并唤醒。
- 此时,您将看到无线 UART 应用程序显示 ALERT 消息,如下所示:
- FRDM-MCXW71 板还将显示“红色”LED 状态。“红色”LED 状态将持续亮起,直至检测到篡改/运动。
- 如果连续约 5 秒内未检测到任何篡改/运动,板载 FXLS8974CF 加速度计将检测到无运动,并更新无线 UART 应用程序上的状态消息。FRDM-MCXW71 板上的“红色”LED 状态也将熄灭。
使用 NMH1000 磁性开关进行篡改检测:
- 当您将磁铁放在 NMH1000 传感器附近以显示对 FRDM-MCXW71 的篡改时,NMH1000 会检测到磁场的变化并唤醒。
- 此时,您将看到无线 UART 应用程序显示 ALERT 消息,如下所示:
- FRDM-MCXW71 板还将显示“红色”LED 状态。“红色”LED 状态将持续亮起,直至检测到篡改/磁场变化。
使用 MPL3115 压力传感器进行篡改检测:
- 当您使用食指按压/向 MPL3115 传感器施加压力以显示对 FRDM-MCXW71 的篡改时,MPL3115 传感器会检测到压力变化并唤醒。
- 此时,您将看到无线 UART 应用程序显示 ALERT 消息,如下所示:
- FRDM-MCXW71 开发板还将显示“红色”LED 状态。“红色”LED 状态将持续亮起几秒钟,以表示警报。
- “红色”LED 熄灭后,无线 UART 应用程序将显示消息“您的资产是安全的”。
6. 支持
- 访问 NXP 传感器社区页面获取更多支持 - NXP 社区
- 有关 FXLS8974CF SDCD 模块的更多详细信息,请参阅应用说明 - AN12004
- 了解有关 FXLS8974CF 三轴加速度计的更多信息,请参阅 - FXLS8974CF DS
- 了解有关 NMH1000 磁力开关的更多信息,请参阅 - NMH1000 DS
- 了解有关 MPL3115 压力传感器的更多信息,请参阅 - MPL3115A2S DS
- 使用传感器工具箱加速您的传感器开发,请参阅 -传感器开发生态系统
项目元数据
有关此示例的内容/正确性的问题可以作为此 GitHub 存储库中的问题输入。
来源:恩智浦appcodehub
阅读全文
963
