面向無線工業(yè)節(jié)點(diǎn)應(yīng)用的多傳感器AI資料監(jiān)控架構(gòu)
FP-AI-MONITOR1為無線工業(yè)節(jié)點(diǎn)上之多傳感器AI數(shù)據(jù)監(jiān)控架構(gòu),是STM32Cube的功能套件。本模塊有助于實(shí)作和開發(fā)以STM32Cube的X-CUBE-AI擴(kuò)充套件或NanoEdge AI Studio 設(shè)計(jì)的傳感器監(jiān)控型應(yīng)用,且FP-AI-MONITOR1從擷取數(shù)據(jù)集到整合至實(shí)體節(jié)點(diǎn),完整覆蓋了機(jī)器學(xué)習(xí)項(xiàng)目開發(fā)。
FP-AI-MONITOR1可在SensorTile無線工業(yè)節(jié)點(diǎn)開發(fā)工具包(STEVAL-STWINKT1B)上實(shí)時執(zhí)行學(xué)習(xí)及推論工作,將內(nèi)建傳感器的數(shù)據(jù)作為輸入數(shù)據(jù)。除此之外,F(xiàn)P-AI-MONITOR1利用有線交互式CLI設(shè)定節(jié)點(diǎn),并使用NanoEdge? AI鏈接庫管理學(xué)習(xí)、偵測和分類階段,與此同時,支持雙階段進(jìn)階模式,利用CNN模型將NanoEdge? AI鏈接庫的偵測與分類結(jié)果結(jié)合。在簡易現(xiàn)場操作情況下,F(xiàn)P-AI-MONITOR1的獨(dú)立電池供電模式能讓用戶無須使用控制臺,僅透過用戶按鈕,便能進(jìn)行基本控制。
硬件與軟件概覽
SensorTile無線工業(yè)節(jié)點(diǎn)開發(fā)工具包STEVAL-STWINKT1B
SensorTile 無線工業(yè)節(jié)點(diǎn)(STEVAL-STWINKT1B)為開發(fā)工具包與參考設(shè)計(jì),可簡化狀態(tài)監(jiān)控與預(yù)防性維護(hù)等進(jìn)階工業(yè)物聯(lián)網(wǎng)應(yīng)用的原型設(shè)計(jì)和測試。本產(chǎn)品采超低功耗的Arm Cortex-M4 MCU、120 MHz(含F(xiàn)PU)、2048 KB閃存(STM32L4R9),還配備microSD記憶卡槽,適用于獨(dú)立的數(shù)據(jù)記錄應(yīng)用。
STEVAL-STWINKT1B亦搭載多種工業(yè)物聯(lián)網(wǎng)傳感器,包括但不限于:
? 超寬帶帶(最高達(dá)6 kHz)、低噪音的3軸數(shù)字振動傳感器(IIS3DWB)
? 具備機(jī)器學(xué)習(xí)內(nèi)核心(ISM330DHCX)的6軸數(shù)字加速度計(jì)及陀螺儀iNEMO慣性測量單元(IMU)
? 頻率響應(yīng)高達(dá)80 kHz的模擬MEMS麥克風(fēng)(IMP23ABSU)。
以取得STEVAL-STWINKT1B所支持之不同傳感器和功能的所有信息。
FP-AI-MONITOR1軟件說明
FP-AI-MONITOR1功能套件的頂層架構(gòu),如圖所示。
圖一 : FP-AI-MONITOR1架構(gòu)
先決條件及設(shè)定
硬件的先決條件及設(shè)定
在STEVAL-STWINKT1B使用FP-AI-MONITOR1功能套件需要取得以下硬件:
? STEVAL-STWINKT1B開發(fā)工具包板;
? STLINK-V3MINI debugger;
? 支援Windows 7、8或10;
? 兩條Micro-USB連接線,一條將傳感器板連接至計(jì)算機(jī),另一條則連接至STLINK-V3MINI。
軟件要求
? 從ST網(wǎng)站下載FP-AI-MONITOR1套件,并將.zip文件解壓縮,復(fù)制到計(jì)算機(jī)上的文件夾內(nèi)。套件中包含STEVAL-STWINKT1B傳感器板的二進(jìn)制文件及源代碼。
? 安裝下列任一IDE:
? STMicroelectronics STM32CubeIDE 1.9.0版;
? IAR Embedded Workbench for Arm(EWARM)toolchain 9.20.1版或更新版本;
? RealView微控制器開發(fā)工具包(MDK-ARM)toolchain 5.32版。
? STM32CubeProgrammer(STM32CubeProg)為全方位多重操作系統(tǒng)軟件工具,適合為STM32產(chǎn)品進(jìn)行程序設(shè)計(jì)。本產(chǎn)品透過除錯接口(JTAG及SWD)與開機(jī)加載器界面 (UART、USB DFU、I2C、SPI及CAN)提供易于使用的高效率環(huán)境,適合讀寫和驗(yàn)證裝置內(nèi)存。STM32CubeProgrammer具備多樣功能,可為STM32內(nèi)部存儲器(如閃存、RAM和OTP)以及外部內(nèi)存進(jìn)行程序設(shè)計(jì)。FP-AI-MONITOR1采用 STM32CubeProgrammer 2.10.0版測試。本軟件可從STM32CubeProg下載。
? TeraTerm為免費(fèi)開放的原始碼軟件終端仿真器,其透過序列聯(lián)機(jī)主控FP-AI-MONITOR1 的CLI。(請下載并安裝TeraTerm最新版本。)
? STM32CubeMX:FP-AI-MONITOR1需搭配STM32CubeMX 6.5.0 版使用。
? X-CUBE-AI:最簡單的方法是于STM32CubeMX工具(7.1.0 版或更新版本)內(nèi)下載X-CUBE-AI,如同使用手冊UM2526所述。
? Python 3.7.3:所需套件及版本清單以文本文件提供,可于/FP-AI-MONITOR1_V2.0.0/Utilities/requirements.txt目錄下取得。以下指令適用于Anaconda Prompt或Ubuntu的指令終端內(nèi),以安裝配置文件案requirements.txt中指定的所有套件:pip install -r requirements.txt
? NanoEdge? AI Studio:NanoEdge? AI Studio是新的機(jī)器學(xué)習(xí)(ML)技術(shù),可將真正的創(chuàng)新體驗(yàn)輕松地呈現(xiàn)給終端使用者,只需幾個步驟,開發(fā)人員便能使用最少數(shù)據(jù)打造出最出色的ML鏈接庫。
更新傳感器板STEVAL-STWINKT1B上的應(yīng)用程序
下載并解壓縮套件后,下一步便是用功能套件的二進(jìn)制文件對傳感器節(jié)點(diǎn)進(jìn)行程序設(shè)計(jì)。為了方便用戶,功能套件配備了預(yù)先建立的項(xiàng)目二進(jìn)制文件,取得路徑如下:
/FP-AI-MONITOR1_V2.0.0/Projects/STM32L4R9ZI-STWIN/Applications/FP-AI-MONITOR1/Binary/FP-AI-MONITOR1.bin。如圖二所示,只需執(zhí)行拖放動作,即可利用隨附的二進(jìn)制文件對傳感器板進(jìn)行程序設(shè)計(jì)。
圖二 : 更新STEVAL-STWINKT1B上的應(yīng)用程序
FP-AI-MONITOR1控制臺應(yīng)用程序
設(shè)定控制臺
利用項(xiàng)目的二進(jìn)制文件針對傳感器板進(jìn)行程序設(shè)計(jì)后(如第2、3節(jié)所示),接著透過TeraTerm設(shè)定傳感器板與計(jì)算機(jī)之間的序列聯(lián)機(jī)。首先,啟動TeraTerm,并從工具欄選取或選取適當(dāng)端口建立新聯(lián)機(jī),以建立與傳感器板之間的序列通訊。下圖為COM10 - USB序列裝置(COM 10),但可能會因使用者而異。
設(shè)定傳感器
透過CLI接口,用戶可針對感測和狀態(tài)監(jiān)控應(yīng)用設(shè)定支持的傳感器。輸入sensor_info指令,即可在CLI控制臺上顯示所有受支持傳感器的清單。此指令會列出受支持傳感器及其ID清單,如圖所示,而這些ID可用于設(shè)定傳感器,選項(xiàng)包含:
? enable(啟用):啟用或停用傳感器;
? ODR(輸出數(shù)據(jù)速率):從可用選項(xiàng)列表中設(shè)定傳感器輸出數(shù)據(jù)的速率;
? FS(全規(guī)模范圍):從可用選項(xiàng)列表中設(shè)定全規(guī)模范圍。
下圖范例為取得和設(shè)定的數(shù)值,以及舊值和變更后之?dāng)?shù)值。
圖三
圖四
成功建立聯(lián)機(jī)后,以下訊息將隨即顯示,若非如此,請重新設(shè)定傳感器板。
圖五
輸入help即可顯示所有可用指令的列表及使用說明。
按鈕操作模式
模式是讓用戶即使沒有CLI控制臺,仍能在STWIN上操作FP-AI-MONITOR1。在按鈕操作模式中,傳感器節(jié)點(diǎn)可透過用戶按鈕控制,不須使用交互式CLI控制臺。
然而,按鈕操作模式無論是否有搭配CLI皆可執(zhí)行,且能完全兼容于當(dāng)前的序列控制臺以及其命令行接口(command-line interface,CLI)的定義。
此版本功能套件(STEVAL-STWINKT1B)的支持硬件配備下列三個按鈕:
1.User按鈕:是軟件唯一可以使用的按鈕;
2.Reset按鈕:連接至STM32 MCU重設(shè)腳位;
3.Power按鈕:連接至電源管理;
以及三個LED燈:
1.LED_1(綠色):由軟件控制;
2.LED_2 (橘色):由軟件控制;
3.LED_C (紅色):由硬件控制,當(dāng)透過USB連接線供電時,表示正在充電。
因此,按鈕的基本用戶互動僅需透過兩個按鈕(User及Reset按鈕),以及兩個LED燈(綠色及橘色)完成。以下將詳細(xì)說明這些資源如何分配,藉以向使用者展示哪些運(yùn)行時間為作用中,或報(bào)告?zhèn)鞲衅鞴?jié)點(diǎn)的狀態(tài)。
可用的應(yīng)用
? NanoEdge AI異常偵測存根
? n元分類存根
FP-AI-MONITOR1包含部分預(yù)先整合的存根,可輕松地由NanoEdge AI Studio所產(chǎn)生和提供的AI狀態(tài)監(jiān)控鏈接庫取代。此存根可仿真NanoEdge AI相關(guān)的功能,像是在邊緣執(zhí)行學(xué)習(xí)和偵測階段。
? 慣性資料分類
此為CLI應(yīng)用,含有預(yù)先建置的人類活動識別模型。
? 雙重模式應(yīng)用
除了上述的三種應(yīng)用,F(xiàn)P-AI-MONITOR1亦可提供進(jìn)階執(zhí)行,也被稱做「雙重應(yīng)用模式」。此模式使用以NanoEdge AI鏈接庫為基礎(chǔ)的異常偵測功能,并使用以模擬麥克風(fēng)為基礎(chǔ)的預(yù)先建置ANN模型進(jìn)行分類。雙重模式可于省電模式下運(yùn)作,且內(nèi)含的應(yīng)用互相獨(dú)立。以NanoEdge AI鏈接庫為基礎(chǔ)的低功率異常偵測算法會持續(xù)依據(jù)振動數(shù)據(jù)執(zhí)行,而以高頻率模擬麥克風(fēng)路線為基礎(chǔ)的ANN分類僅會于偵測到異常時觸發(fā)。除此之外,雙重模式是針對USB風(fēng)扇在最大速度下執(zhí)行建立,因此于其他速度下測試時,效能并非十分出色。此應(yīng)用的執(zhí)行方式非常簡單。
參考資源
[1]FP-AI-MONITOR1連結(jié)下載:https://www.st.com/en/embedded-software/fp-ai-monitor1.html
[2]FP-AI-MONITOR1使用手冊:https://wiki.stmicroelectronics.cn/stm32mcu/wiki/AI:FP-AI-MONITOR1_user_manual
[3]取得更多FP-AI-MONITOR1應(yīng)用,例如:在FP-AI-MONITOR上執(zhí)行異常偵測: https://wiki.st.com/stm32mcu/wiki/AI:How_to_perform_anomaly_detection_using_FP-AI-MONITOR1
[4]在STM32L4 IoTnode上執(zhí)行動作感測:https://wiki.stmicroelectronics.cn/stm32mcu/wiki/AI:How_to_perform_motion_sensing_on_STM32L4_IoTnode
評論