當您的設備組有 20 臺設備時,開發人員可以簡單地查看日志并手動搜索常見問題,或者快速構建一些簡單的 Python 腳本來解析數據以確定原因。但是當艦隊規模擴大到數千或數百萬時,Command-F 搜索和簡單的腳本無法捕獲所有錯誤——而且它們肯定不會出現新問題。
鑒于消費者對物聯網設備的需求不斷增加以及跨平臺連接性的增加,錯誤的可能性和頻率——無論是常見的還是不常見的——都在加速。正如供應商不能再發布期望不再與他們交互的產品一樣,固件工程師必須適應不斷變化的需求和不斷改進的設備功能的復雜性。制定構建、監控和更新的計劃對于現代設備開發至關重要。
預測錯誤并在構建時牢記它們
不幸的是,無法預測每個最終用戶使用您的設備的輸入和操作環境。因此,與其采用被動式的開發方法,即在發布日在 Reddit 上被惱怒的用戶首先注意到問題,您應該采取積極主動的開發立場。作為常規設備管理的一部分,具有前瞻性的開發特權通過內置的未來修復和更新將產品推出市場,包括:
確保可以重置為絕對出廠條件的設備可以恢復到舊固件或建立最小固件路徑
當車隊范圍的趨勢表明正確的方向時評估設備診斷趨勢和運輸更新,而不是需要一定天數的測試或浸泡時間
遵循第 0 天工作流程,將固件凍結在最低限度狀態并交付產品,期望您在交付后不斷改進算法并更新設備
監控以減輕潛在問題
長期以來,設備制造商一直依賴最終用戶有效地充當產品測試人員,等待受影響的客戶向客服報告問題。但社交媒體渠道和高客戶期望的結合使這種方法不合時宜且具有風險。最終用戶不只是想要“足夠好”的產品——他們希望設備能夠提供獨特、高效和方便的功能;與其他設備和應用程序的無縫集成;安全; 和定期更新,所有這些都沒有中斷。當這些期望沒有得到滿足時,他們經常準備讓每個人都知道。
設備監控對于滿足這些需求和確保整個設備的健康狀況至關重要。部署一個系統來監控事件、它們發生的次數以及它們在設備中觸發的操作(崩潰、重置或觸發斷言)。捕獲關鍵指標,例如:
電池壽命因系統變化或事件而下降
藍牙斷開次數
CPU 處于活動狀態的滴答聲或秒數
設備在一小時內連接到藍牙的時間
有了監控系統,就可以及早發現(并修復)問題,而且通常完全不會影響最終用戶的體驗。
采用分階段推出方法來緩解潛在問題
分階段推出(逐步向所有設備提供版本)提供了更好的控制和可觀察性,從而降低了風險敞口。分階段推出允許開發人員限制版本更新和補丁中意外錯誤的影響,同時捕獲用于分類和修復的最新指標。
在最簡單的層面上,分階段推出可以包括供應商的員工及其愿意作為初始測試受眾的聯系。除了使用朋友和家人方法進行測試之外,設備制造商還可以選擇一定比例的最終用戶,他們的設備可以被監控以評估潛在問題。
或者,開發人員可以通過定時監控設備來實現不太正式的分階段部署版本。當設備以預定的時間間隔調用時,開發人員可以在特定時間段內推送 OTA 有效負載,并監控在簽入期間收到更新的設備。
盡管設備電源、間歇性連接和資源有限等諸多限制因素,設備開發人員都在推動創新。通過采用預測問題的主動開發方法,開發人員可以減輕硬件開發的額外復雜性,并傾向于動態和迭代過程,從而產生更好、更強大的產品,并隨著時間的推移而改進。
審核編輯:郭婷
-
電源
+關注
關注
184文章
17835瀏覽量
251340 -
物聯網
+關注
關注
2912文章
44912瀏覽量
375937 -
監控系統
+關注
關注
21文章
3939瀏覽量
176366
發布評論請先 登錄
相關推薦
評論