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