如何有效實作多重連線資產追蹤應用

作者:Jens Wallmann

先進的資產追蹤應用,例如家畜監測、車隊管理和物流,會自動擷取受追蹤物件目前的狀態資訊和位置座標。內建轉發器會將記錄資料轉送至雲端,並提供給控制中心或行動裝置使用。在廠區裡,通常需進行短距無線數據更新,以便交換物流資料、流程歷史紀錄與監測資料、更改配置,或在轉發器記憶體中執行韌體更新。

這類資產追蹤系統的開發人員所面臨的設計挑戰在於,需設計出多功能的感測器轉發器,不僅要透過各種遠距和短距無線電協定進行通訊、收集多種量測資料、在更換電池前可提供數月的操作,還可透過網際網路服務提供所有資料。除此之外,設計人員還要降低成本和縮短上市時間。

雖然這可能是萬分艱鉅的任務,但若使用整合了許多必要軟硬體的開發套件,設計人員便能省下許多時間及精力。

本文將針對多種應用的進階資產追蹤,探討其技術要求。接著會介紹 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)。

STMicroelectronics STEVAL-ASTRA1B 兩種主要運作模式的示意圖圖 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)。

行動應用程式可協助在 TTN 上註冊轉發器示意圖 (按此放大)圖 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 引擎)。

使用 STMicroelectronics STM32CubeMX 工具進行圖形化軟體設定示意圖 (按此放大)圖 7:使用 STM32CubeMX 工具進行圖形化軟體設定:導覽 (左側和上方)、FP-ATR-ASTRA1 套件設定 (中間) 及其架構 (右側)。(圖片來源:STMicroelectronics)

配置好所有設定值後,按下 <Generate Code> (產生程式碼) 按鈕,就可從 STM32CubeMX 產生程式碼。開啟所需的 IDE 後,便可對韌體程式碼進行自訂、編譯並刷寫到電路板。

產生的原始程式碼,在硬體區塊和功能方面採用模組化架構。硬體區塊管理會透過特定的定義 (USE_GNSS) 進行識別,其函數會根據不同的檔案進行管理,例如系統初始化、狀態機設定或資料管理。

儘管檔案樹狀目錄很複雜,但使用案例的應用設定只涉及幾個檔案:

  • app_astra.c/.h
    此主要檔案是切入點,會調用 MX_Astra_Init() 中的初始化函數 (清單 1)

MX_Astra_Init() 函數用於系統初始化示意圖清單 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 的正式原則。

關於作者

Jens Wallmann

Jens Wallmann

Jens Wallmann 是一名自由編輯,專門處理紙本與線上電子刊物。身為電氣工程師 (通訊工程) 與訓練有素的工業電子工程師,在電子開發領域已累積超過 25 年經驗,鑽研量測技術、汽車電子、製程工業與無線射頻領域。