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