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