使用 BLE 無線 UART 的低功耗喚醒傳感器進(jìn)行篡改檢測
- 此示例使用 FRDM-MCXW71 和板載 FXLS8974CF 加速度計或 NMH1000 磁性開關(guān)或 MPL3115 壓力傳感器來演示使用低功耗運(yùn)動或磁性喚醒功能對設(shè)備進(jìn)行篡改/盜竊/濫用的自主檢測,并通過 BLE 無線 UART 傳輸 ALERT 消息。
- FXLS8974CF是一款三軸加速度計,專為需要低功耗運(yùn)動喚醒的應(yīng)用而設(shè)計。該傳感器內(nèi)置 SDCD 模塊,可實現(xiàn)高效靈活的慣性事件檢測功能,用于檢測各種慣性事件,例如無運(yùn)動/檢測到資產(chǎn)被篡改/盜竊/濫用的運(yùn)動。這種超低功耗運(yùn)動喚醒功能可在未檢測到運(yùn)動時自動觸發(fā)主機(jī) MCU 喚醒或返回深度睡眠模式。
下圖顯示了 SDCD 模塊配置,用于檢測無運(yùn)動到運(yùn)動:
- NMH1000是一款超低功耗單片霍爾效應(yīng)磁場傳感器,當(dāng)周圍磁場強(qiáng)度超過用戶定義的檢測閾值時,它會觸發(fā)輸出。它適用于許多需要通過磁場強(qiáng)度變化來喚醒設(shè)備,并觸發(fā)中斷以喚醒主機(jī) MCU/系統(tǒng)的應(yīng)用。
- MPL3115A2S是一款緊湊型壓阻式絕對壓力傳感器,當(dāng)壓力變化大于用戶定義的檢測閾值時,可以檢測到壓力變化。它適用于許多需要通過磁場強(qiáng)度變化來喚醒設(shè)備并觸發(fā)中斷以喚醒主機(jī) MCU/系統(tǒng)的應(yīng)用。
- 在許多應(yīng)用中,用戶希望檢測家中和/或工作場所中高價值/安全資產(chǎn)是否遭到意外、故意的觸摸、損壞/濫用或盜竊行為。目標(biāo)應(yīng)用包括:
- 此示例演示了使用 NXP 的 FRDM-MCXW71/7x 和傳感器開發(fā)生態(tài)系統(tǒng)來加速多個此類應(yīng)用程序的原型設(shè)計。
主板:FRDM-MCXW71、FRDM-MCXW7X
配件:板載加速度計 FXLS8974CF、mikroehallswitch3click、nxpfrdmstbcp3115、nxpfrdmstbinmh1000、mikroeaccelpressureclick。
類別:低功耗、傳感器、無線連接
外設(shè):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 應(yīng)用程序 - Android 商店或 NXP IoT ToolBox 應(yīng)用程序 - Apple 商店
2.硬件
- FRDM-MCXW71/7x MCU 板,帶板載 FXLS8974CF 加速度計
- FRDMSTBC-P3115 Arduino 擴(kuò)展板,適用于 MPL3115 絕對壓力傳感器。
- FRDMSTBI-NMH1000 Arduino 擴(kuò)展板,適用于 NMH1000 磁性開關(guān)傳感器。
- 用于 NMH1000 磁性開關(guān)傳感器的Hall Switch 3 Click擴(kuò)展板
- 用于 MPL3115 絕對壓力傳感器的Accel & Pressure Click Click 擴(kuò)展板。
- 個人電腦
- Mini/micro C USB 線纜
- 支持BLE無線連接的Android或Apple手機(jī)。
- 一塊磁鐵。
3. 設(shè)置
3.1 硬件設(shè)置
3.1.1 步驟 1:刷新 NBU
- FRDM-MCXW71 板配備了用于無線電核心的窄帶單元 (NBU) 預(yù)閃存代碼。
- 如果您需要重新刷新 NBU 固件,請按照以下說明操作: 在 FRDM-MCXW71 上刷新 NBU 固件 檢查 NBU 不兼容版本
3.1.2 第二步:連接主機(jī)
- 將微型 USB 電纜從連接器 MCU-LINK 連接到主機(jī)。
- 要使用 NMH1000 磁性開關(guān)傳感器運(yùn)行篡改檢測,請將?? FRDMSTBI-NMH1000 擴(kuò)展板或霍爾開關(guān) 3 點(diǎn)擊板連接到 FRDM-MCXW71 MCU 板。
- 要使用 MPL3115 壓力傳感器進(jìn)行篡改檢測,請將?? FRDMSTBC-P3115 擴(kuò)展板或 Accel&Pressure Click 板連接到 FRDM-MCXW71 MCU 板。確保連接 FRDM-STBC-P3115 擴(kuò)展板上的 J7 和 J8 引腳 1-2。
3.2 軟件設(shè)置
3.2.1 步驟 1:下載并安裝所需軟件
- 下載并安裝MCUXpresso IDE v24.12.148
- 下載并安裝適用于 FRDM-MCXW71 的 MCUXpresso SDK v25.03.00
- 安裝 Git v2.39.0(用于克隆和運(yùn)行 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:構(gòu)建示例項目
- 打開 MCUXpresso IDE 并選擇一個目錄來創(chuàng)建您的工作區(qū)。
- 將適用于 FRDM-MCXW71 的 MCXUpresso SDK v25.03.00 安裝到 MCUXpresso IDE 中(將 SDK zip 拖放到“已安裝的 SDK”視圖中)。
- 轉(zhuǎn)到“快速啟動面板”并單擊“從文件系統(tǒng)導(dǎo)入項目”,
- 選擇“項目目錄(解壓)”并瀏覽到克隆的項目文件夾。
- 選擇您想要打開并運(yùn)行的示例項目(“frdmmcxw71fxls8974tamperdetect”或“frdmmcxw71nmh1000tamperdetect”或“frdmmcxw71mpl3115tamper_detect”)。
- 右鍵單擊項目并選擇構(gòu)建以開始構(gòu)建項目。
4 運(yùn)行演示
4.1 步驟 1:在 FRDM-MCXW71 板上燒寫演示固件
- 使用 USB-C 電纜連接主機(jī) PC 和目標(biāo) FRDM-MCXW71 板上的 MCU-Link USB 端口。
- 選擇“frdmmcxw71fxls8974tamperdetect”或“frdmmcxw71nmh1000tamperdetect”或“frdmmcxw71mpl3115tamper_detect”項目。
- 右鍵單擊項目并選擇“Debug As”。選擇 MCUXpresso IDE LinkServer (inc. CMSIS DAP) 探針。
- 調(diào)試器將開始將程序下載到設(shè)備。MCU-LINK 探針將被識別。點(diǎn)擊“OK”繼續(xù)。
- 單擊“恢復(fù)”按鈕或按鍵盤上的“F8”鍵繼續(xù)在設(shè)備上運(yùn)行下載的程序。
- 單擊“終止”按鈕或按“CNTR + F2”終止調(diào)試會話。
- 斷開連接到 FRDM-MCXW71 的 USB-C 電纜并重新連接。
4.2 第二步:開始投放廣告
- 為了使您的主板開始其 BLE 廣告,請按下并釋放按鈕 SW3。
4.3 步驟 3:連接到 IoT ToolBox 應(yīng)用程序
- 在手機(jī)上打開已安裝的 NXP IoT 工具箱(可從 Play Store 和 App Store 獲?。?。確保藍(lán)牙連接已開啟。
- 在應(yīng)用程序中,點(diǎn)擊無線 UART 小部件。掃描將自動開始。
- 當(dāng)出現(xiàn)名為 NXP_WU 的設(shè)備時,點(diǎn)擊它。你的手機(jī)現(xiàn)在應(yīng)該已經(jīng)連接到開發(fā)板了。
5.結(jié)果
- 連接FRDM-MCXW71設(shè)備后,串行UART終端將顯示此消息:
- 由于 FRDM-MCXW71 板上沒有顯示任何篡改/動作,IoT ToolBox 移動應(yīng)用程序上的無線 UART 應(yīng)用程序?qū)@示狀態(tài)為:“您的資產(chǎn)是安全的”
使用 FXLS8974CF 進(jìn)行篡改檢測:
- 當(dāng)您在 FRDM-MCXW71 上顯示篡改/移動時,板載 FXLS8974CF 加速度計會檢測到運(yùn)動并喚醒。
- 此時,您將看到無線 UART 應(yīng)用程序顯示 ALERT 消息,如下所示:
- FRDM-MCXW71 板還將顯示“紅色”LED 狀態(tài)?!凹t色”LED 狀態(tài)將持續(xù)亮起,直至檢測到篡改/運(yùn)動。
- 如果連續(xù)約 5 秒內(nèi)未檢測到任何篡改/運(yùn)動,板載 FXLS8974CF 加速度計將檢測到無運(yùn)動,并更新無線 UART 應(yīng)用程序上的狀態(tài)消息。FRDM-MCXW71 板上的“紅色”LED 狀態(tài)也將熄滅。
使用 NMH1000 磁性開關(guān)進(jìn)行篡改檢測:
- 當(dāng)您將磁鐵放在 NMH1000 傳感器附近以顯示對 FRDM-MCXW71 的篡改時,NMH1000 會檢測到磁場的變化并喚醒。
- 此時,您將看到無線 UART 應(yīng)用程序顯示 ALERT 消息,如下所示:
- FRDM-MCXW71 板還將顯示“紅色”LED 狀態(tài)?!凹t色”LED 狀態(tài)將持續(xù)亮起,直至檢測到篡改/磁場變化。
使用 MPL3115 壓力傳感器進(jìn)行篡改檢測:
- 當(dāng)您使用食指按壓/向 MPL3115 傳感器施加壓力以顯示對 FRDM-MCXW71 的篡改時,MPL3115 傳感器會檢測到壓力變化并喚醒。
- 此時,您將看到無線 UART 應(yīng)用程序顯示 ALERT 消息,如下所示:
- FRDM-MCXW71 開發(fā)板還將顯示“紅色”LED 狀態(tài)。“紅色”LED 狀態(tài)將持續(xù)亮起幾秒鐘,以表示警報。
- “紅色”LED 熄滅后,無線 UART 應(yīng)用程序?qū)@示消息“您的資產(chǎn)是安全的”。
6. 支持
- 訪問 NXP 傳感器社區(qū)頁面獲取更多支持 - NXP 社區(qū)
- 有關(guān) FXLS8974CF SDCD 模塊的更多詳細(xì)信息,請參閱應(yīng)用說明 - AN12004
- 了解有關(guān) FXLS8974CF 三軸加速度計的更多信息,請參閱 - FXLS8974CF DS
- 了解有關(guān) NMH1000 磁力開關(guān)的更多信息,請參閱 - NMH1000 DS
- 了解有關(guān) MPL3115 壓力傳感器的更多信息,請參閱 - MPL3115A2S DS
- 使用傳感器工具箱加速您的傳感器開發(fā),請參閱 -傳感器開發(fā)生態(tài)系統(tǒng)
項目元數(shù)據(jù)
有關(guān)此示例的內(nèi)容/正確性的問題可以作為此 GitHub 存儲庫中的問題輸入。
來源:恩智浦appcodehub