工業(yè)物聯(lián)網(wǎng)(IIoT)的興起正在將嵌入式軟件開發(fā)推向更大的復雜性——這一變革具有廣泛的影響,影響著軟件開發(fā)過程的每個階段。
嚴格的新網(wǎng)絡安全要求、日益復雜的設備生態(tài)系統(tǒng)、芯片架構的創(chuàng)新、新興的連接技術以及人工智能和機器學習技術的集成正在徹底重塑嵌入式軟件開發(fā)。
具體到嵌入式系統(tǒng),典型的設備有數(shù)百個軟件組件,通常具有相互關聯(lián)的依賴性,這一網(wǎng)絡安全要求將從根本上改變產(chǎn)品的開發(fā)方式。傳統(tǒng)上,最佳實踐是用最新的組件集開始項目,并隨著項目的進展構建和強化項目。但是根據(jù)這一要求,制造商現(xiàn)在必須對軟件供應鏈管理采取更加主動的方法,例如在部署后提供持續(xù)的監(jiān)控和更新。
影響嵌入式系統(tǒng)的其他趨勢
除了網(wǎng)絡安全,還有許多趨勢影響著嵌入式系統(tǒng)的開發(fā)——例如,設備的共存和互操作性。IIoT的大部分價值來自于創(chuàng)造一個環(huán)境,在這個環(huán)境中,設備、傳感器、應用程序、計算機系統(tǒng)和網(wǎng)絡設備協(xié)同工作,以支持工業(yè)運營。廣泛的設備類型和特定設備產(chǎn)生了一個非常復雜的生態(tài)系統(tǒng),管理這種復雜性的責任將在很大程度上落在運行在各種系統(tǒng)組件上的軟件身上,這些軟件最好構建在穩(wěn)定的行業(yè)標準之上。
看似無窮無盡的連接技術也增加了嵌入式系統(tǒng)的復雜性。有如此多的技術被設計來連接設備以創(chuàng)建工作系統(tǒng),很可能最終會建立新的行業(yè)標準,以減少運動部件的數(shù)量。在那一天到來之前,開發(fā)人員可以通過谷歌的IoT Matter標準等舉措來管理復雜性,讓你的設備使用單一協(xié)議與任何生態(tài)系統(tǒng)合作。
另一個重要趨勢是新芯片架構的出現(xiàn)。過去,隨著微處理器發(fā)展得更快、更小、更高效,處理能力也在不斷提升,基本的芯片架構仍然是靜態(tài)的。但最近,隨著芯片制造商努力適應機器學習(ML)應用的計算要求,芯片架構正在發(fā)生變化。AI/ML技術越來越受歡迎,已經(jīng)出現(xiàn)在各種嵌入式應用中,從汽車車載信息娛樂和預測性維護系統(tǒng)到醫(yī)療診斷。隨著更強大的芯片的出現(xiàn),這一趨勢無疑將獲得動力。
在這種環(huán)境下,面向服務的架構越來越突出是有意義的。IIoT的價值是通過協(xié)調具有不同用途、不同位置和不同用戶的設備來創(chuàng)造的,因此它們共同構成了滿足系統(tǒng)要求的最佳方式。面向服務的架構通過關注設備之間發(fā)送的消息來幫助管理IIoT系統(tǒng)的復雜性。Google的Protobuf等工具需要清晰、一致的模式和良好的編程實踐。反過來,它們提供了高效的網(wǎng)絡通信、向后和向前兼容性以及跨語言支持。
移動和云應用中常見的容器化和微服務也被提出來作為通過簡化嵌入式軟件開發(fā)、部署和維護來管理復雜性的方法。例如,如果所有平臺都支持容器運行時,容器化的應用程序可以在PC、服務器或嵌入式目標上運行。微服務通常與容器結合使用,通過將應用程序定義為自治的、松散耦合的服務集合,這些服務協(xié)同工作以滿足系統(tǒng)需求,可以降低開發(fā)和部署的復雜性。
然而,重要的是要注意,在系統(tǒng)的一部分使用容器的好處應該與容器之間通信的額外復雜性一起考慮——特別是在兩個容器需要與單個設備通信的情況下。這個問題在用戶界面開發(fā)中很普遍,在用戶界面開發(fā)中,多個應用程序需要共享屏幕。為了應對這一挑戰(zhàn),越來越多的人開始采用GUI即服務的方法,將GUI分離到自己的容器中。
嵌入式系統(tǒng)變得越來越復雜,這反過來也使得系統(tǒng)開發(fā)變得更加復雜。越來越多的技術被使用,需要更多——更專業(yè)的——嵌入式開發(fā)人員來創(chuàng)建這些系統(tǒng)。對于設備制造商來說,這些變化為產(chǎn)品開發(fā)帶來了新的機遇,但反過來也帶來了難以承受的額外責任。除了最大的公司之外,其他公司可能很難在內部集合所有必要的技能來開發(fā)新的嵌入式產(chǎn)品。對于沒有龐大的設計、開發(fā)、網(wǎng)絡安全、質量保證和監(jiān)管團隊的制造商來說,合作伙伴協(xié)作將成為填補空白的常態(tài)。