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