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