FP-AI-MONITOR1為無線工業(yè)節(jié)點(diǎn)上之多感測器AI資料監(jiān)控架構(gòu),是STM32Cube的功能套件。本模組有助於實(shí)作和開發(fā)以STM32Cube的X-CUBE-AI擴(kuò)充套件或NanoEdge AI Studio 設(shè)計的感測器監(jiān)控型應(yīng)用,且FP-AI-MONITOR1從擷取資料集到整合至實(shí)體節(jié)點(diǎn),完整覆蓋了機(jī)器學(xué)習(xí)專案開發(fā)。
FP-AI-MONITOR1可在SensorTile無線工業(yè)節(jié)點(diǎn)開發(fā)套件(STEVAL-STWINKT1B)上即時執(zhí)行學(xué)習(xí)及推論工作,將內(nèi)建感測器的資料作為輸入資料。除此之外,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è)計,可簡化狀態(tài)監(jiān)控與預(yù)防性維護(hù)等進(jìn)階工業(yè)物聯(lián)網(wǎng)應(yīng)用的原型設(shè)計和測試。本產(chǎn)品采超低功耗的Arm Cortex-M4 MCU、120 MHz(含F(xiàn)PU)、2048 KB快閃記憶體(STM32L4R9),還配備microSD記憶卡槽,適用於獨(dú)立的資料記錄應(yīng)用。
STEVAL-STWINKT1B亦搭載多種工業(yè)物聯(lián)網(wǎng)感測器,包括但不限於:
· 超寬頻帶(最高達(dá)6 kHz)、低噪音的3軸數(shù)位振動感測器(IIS3DWB)
· 具備機(jī)器學(xué)習(xí)內(nèi)核心(ISM330DHCX)的6軸數(shù)位加速度計及陀螺儀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連接線,一條將感測器板連接至電腦,另一條則連接至STLINK-V3MINI。
軟體要求
· 從ST網(wǎng)站下載FP-AI-MONITOR1套件,并將.zip檔解壓縮,復(fù)制到電腦上的資料夾內(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)為全方位多重作業(yè)系統(tǒng)軟體工具,適合為STM32產(chǎn)品進(jìn)行程式設(shè)計。本產(chǎn)品透過除錯介面(JTAG及SWD)與開機(jī)載入器介面 (UART、USB DFU、I2C、SPI及CAN)提供易於使用的高效率環(huán)境,適合讀寫和驗證裝置記憶體。STM32CubeProgrammer具備多樣功能,可為STM32內(nèi)部記憶體(如快閃記憶體、RAM和OTP)以及外部記憶體進(jìn)行程式設(shè)計。FP-AI-MONITOR1采用 STM32CubeProgrammer 2.10.0版測試。本軟體可從STM32CubeProg下載。
· TeraTerm為免費(fèi)開放的原始碼軟體終端模擬器,其透過序列連線主控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),以安裝設(shè)定檔案requirements.txt中指定的所有套件:pip install -r requirements.txt
· NanoEdge? AI Studio:NanoEdge? AI Studio是新的機(jī)器學(xué)習(xí)(ML)技術(shù),可將真正的創(chuàng)新體驗輕松地呈現(xiàn)給終端使用者,只需幾個步驟,開發(fā)人員便能使用最少資料打造出最出色的ML程式庫。
更新感測器板STEVAL-STWINKT1B上的應(yīng)用程式
下載并解壓縮套件後,下一步便是用功能套件的二進(jìn)位檔案對感測器節(jié)點(diǎn)進(jìn)行程式設(shè)計。為了方便使用者,功能套件配備了預(yù)先建立的專案二進(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è)計。

圖二 : 更新STEVAL-STWINKT1B上的應(yīng)用程式 |
|
FP-AI-MONITOR1主控臺應(yīng)用程式
設(shè)定主控臺
利用專案的二進(jìn)位檔案針對感測器板進(jìn)行程式設(shè)計後(如第2、3節(jié)所示),接著透過TeraTerm設(shè)定感測器板與電腦之間的序列連線。首先,啟動TeraTerm,并從工具列選取或選取適當(dāng)連接埠建立新連線,以建立與感測器板之間的序列通訊。下圖為COM10 - USB序列裝置(COM 10),但可能會因使用者而異。
設(shè)定感測器
透過CLI介面,使用者可針對感測和狀態(tài)監(jiān)控應(yīng)用設(shè)定支援的感測器。輸入sensor_info指令,即可在CLI主控臺上顯示所有受支援感測器的清單。此指令會列出受支援感測器及其ID清單,如圖所示,而這些ID可用於設(shè)定感測器,選項包含:
· enable(啟用):啟用或停用感測器;
· ODR(輸出資料速率):從可用選項清單中設(shè)定感測器輸出資料的速率;
· FS(全規(guī)模范圍):從可用選項清單中設(shè)定全規(guī)模范圍。
下圖范例為取得和設(shè)定的數(shù)值,以及舊值和變更後之?dāng)?shù)值。
成功建立連線後,以下訊息將隨即顯示,若非如此,請重新設(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ì)說明這些資源如何分配,藉以向使用者展示哪些執(zhí)行階段為作用中,或報告感測器節(jié)點(diǎn)的狀態(tài)。
可用的應(yīng)用
· NanoEdge AI異常偵測虛設(shè)常式
· n元分類虛設(shè)常式
FP-AI-MONITOR1包含部分預(yù)先整合的虛設(shè)常式,可輕松地由NanoEdge AI Studio所產(chǎn)生和提供的AI狀態(tài)監(jiān)控程式庫取代。此虛設(shè)常式可模擬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ù)振動資料執(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