使用 BLE 無線 UART 的低功耗喚醒傳感器進行篡改檢測
- 此示例使用 FRDM-MCXW71 和板載 FXLS8974CF 加速度計或 NMH1000 磁性開關或 MPL3115 壓力傳感器來演示使用低功耗運動或磁性喚醒功能對設備進行篡改/盜竊/濫用的自主檢測,并通過 BLE 無線 UART 傳輸 ALERT 消息。
- FXLS8974CF是一款三軸加速度計,專為需要低功耗運動喚醒的應用而設計。該傳感器內(nèi)置 SDCD 模塊,可實現(xiàn)高效靈活的慣性事件檢測功能,用于檢測各種慣性事件,例如無運動/檢測到資產(chǎn)被篡改/盜竊/濫用的運動。這種超低功耗運動喚醒功能可在未檢測到運動時自動觸發(fā)主機 MCU 喚醒或返回深度睡眠模式。
下圖顯示了 SDCD 模塊配置,用于檢測無運動到運動:
- NMH1000是一款超低功耗單片霍爾效應磁場傳感器,當周圍磁場強度超過用戶定義的檢測閾值時,它會觸發(fā)輸出。它適用于許多需要通過磁場強度變化來喚醒設備,并觸發(fā)中斷以喚醒主機 MCU/系統(tǒng)的應用。
- MPL3115A2S是一款緊湊型壓阻式絕對壓力傳感器,當壓力變化大于用戶定義的檢測閾值時,可以檢測到壓力變化。它適用于許多需要通過磁場強度變化來喚醒設備并觸發(fā)中斷以喚醒主機 MCU/系統(tǒng)的應用。
- 在許多應用中,用戶希望檢測家中和/或工作場所中高價值/安全資產(chǎn)是否遭到意外、故意的觸摸、損壞/濫用或盜竊行為。目標應用包括:
- 此示例演示了使用 NXP 的 FRDM-MCXW71/7x 和傳感器開發(fā)生態(tài)系統(tǒng)來加速多個此類應用程序的原型設計。
主板: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
- 物聯(lián)網(wǎng)傳感 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 并選擇一個目錄來創(chuàng)建您的工作區(qū)。
- 將適用于 FRDM-MCXW71 的 MCXUpresso SDK v25.03.00 安裝到 MCUXpresso IDE 中(將 SDK zip 拖放到“已安裝的 SDK”視圖中)。
- 轉到“快速啟動面板”并單擊“從文件系統(tǒng)導入項目”,
- 選擇“項目目錄(解壓)”并瀏覽到克隆的項目文件夾。
- 選擇您想要打開并運行的示例項目(“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”繼續(xù)。
- 單擊“恢復”按鈕或按鍵盤上的“F8”鍵繼續(xù)在設備上運行下載的程序。
- 單擊“終止”按鈕或按“CNTR + F2”終止調試會話。
- 斷開連接到 FRDM-MCXW71 的 USB-C 電纜并重新連接。
4.2 第二步:開始投放廣告
- 為了使您的主板開始其 BLE 廣告,請按下并釋放按鈕 SW3。
4.3 步驟 3:連接到 IoT ToolBox 應用程序
- 在手機上打開已安裝的 NXP IoT 工具箱(可從 Play Store 和 App Store 獲取)。確保藍牙連接已開啟。
- 在應用程序中,點擊無線 UART 小部件。掃描將自動開始。
- 當出現(xiàn)名為 NXP_WU 的設備時,點擊它。你的手機現(xiàn)在應該已經(jīng)連接到開發(fā)板了。
5.結果
- 連接FRDM-MCXW71設備后,串行UART終端將顯示此消息:
- 由于 FRDM-MCXW71 板上沒有顯示任何篡改/動作,IoT ToolBox 移動應用程序上的無線 UART 應用程序將顯示狀態(tài)為:“您的資產(chǎn)是安全的”
使用 FXLS8974CF 進行篡改檢測:
- 當您在 FRDM-MCXW71 上顯示篡改/移動時,板載 FXLS8974CF 加速度計會檢測到運動并喚醒。
- 此時,您將看到無線 UART 應用程序顯示 ALERT 消息,如下所示:
- FRDM-MCXW71 板還將顯示“紅色”LED 狀態(tài)?!凹t色”LED 狀態(tài)將持續(xù)亮起,直至檢測到篡改/運動。
- 如果連續(xù)約 5 秒內(nèi)未檢測到任何篡改/運動,板載 FXLS8974CF 加速度計將檢測到無運動,并更新無線 UART 應用程序上的狀態(tài)消息。FRDM-MCXW71 板上的“紅色”LED 狀態(tài)也將熄滅。
使用 NMH1000 磁性開關進行篡改檢測:
- 當您將磁鐵放在 NMH1000 傳感器附近以顯示對 FRDM-MCXW71 的篡改時,NMH1000 會檢測到磁場的變化并喚醒。
- 此時,您將看到無線 UART 應用程序顯示 ALERT 消息,如下所示:
- FRDM-MCXW71 板還將顯示“紅色”LED 狀態(tài)?!凹t色”LED 狀態(tài)將持續(xù)亮起,直至檢測到篡改/磁場變化。
使用 MPL3115 壓力傳感器進行篡改檢測:
- 當您使用食指按壓/向 MPL3115 傳感器施加壓力以顯示對 FRDM-MCXW71 的篡改時,MPL3115 傳感器會檢測到壓力變化并喚醒。
- 此時,您將看到無線 UART 應用程序顯示 ALERT 消息,如下所示:
- FRDM-MCXW71 開發(fā)板還將顯示“紅色”LED 狀態(tài)?!凹t色”LED 狀態(tài)將持續(xù)亮起幾秒鐘,以表示警報。
- “紅色”LED 熄滅后,無線 UART 應用程序將顯示消息“您的資產(chǎn)是安全的”。
6. 支持
- 訪問 NXP 傳感器社區(qū)頁面獲取更多支持 - NXP 社區(qū)
- 有關 FXLS8974CF SDCD 模塊的更多詳細信息,請參閱應用說明 - AN12004
- 了解有關 FXLS8974CF 三軸加速度計的更多信息,請參閱 - FXLS8974CF DS
- 了解有關 NMH1000 磁力開關的更多信息,請參閱 - NMH1000 DS
- 了解有關 MPL3115 壓力傳感器的更多信息,請參閱 - MPL3115A2S DS
- 使用傳感器工具箱加速您的傳感器開發(fā),請參閱 -傳感器開發(fā)生態(tài)系統(tǒng)
項目元數(shù)據(jù)
有關此示例的內(nèi)容/正確性的問題可以作為此 GitHub 存儲庫中的問題輸入。
來源:恩智浦appcodehub
閱讀全文