幾乎每個嵌入式系統都需要圖形用戶界面 (GUI) 來監控和顯示遙測數據。在開發過程中監控遙測可以幫助嵌入式開發人員可視化系統正在做什么,并在驗證和調試系統中發揮關鍵作用。在這種情況下,遙測是系統可以傳輸的任何健康和保健信息,并且可能會或可能不會與最終產品一起部署。今天開發 GUI 正在發生巨大變化。在這篇文章中,我們將探討一些關于如何使你的 GUI 工具現代化的技巧。
技巧1 – 留下應用程序并使用瀏覽器
GUI 曾經是用 Visual C++ 甚至 LabView 編寫的獨立的單體應用程序。雖然這不一定有什么問題,但有時平臺之間的交叉兼容性會出現問題。今天的開發人員可能希望在 Windows、Linux、Mac、iOS、Android 或其他一些操作系統上收集數據。試圖支持所有這些是一場噩夢。
解決方案是使用基于服務器的后端,該后端可以從嵌入式系統收集遙測數據,然后提供網頁以顯示并與設備交互。與舊的做事方式相比,這有很多優勢,例如:
兼容任何帶有網絡瀏覽器的設備(帶有網絡連接)
連接和合并多個數據流
多個同時數據查看器
能夠在云中托管(但可以在本地)
利用開源科學和工程庫
瀏覽器就在哪里,它靈活、可擴展且跨平臺。
技巧2 – 使用 Python 編寫 GUI
Python 已經席卷了編程世界。實習生、初級和高級工程師都知道并使用它。用它來寫一個 GUI 是有意義的,但它不僅僅是理解語言的人。Python 為嵌入式開發人員提供了大量的庫和工具,可用于編寫后端、提供網頁和集成多個數據流。許多公司也使用 Python 來分析他們收集的數據,因此將 Python 用于 GUI 可以幫助最大限度地減少需要了解的其他編程語言和維護工作。
技巧3 – 將遙測數據存儲在數據庫中
大多數開發人員的首選格式是將他們的遙測數據保存到 CSV 文件中,這很簡單直接。不幸的是,它并不總是最快的,有時可能會出現吞吐量和讀/寫時間等潛在問題。將數據庫連接到遙測服務器是一種快速靈活的方式來保存數據,然后輕松查詢、分析和顯示遙測數據。
使用 GUI 的嵌入式開發人員通常會猶豫直接使用數據庫,因此在幕后開發人員創建一個用于保存數據的抽象接口非常重要。在界面后面,最初的保存方法可以是一個 CSV 文件,一旦構建了 GUI,就可以建立一個數據庫。使用抽象接口將使 GUI 不關心并且不依賴于用于存儲數據的方法。
技巧4 – 添加分析掛鉤
通過在后端收集數據,它不僅可以應用轉換因子,還可以為各種分析提供數據。集成工程庫可以對流數據進行轉換、平均、過濾等操作,然后將結果提供給 Web 瀏覽器,為工程師和用戶提供可用于調試的實時遙測數據。
這些鉤子還可以將數據提供給其他分析包,以便在數據收集后繪制和審查數據。通常,GUI 僅顯示某個時間段內的實時數據,分析掛鉤可以允許在更長的時間內對數據執行各種有趣的轉換,而這些轉換通常保存在實時圖上。
技巧5 – 添加驗證鉤子
構建腳本命令,這些命令可以按順序發送到系統。這種類型的功能為嵌入式開發人員提供了測試系統的能力,并且還可以輕松地將系統置于潛在的邊界狀態條件下,而無需編寫一堆自定義固件。事實上,GUI 可以作為驗證團隊的助手獲得第二次生命,驗證團隊需要驗證系統是否按預期運行。
驗證掛鉤還可用于檢測故障、設置故障,然后測試系統如何恢復。這將通常僅用于顯示數據的軟件包轉換為更加通用的工具,幾乎沒有增加復雜性并且可以劃分。
結論
通常需要遙測 GUI 來監控嵌入式開發過程中的運行情況,有時甚至在生產過程中。已采用的技術正在迅速變化,更加強調可移植性和可擴展性。將 Web 瀏覽器和服務器后端用于遙測 GUI 是實現 GUI 現代化并確保它們能夠靈活處理未來幾年的需求的絕佳方式。