物聯網節點肯定會數以百億計,很多情況下,相關應用將對成本相對敏感,所以必須考慮每個節點相關的物料清單。此外,還需要考慮每個節點的功耗,因為大量的物聯網節點將被放置在沒有電力線的偏遠地點,這時只能由電池供電,盡可能延長電池的使用時間至關重要。
種種跡象表明,2017將是物聯網(IoT)取得重大發展的一年。產業研究公司IHS的報告預測,今年年底連接設備的數量將增長15%,達到200億臺。這無疑會給經濟、物流和環境帶來潛在的好處,可望在不同領域廣泛應用。依賴高度自動化的工業流程將應運而生,從而提供更安全、更高效和更可靠的系統,更智能、更節能的居住場所,以及更少打擾和更便利的病人護理。
從一開始,半導體制造商就清楚物聯網應該怎樣實現才有效。物聯網節點肯定會數以百億計,很多情況下,相關應用將對成本相對敏感,所以必須考慮每個節點相關的物料清單。此外,還需要考慮每個節點的功耗,因為大量的物聯網節點將被放置在沒有電力線的偏遠地點,這時只能由電池供電,盡可能延長電池的使用時間至關重要(工程師到現場更換電池將花費額外的時間和成本)。根據具體應用,其他一些因素也會影響物聯網節點運作,如空間限制、惡劣的應用環境等。
在部署物聯網時會采用不同的無線和有線通訊協議。一些協議已相當成熟,而另一些正在興起。有線協議包括用于樓宇自動化的KNX和工業用控制器局域網絡(CAN)或以太網絡。大多數無線通信協議將專注于短距離、超低功耗工作,如Wi-Fi、ZigBee、Z-Wave和藍牙低功耗(BLE)。無線協議還有低功耗廣域網(LPWAN)協議,適于距離遠、數據量低的應用,其功耗極低(如Sigfox和LoRa)。能夠替代低功耗協議的,還有用于廣域網、基于蜂巢技術的協議,如LTE-M、窄頻物聯網(NarrowBand IoT,NB-IoT)和5G。
傳感器/致動器(Actuator)是真正驅動物聯網工作的組件。所有的數據都可由傳感器捕獲并加以分析;相反,致動器可用來驅動電機、啟動照明等。從一些應用實例可以看出,傳感器和致動器相結合,再加上連結技術,是核心所在。在住宅/樓宇自動化應用中,網絡中的多個被動式紅外線(PIR)探測器可以確定人的移動,LED驅動器可以根據人的移動啟動對應房間的照明。
在工業應用中,如大型園藝場,許多不同的傳感器可以監測環境光照、溫度、濕度、土壤水分等。當某個參數超出預先設定的閾值范圍,就要采取相應的行動。例如,當溫度太高時,可以啟動馬達以打開溫室的窗戶。另外,如果光照沒有達到最佳,不能最大程度提高產量,便可透過鏈接的LED驅動器進行調節。
空間、成本和功耗預算限制,意味著物聯網節點需遵循精簡設計理念,只提供可輕松支持的功能。在設定微處理器和內存芯片的參數規范時,需主要考慮的因素是價格低、不耗電,且不會占用過多PCB面積。因此,一個強制性的要求是必須能夠連接基于云端的服務,在云端處理并分析數據,以彌補節點功能不足。在云端使用相關應用程序的能力將使物聯網系統設計不受節點級的限制,同時被收集的、有價值的數據也能被充分利用,這樣可以實現更高的數據處理和儲存能力。
到目前為止,在物聯網的開發中,電子硬件供貨商和云端服務供貨商幾乎完全隔離。他們都停留在自己擅長的領域,這已經影響物聯網無法快速增長,因為不得不單獨考慮硬件和軟件開發令人厭煩。硬件工程師不想離開自己的舒適區而去面對寫大量程序代碼的困難;同樣,軟件開發人員也不想局限于一個不給他們足夠靈活度的開發平臺。
物聯網的布建建立在各種基礎之上。節點級關注的是高效和可靠的運行,使傳感器擷取到的數據經過分析/處理能夠被返回,或者致動器能夠在需要的時候啟動。為此,必須針對眼前的特定任務對采用的鏈接技術進行優化。再進一步,就是如何確保與云端的互動是有效的。
物聯網一直以來真正需要的是能同時解決所有這些問題的技術。從硬件的角度,要為工程師提供必要的鏈接技術、傳感器和致動器,以創建滿足特定應用需求的物聯網節點。從軟件的角度,則要為開發人員提供一塊基石,在此基礎上他們能夠創建支持這種硬件的云端應用。
半導體公司無疑熱衷于投身物聯網,但他們提供的開發平臺尚不能處理上述談到的所有問題。提供的硬件都是采用特定傳感器和通訊功能的單PCB方案,為了讓自己的系統滿足應用需求,工程師幾乎沒什么發揮的空間。當平臺不支持最佳的連結技術或感測方案時,便只能進行折衷。
圖1 安森美半導體IDK硬件和軟件示意圖。
有鑒于物聯網部署的不斷變化,安森美半導體(ON Semiconductor)的工程師研發一種新的物聯網開發平臺——物聯網開發工具包(IDK),該平臺充分考慮硬件工程師和軟件開發人員各自的優勢,為他們提供設計上的便利。
IDK不是采用受限的通用方法,它有一個模塊化的架構,因此有更多的傳感器、致動器和連結技術的選擇。它為工程專業人士提供了高度通用、現成的開發資源,包含硬件,還有一個精細的軟件框架,可用于建立「設備到云端」的物聯網應用。
圖2 包含幾個子卡的IDK主板。
IDK基于高精密的NCS36510系統單芯片(SoC),具有32位ARM Cortex-M3處理器核心和2組各320KB的閃存。有大量的子卡可用,可以直接連接到基板。在連接方面,工程師可以針對各種無線和有線通訊協議,如Wi-Fi、ZigBee、Sigfox、CAN、以太網絡等,挑選合適的子卡。
對于傳感器,有整合溫度、水分、運動、心率、環境光、壓力及生物傳感器的子卡。此外,透過步進馬達或無刷馬達驅動器,以及LED驅動器,可以實現致動器功能。
多種子卡可提供不同的傳感器、致動器和通訊功能,工程師可以根據實際情況進行選擇,為系統設計找到最適合的組合方案。此外,對于不擅長云端軟件開發的硬件工程師,需要在自己的物聯網系統中使用基于云端的服務,該工具提供一種獲取云端服務的簡單途徑。
相反,軟件開發人員不必遏制自己的創意,他們有機會開發自己的專有服務。IDK由一個基于Eclipse的集成開發環境(IDE)支持,包括一個C++編譯程序、調變器和程序代碼編輯器,以及一系列應用相關的函式庫。利用一個可配置的通用平臺,如IDK,工程師能夠專注于自己擅長的領域,無需被迫作出取舍,從而實現自己的系統設計目標。