空中更新使物聯(lián)網(wǎng)(IoT)系統(tǒng)的運行方式發(fā)生了巨大變化。在這里,Percepio的首席執(zhí)行官兼創(chuàng)始人解釋了好處。
當然,明顯的優(yōu)勢是更新更容易,通常透明地下載和安裝。當這與軟件跟蹤結合時,它將成為一種強大的機制,可以提高各種嵌入式IoT系統(tǒng)的質(zhì)量和可靠性。
系統(tǒng)仍然部署有錯誤
盡管開發(fā)人員做出了最大的努力,但這些系統(tǒng)仍然在代碼中保留了錯誤的情況下進行了部署。一個開發(fā)團隊平均在開發(fā)過程中每千行代碼引入約120個錯誤,而每千行代碼中約有5%(即6個錯誤)通常會留在出廠的軟件中。當現(xiàn)場部署了數(shù)千個IoT設備時,依靠用戶報告由這些bug引起的問題既不可靠也不具有可擴展性。用戶報告對于解決問題也往往含糊不清,無濟于事。當有數(shù)百萬個設備時,這一點就顯得尤為重要。
這些遺漏的錯誤可能不會立即顯示出來,而只會在某些情況下引起問題,否則將在產(chǎn)品出廠前就發(fā)現(xiàn)它們。盡管無線(OTA)更新可以解決現(xiàn)場問題,但開發(fā)人員需要某種反饋系統(tǒng)來了解已部署設備中的問題,并且他們需要快速了解。長期以來,這種方法一直是移動和云應用程序(DevOps)開發(fā)的標準方法,并且現(xiàn)在對于嵌入式開發(fā)也是可行的。
識別新的重要問題
解決和解決該領域問題的關鍵是軟件跟蹤,云管理和OTA更新的結合,但這是一個復雜的挑戰(zhàn)。在資源有限的系統(tǒng)中,跟蹤代碼必須盡可能高效。返回云的鏈接需要安全,透明并傳輸正確的數(shù)據(jù),以幫助開發(fā)人員快速輕松地發(fā)現(xiàn)任何問題。云服務必須識別哪些新問題和重要問題,然后通知開發(fā)人員存在需要解決的問題。修復后,必須通過OTA更新將更新的軟件分發(fā)到所有設備。所有這些都需要擴展到數(shù)百萬個設備上。
信息流始于IoT設備的錯誤處理代碼,例如已經(jīng)存在的健全性檢查和故障異常處理程序。使用軟件代理,可以將固件問題作為警報上載到客戶的云帳戶。警報可能包括錯誤消息和與特定問題相關的任何其他信息,例如軟件狀態(tài)變量和硬件寄存器。根據(jù)問題的嚴重性,恢復云連接后,警報可以直接上傳,也可以在設備重啟后上傳。
警報還可能包括設備中最新軟件事件的蹤跡,該蹤跡由代理自動記錄。跟蹤同時提供了錯誤的詳細信息和上下文,從而使開發(fā)人員更容易識別錯誤。
此處的編碼效率是關鍵,以確保需要最少的內(nèi)存來存儲跟蹤,從而為開發(fā)人員提供他們確定實際問題所需的上下文。這很重要,原因有兩個:在甚至從受內(nèi)存限制的IoT系統(tǒng)中收集足夠長的跟蹤時,它可以將上傳時間減少到幾分之一秒,并且可以將警報消息和存儲在云側的運營成本降至最低。這種編碼效率使得在現(xiàn)場以及小型IoT設備中使用跟蹤技術成為可能,從而帶來了巨大的優(yōu)勢。
來自固件代理的警報被上載到客戶的云服務,該服務被配置為存儲警報并還通知處理分類,統(tǒng)計信息和向開發(fā)人員發(fā)送通知的引擎。它還提供了配置選項,例如,確定應將通知發(fā)送給誰以及向誰發(fā)送通知的條件。
收到通知
當開發(fā)人員收到有關新問題的通知時,他們可以訪問警報和跟蹤以查看問題所在。
隱私也是這里的關鍵。軟件跟蹤永遠不需要離開客戶的云帳戶。云處理僅需要警報的匿名簽名,可以在外部云服務中提供該簽名??梢允惯@些信息完全透明,可配置且無意義。通信和存儲由開發(fā)人員的IoT平臺中的現(xiàn)有功能使用身份驗證和加密的最佳實踐提供。
實驗室測試還不夠
由于當今嵌入式物聯(lián)網(wǎng)系統(tǒng)的復雜性,在實驗室進行測試還不足以消除所有軟件問題。實時跟蹤和警報可以在現(xiàn)場發(fā)現(xiàn)錯誤時進行識別,并自動通知開發(fā)人員以加快解決速度。
這樣的系統(tǒng)必須對開發(fā)人員是可伸縮的,安全的和透明的。一旦部署到位,它就可以在許多用戶受到影響之前就立即對問題的首次發(fā)生提供立即的意識,并讓開發(fā)人員充分利用OTA更新來快速改進其產(chǎn)品。
責任編輯人:CC
-
物聯(lián)網(wǎng)
+關注
關注
2899文章
43822瀏覽量
369296 -
物聯(lián)網(wǎng)技術
關注
1文章
352瀏覽量
21627
發(fā)布評論請先 登錄
相關推薦
評論