如何調整現(xiàn)有設計使之應用于物聯(lián)網(wǎng)(IoT)
2019-10-30
來源:Microchip Technology Inc. 業(yè)務拓展經(jīng)理(EMEA)Arild Rodland
對于許多人來說,當前聯(lián)網(wǎng)家電數(shù)量的激增讓人回想起20世紀90年代越來越多的個人計算機連入互聯(lián)網(wǎng)的情形。當時,,關于這項技術僅僅是一個噱頭,還是確實會對社會產(chǎn)生持久影響,,諸如此類的爭論此起彼伏。如今,聯(lián)網(wǎng)PC和手機已被認為是必不可少的設備,許多人預見到聯(lián)網(wǎng)家電在全世界普及將成為必然趨勢,。
能夠從全世界任何地方開啟咖啡機似乎并不是改變生活的技術,,但是咖啡機僅僅是家庭物聯(lián)網(wǎng)革命的起點。物聯(lián)網(wǎng)將成為在電器領域取得創(chuàng)新發(fā)展和尋求商機的基礎,。機器學習和人工智能技術的不斷進步只會加速這一發(fā)展進程。從電器和傳感器收集原始數(shù)據(jù)的能力將開啟一個全新的世界,,豐富的用例和機遇將接踵而至,。
一些設計人員不確定是否要參與物聯(lián)網(wǎng)革命,因為他們擔心構建帶有物聯(lián)網(wǎng)連接功能的嵌入式設計會是一項艱巨的任務,。而現(xiàn)實情況是,,這些需求很容易實現(xiàn)。支持物聯(lián)網(wǎng)的產(chǎn)品通常僅包含三個元素:處理器或單片機(“智能”元素),、網(wǎng)絡控制器(“連接”元素)以及確保與云安全通信的方法(“安全”元素),。
由于大多數(shù)設計人員已經(jīng)投入了大量時間和精力來打造出色的產(chǎn)品,因此重復使用大多數(shù)現(xiàn)有設計工作可帶來極大的優(yōu)勢,。通常,,僅需將連接元素和安全元素添加到現(xiàn)有設計中即可實現(xiàn)物聯(lián)網(wǎng)連接。無需從頭開始設計解決方案,,而是可以通過快速轉換現(xiàn)有設計來連接到物聯(lián)網(wǎng),。可以通過采用軟件編程領域公認的技術高效完成這項任務,,從而簡化和加速開發(fā)過程,。
分解挑戰(zhàn),逐一擊破
嵌入式設計人員著手使現(xiàn)有產(chǎn)品能在物聯(lián)網(wǎng)中運行的任務時,,可以向軟件編程人員學習一些技巧,。面對復雜編程挑戰(zhàn)的編程人員一直以來都采用自上而下的設計方法或模塊化編程。這種方法涉及將較大的問題分解為較小的,、更易于管理的子問題,,而這些子問題又可以分解為更小的待處理任務。這是一種強大且經(jīng)過驗證的方法,,能夠解決單一代碼難以處理的挑戰(zhàn)性問題,。那么,如何將這種方法使用到嵌入式硬件系統(tǒng)中呢,?
事實證明,,嵌入式系統(tǒng)工程師可以通過對其系統(tǒng)開發(fā)進行模塊化處理來獲得同樣的好處。除了面臨純粹的編程挑戰(zhàn)之外,,嵌入式系統(tǒng)通常還需要符合相應標準并經(jīng)過嚴格的認證流程,。認證后更改軟件或硬件可能需要重新認證產(chǎn)品。僅出于這個原因,,將需要認證的部分拆分為多個子系統(tǒng)會帶來巨大的優(yōu)勢,。這樣,,一個子系統(tǒng)中的缺陷將不會影響其他子系統(tǒng)的性能。
例如,,許多設計人員希望為新一代現(xiàn)有產(chǎn)品添加安全的互聯(lián)網(wǎng)連接,,以改善用戶體驗及方便添加各種功能,包括遠程診斷,、監(jiān)視功能,、自動履行服務和統(tǒng)計數(shù)據(jù)收集,從而為未來的產(chǎn)品增強做好計劃,。這種支持物聯(lián)網(wǎng)的產(chǎn)品需要以下三個主要功能:1)原始應用,;2)與互聯(lián)網(wǎng)的連接;3)一種保護應用的方法,。如圖1所示,,這種支持物聯(lián)網(wǎng)的應用本質上是添加了安全功能和連接功能的原始應用。
圖1:支持物聯(lián)網(wǎng)的應用包括原始應用,、安全功能和連接功能
從實現(xiàn)的角度來看,,這種設計挑戰(zhàn)可分為三個子任務:原始應用程序代碼可重復使用,僅添加了安全功能和連接功能,。
不過,,對于工程師而言,從頭開始添加安全功能和互聯(lián)網(wǎng)連接功能都很復雜,。此外,,將新功能集成到現(xiàn)有應用程序中可能會干擾現(xiàn)有解決方案,從而降低組合應用程序的質量,。開發(fā)人員通常會編寫針對當前應用程序進行了高度優(yōu)化的代碼,。因此,很難保證在添加時序關鍵連接功能和計算任務繁重的安全功能的同時,,又保證更新后的產(chǎn)品達到相同的性能水平標準,。
圖2說明了這種組合方法。所有功能都作為單個解決方案實現(xiàn),,這增加了編寫和調試應用程序的復雜性,。一部分代碼中的缺陷可能會影響其他關鍵功能的時序和性能,這可能會使簡單的缺陷造成負面影響,,進而導致需要進行重新認證,。
圖2:在此集成解決方案中,所有代碼和功能都集成在單個器件中,,這會增加代碼復雜性并延長代碼開發(fā)時間
采用模塊化方法將使設計人員能夠保持其現(xiàn)有代碼庫和IP不變,,僅根據(jù)需要添加連接和安全功能。
使用這種方法,,可以將安全和連接功能實現(xiàn)為單獨的軟件和硬件任務,,從而節(jié)省大量時間,,并減少給定產(chǎn)品所需的工程師數(shù)量。該方法還可更方便地重復使用代碼和系統(tǒng),,從而提供了更大的靈活性,。例如,設計人員可能希望同時提供同一產(chǎn)品的Wi-Fi和低功耗藍牙(BLE)兩種型號,。在這種情況下,,模塊化方法可快速、方便地實現(xiàn)物聯(lián)網(wǎng)設計的創(chuàng)新,。
圖3:借助模塊化解決方案,設計人員可以重復使用現(xiàn)有應用程序,,并將安全功能和連接功能隔離為與主應用程序無關的更小,、更易于管理的任務
模塊化方法的優(yōu)點是,在向產(chǎn)品添加物聯(lián)網(wǎng)連接時,,不會丟失任何專注于優(yōu)化和調整現(xiàn)有系統(tǒng)的工作,。設計人員可以輕松添加所需的功能,而不會影響系統(tǒng)的其他部分,。
為了簡化過程,,可以選擇經(jīng)過認證的模塊實現(xiàn)安全功能和無線通信。這將極大縮短認證時間以及新產(chǎn)品上市所需的時間,。Microchip的ATECC608A器件就是一種經(jīng)過認證的安全元件,。此器件可處理與密鑰和證書的驗證以及安全存儲相關的所有任務,無需編寫任何代碼即可提供安全的解決方案,。同樣,,經(jīng)過認證的無線模塊可執(zhí)行安全連接到無線網(wǎng)絡所需的所有操作。
此外,,使用經(jīng)過認證的模塊實現(xiàn)安全功能和無線功能時,,不需要設計人員是安全或通信領域的專家。這些模塊包含所有必需的代碼段,,通常由通過UART,、SPI或I2C等串行接口發(fā)送的簡單命令控制。
為了進一步簡化設計并縮短上市時間,,諸如Microchip AVR-IoT WG開發(fā)板之類的開發(fā)板包含了這些模塊,,以實現(xiàn)安全且易于部署的物聯(lián)網(wǎng)連接。利用這些工具,,工程師只需花費30秒并通過幾次點擊便可將現(xiàn)有產(chǎn)品連接到Google Cloud IoT Core,,然后開始傳輸數(shù)據(jù)。
圖4:AVR-IoT WG開發(fā)板結合了AVR單片機,、安全元件IC和經(jīng)過認證的Wi-Fi網(wǎng)絡控制器,,可幫助設計人員在幾分鐘內(nèi)完成聯(lián)網(wǎng)設備的原型設計
如果能夠將家電和消費產(chǎn)品連接到云,,無論是為人工智能和機器學習應用提供大數(shù)據(jù),還是僅提供一種執(zhí)行安全遠程固件更新的更安全方法,,其潛在的價值都是巨大的,。通過分解挑戰(zhàn)和使用經(jīng)過認證的模塊來實現(xiàn)安全和通信功能,設計人員可以方便,、快捷地調整當前設計來利用這些機會,。