如何有效實作多重連線資產追蹤應用
2023-01-11
先進的資產追蹤應用,例如家畜監測、車隊管理和物流,會自動擷取受追蹤物件目前的狀態資訊和位置座標。內建轉發器會將記錄資料轉送至雲端,並提供給控制中心或行動裝置使用。在廠區裡,通常需進行短距無線數據更新,以便交換物流資料、流程歷史紀錄與監測資料、更改配置,或在轉發器記憶體中執行韌體更新。
這類資產追蹤系統的開發人員所面臨的設計挑戰在於,需設計出多功能的感測器轉發器,不僅要透過各種遠距和短距無線電協定進行通訊、收集多種量測資料、在更換電池前可提供數月的操作,還可透過網際網路服務提供所有資料。除此之外,設計人員還要降低成本和縮短上市時間。
雖然這可能是萬分艱鉅的任務,但若使用整合了許多必要軟硬體的開發套件,設計人員便能省下許多時間及精力。
本文將針對多種應用的進階資產追蹤,探討其技術要求。接著會介紹 STMicroelectronics 的多功能開發套件;此套件可大幅簡化原型設計、測試與評估作業。本文將帶您深入瞭解此開發套件的主要功能特點,並說明開發人員如何在不需編碼的情況下,輕鬆自訂複合式系統單晶片 (SoC )模組的功能,以及擷取來自雲端的資料並將其視覺化。
無線測量轉發器的特點
資產追蹤的應用領域相當廣泛,每個領域的轉發器和連結的網路都需要使用特定的技術設備。圖 1 列出無線量測轉發器在四種應用類別中的技術特點。
圖 1:無線量測轉發器的特點取決於資產追蹤應用。(圖片來源:STMicroelectronics)
物件身上的自主轉發器必須偵測環境的影響、物件的位置與狀態 (請見圖 1 中的「感測」),並儲存這些資料,下次再透過多種可用的無線介面 (請見「連線能力」) 進行廣播。從訊號的處理和轉換到各種無線協定,必須由夠強大,且具有高度資料安全性的微控制器 (MCU) 來處理 (請見「處理與安全性」)。MCU 也會控制能源管理 (請見「電源管理」),因此能確保轉發器的電池具有較長的工作壽命。
資產追蹤應用所需的資料可用性,會影響感測器的複雜性,因此也必須具備對應的連線能力。若是可預測的已知運輸路線,例如包裹遞送,只要將量測訊號儲存在轉發器就可以。之後便可在下一個物流檢查點,使用低功耗藍牙 (BLE) 或近場通訊 (NFC) 近距離讀出該資料。
在車隊管理、物流及家畜遠距監測方面,資料透過雲端從轉發器傳輸到終端應用的過程,應盡可能即時完成。因此,轉發器需要行動無線電介面提供廣大的覆蓋範圍。可用選項包括 LoRaWAN (遠距廣域網路)、Sigfox 與窄頻物聯網 (NB-IoT),因為這些協定已針對省電的低量資料傳輸進行最佳化。
完整的資產追蹤生態系統,能減少開發工作
系統設計人員若想以省時、省成本的方式設計出資產追蹤應用 (ASTRA),可使用 STMicroelectronics 的多功能 STEVAL-ASTRA1B 開發平台。此平台包含多個 IC 和 SoC 模組,在編程、測試和評估創新的追蹤與監測解決方案,或開發其原型時,都能簡化許多。此開發套件包含模組化評估板、韌體庫、編程工具和電路文件,以及行動裝置應用程式和網路型視覺化介面 (圖 2)。
圖 2:現成的資產追蹤生態系統,從無線量測轉發器延伸至雲端,再延伸至終端應用,可減少開發工作。(圖片來源:STMicroelectronics)
STEVAL-ASTRA1B 電路板以兩個低功耗 SoC 模組為基礎,可提供短距與遠距連線,並採用 NFC。電路板上具有模組可提供資料安全功能。載板具有多個環境和動作感測器,也具有全球導航衛星系統 (GNSS) 模組,可提供定位座標並支援地理圍欄功能。電源管理系統會管理所有裝置元件的運作模式,並且控制電源供應器。電源供應器包含切換式轉換器、電池及 USB-C 充電控制器,會盡可能延長電池續航力。套件隨附 480 mAh 鋰聚合物 (Li-Poly) 電池、收納盒、SMA 天線 (LoRa) 和 NFC 天線。
STEVAL-ASTRA1B 電路板的 IC 與 SoC 包含:
- 兩個無線 SoC:
- STM32WB5MMGH6TR:此 SoC 模組採用 2.4 GHz 無線超低功耗 Arm® Cortex®-M4/M0+ MCU,可當作主應用處理器,並支援 802.15.4、BLE 5.0、Thread 與 Zigbee
- STM32WL55JCI6:此無線 SoC 採用無線超低功耗 Arm Cortex M0+ MCU,並支援低於 1 GHz 的 LoRa、Sigfox 和 GFSK (150 至 960 MHz)
- ST25DV64K-JFR8D3:NFC 發射器
- TESEO-LIV3F:支援同步多星系的 GNSS 模組
- 環境和動作感測器:
- STTS22HTR:數位溫度感測器;-40 至 125°C
- LPS22HHTR:壓力感測器;26 至 126 kPa (絕對壓力)
- HTS221TR:濕度與溫度感測器;I²C 相對濕度 (RH) 0 至 100%,SPI±4.5% RH
- LIS2DTW12TR:加速計 X、Y、Z 軸;±2g、4g、8g、16g 0.8 Hz 至 800 Hz
- LSM6DSO32XTR:加速計、陀螺儀、溫度感測器 I²C、SPI 輸出
- STSAFE-A110:安全元件
- 採用智慧型電源管理架構的電池供電式解決方案:
- ST1PS02BQTR:降壓切換式穩壓器 IC;正電壓可調式、1.8 V、單輸出、400 mA
- STBC03JR:鋰離子或鋰聚合物的電池充電器 IC
- TCPP01-M12:USB Type-C 與電力傳輸保護
評估板在 +5 至 35°C 的溫度下運作,並使用以下頻段:
- BLE:2400 MHz 至 2480 MHz、+6 dBm
- LoRaWAN:863 MHz 至 870 MHz,+14 dBm (受限於韌體)
- GNSS (接收器):1559 MHz 至 1610 MHz
- NFC:13.56 MHz
STEVAL-ASTRA1B 的內部結構
ASTRA 轉發器的行為類似於資料記錄器,並將資料流分成三大區塊,每個區塊都由硬體和軟體驅動程式以及應用層組成 (圖 3)。資料輸入 (圖 3 左側) 會擷取所有板載感測器訊號。中間區塊 (圖 3 中間) 會處理並儲存資料。最後,儲存的資料會以無線方式廣播 (圖 3 右側)。在重新配置、韌體更新或寫入流程/物流資料時,訊號流會反向執行。
圖 3:無線測量轉發器的資料流:感測器訊號 (左側) 會經過處理、儲存 (中間),然後在適當的時機傳送 (右側)。(圖片來源:STMicroelectronics)
FP-ATR-ASTRA1 韌體可延伸 STMicroelectronics 的 STM32Cube 開發環境,並實作完整的資產追蹤應用,可支援遠距 (LoRaWAN、Sigfox) 與短距 (BLE、NFC) 連線能力。此功能套件會從環境和動作感測器讀取資料、擷取 GNSS 地理定位、透過 BLE 將所有資訊傳送至行動裝置,並透過 LoRaWAN 連線同時傳輸至雲端。
FP-ATR-ASTRA1 套件支援低功耗設定檔,可確保電池續航力持久,進而發揮最大的自主性。此套件也提供許多主要特點,例如安全元件管理、可添加自訂演算法、介面偵錯,以及其他擴充功能。
此軟體套件分為文件、驅動程式和 HAL、中介軟體與範例專案。專案中有 Keil、IAR 和 STM32Cube 整合式開發環境 (IDE) 用的原始程式碼和編譯二進位檔案。以下五個預先定義的使用案例可個別進行配置:車隊管理、家畜監測、貨物監測、物流和自訂案例。
STEVAL-ASTRA1B 是一種簡易的狀態機,會依據事件改變其運作模式。其兩種主要狀態分為完整運作 (Run) 和低功耗 (LP)。在 Run 模式中,所有功能皆作用中,因此所有資料都會依照設定進行廣播。在 LP 狀態下,除了 MCU 之外的所有元件都設定成低功耗模式或停用 (圖 4)。
圖 4:STEVAL-ASTRA1B 的兩種主要運作模式為完整運作 (Run) 或低功耗 (LP) 模式。(圖片來源:STMicroelectronics)
按下側邊按鍵可切換兩種狀態。另一個輸入可以是微機電系統 (MEMS) 事件的輸出,也可以是演算法的結果,而這只是實作狀態機改變裝置行為的其中一種方式。也能實作多個中間狀態,以平衡系統的回應速度與電池續航力。
可能的事件包括
- BP:按鈕按下事件
- SD:關機事件
- ER:錯誤事件
- EP:自動轉至下個步驟
- RN:前往完整運行命令
- LP:前往低功耗命令
擷取並視覺化雲端資料
STEVAL-ASTRA1B 轉發器已預先安裝 FP-ATR-ASTRA1 韌體套件,因此環境量測訊號和 GNSS 位置資料能在幾分鐘內視覺化。
在智慧型手機和平板電腦上使用 STAssetTracking 行動應用程式 (藍牙要啟用並連至網際網路),轉發器就會透過 myst.com 使用者帳戶在 TTN (The Things Network) V3 網路伺服器上註冊,成為 LoRaWAN 參與者,同時也會連結至 Amazon Web Services (AWS) 的 DSH-ASSETRACKING 網路儀表板。
在 TTN 註冊後,STEVAL-ASTRA1B 會出現在行動應用程式上的最新置清單中。按下 <Settings> (設定) 功能表中的「Start synchronization」(開始同步) 按鈕,就會啟動轉發器的傳輸模式,便可透過 BLE 和 LoRaWAN 同時傳輸儲存的資料。此行動應用程式能在儀表板顯示記憶體中的量測資料,並輸出轉發器的 GNSS 位置,或將其標示於地圖上 (圖 5)。
圖 5:此行動應用程式可協助在 TTN 上註冊轉發器,並將其連結至雲端儀表板;且可將記錄的感測器值視覺化並協助設定與偵錯。(圖片來源:STMicroelectronics)
除了 ASTRA 轉發器,網路儀表板能在雲端中匯集其他許多獨立的無線追蹤器,例如 P-L496G-CELL02 (LTE) 和 NUCLEO-S2868A2 (Sigfox RF 發射器),或是網路耦合式節點,例如 STEVAL-SMARTAG1 (Wi-Fi)、STEVAL-MKSBOX1V1 (BLE 終端節點),以及 STEVAL-SMARTAG1 (NFC 終端節點)。因此有助於開發雲端式的多協定無線生態系統。
個別配置與編程
只要在初次試運轉期間成功評估 ASTRA 轉發器的出廠設定,開發人員下一步便要根據自己的資產追蹤應用來自訂轉發器。
若是不牽涉額外硬體的簡易自訂作業,只要透過 BLE 和行動應用程式,就足以設定許多參數和功能 (按下行動應用程式裡的「錘子與扳手」圖示,圖 5)。
設定專案的另一種方法是使用命令列和偵錯主控台。Tera Term 等電腦終端程式會透過虛擬 COM 連接埠和 USB 進行通訊,但行動裝置則是使用 STBLESensor (ST BLE Sensor) 應用程式,並透過 BLE 進行連網 (圖 6)。
圖 6:電腦 (左) 和行動裝置 (右) 上的命令列與偵錯主控台。(圖片來源:STMicroelectronics)
若要重新編程 ASTRA 電路板、或是紀行韌體更新、整合其他函式庫功能,或產生開發人員的應用程式碼,都可輕鬆透過 JTAG 介面存取。為此,會將另外販售的 STLINK-V3MINIE 偵錯與編程配接器,透過 14 引腳的帶狀纜線連接至 ASTRA 電路板。接著,安裝在電腦上的 IDE,例如 Keil、IAR 或 STM32Cube 會將編譯好的二進位檔案寫入到應用程式記憶體或偵錯程式序列。
STLINK-V3MINI 也提供虛擬 COM 埠介面,能讓主機電腦透過 UART 與目標微控制器進行通訊。
不同的 Arm MCU 更新韌體的方法有以下幾種:
- 電腦上的 STM32Cube 編程器,會透過 JTAG 配接器和 MCU 啟動程式,將二進位檔案寫入快閃記憶體中
- 電腦上的 STM32Cube 編程器,會透過 USB 和 MCU 啟動程式,將二進位檔案寫入快閃記憶體中
- 利用行動裝置上的 STBLESensor 應用程式,透過 BLE 進行空中韌體升級 (FUOTA)
由於應用控制器 STM32WL55JC (LoRaWAN) 作為 STM32WB5MMG (BLE) 的主控元件,因此必須透過跳線選擇要刷新的個別 MCU 核心。
使用 STM32CubeMX 進行圖形化軟體設定
STM32Cube 能減少開發工作、時間和成本,讓開發人員更加輕鬆。IDE 涵蓋整個 STM32 MCU 產品組合。此外,STM32CubeMX 可利用圖形化精靈設定和產生 C 語言的程式碼。FP-ATR-ASTRA1 軟體套件可擴充 STM32Cube 的功能,並可直接安裝在 STM32CubeMX IDE 中。
圖 7 為 STM32CubeMX 命令介面:導覽 (左側和上方)、FP-ATR-ASTRA1 套件設定 (中間) 及其架構 (右側)。FP-ATR-ASTRA1 套件提供三種自訂標籤:[Platform Settings] (平台設定)、[Parameter Settings] (參數設定) 和 [ASTRA ENGINE] (ASTRA 引擎)。
圖 7:使用 STM32CubeMX 工具進行圖形化軟體設定:導覽 (左側和上方)、FP-ATR-ASTRA1 套件設定 (中間) 及其架構 (右側)。(圖片來源:STMicroelectronics)
配置好所有設定值後,按下 <Generate Code> (產生程式碼) 按鈕,就可從 STM32CubeMX 產生程式碼。開啟所需的 IDE 後,便可對韌體程式碼進行自訂、編譯並刷寫到電路板。
產生的原始程式碼,在硬體區塊和功能方面採用模組化架構。硬體區塊管理會透過特定的定義 (USE_GNSS) 進行識別,其函數會根據不同的檔案進行管理,例如系統初始化、狀態機設定或資料管理。
儘管檔案樹狀目錄很複雜,但使用案例的應用設定只涉及幾個檔案:
- app_astra.c/.h
此主要檔案是切入點,會調用 MX_Astra_Init() 中的初始化函數 (清單 1)
清單 1:此 MX_Astra_Init() 函數用於系統初始化。(清單來源:STMicroelectronics)
- astra_confmng.c/.h
此電路板設定管理工具含有使用者選定的變數,可啟用/停用每個硬體區塊,以及使用案例的實作和配置。 - astra_datamng.c/.h
在此檔案中,從感測器和其他輸入所收集的資料會儲存在 RAM 中。可隨時進行操控,例如可對資料執行特定的演算法。 - astra_sysmng.c/.h
系統的相關功能會在此處實作。主要功能有命令列介面、按鈕回調、演算法、LED、資產追蹤使用案例管理,以及計時器管理。 - SM_APP.c/.h
這些檔案含有狀態機的設定結構。
結論
資產追蹤應用開發是一項涉及許多步驟的複雜流程,但使用多功能的 STEVAL-ASTRA1B 開發平台就能將工作簡化。此平台內建所有必要的軟硬體,能透過網路介面或行動裝置應用程式,輕鬆快速地將無線轉發器的記錄資料視覺化呈現。如本文所述,開發人員可透過靈活的配置工具,根據其追蹤或監測應用,輕鬆自訂此無線資料記錄器 (無需編寫程式碼),亦可使用自動程式碼產生器。
聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。