作者: Indar Prakash Singhal 意法半導體 印度大諾伊達 indar.singhal@st.com Prashant Pandey 意法半導體 印度大諾伊達 prashant-mpa.pandey@st.com Raunaque Mujeeb Quaiser 意法半導體 印度大諾伊達 raunaque.quaiser@st.com 摘要 有關物聯網將能實現資源利用高效化、智能化的論述提高了科技界以及消費者對物聯網的期待。物聯網(IoT)需要給我們周圍的日用物品(物)增加感知和聯網功能,將其變成一個網絡節點。不過,受到功率大小和運算能力限制,直接將物聯網節點連接到公共網絡有時是行不通的。IoT網關能夠利用適合的聯網技術,把資源有限的“物”連接到規模更大的網絡。有多種技術可用于“物”與網關之間的連接通信。同樣,IoT網關與云端的通信也有多種網絡協議可用。IoT網關設計面臨很多挑戰和難題,例如,數據安全、身份驗證和設備開通。對于一個具體應用,做出正確的選擇,不是一件小事。本文介紹一個“無線網橋”的IoT網關平臺架構,該網關平臺靈活可變,支持不同的無線通信技術。我們還將探討“物”與“云”通過IoT網關平臺交換信息所需的多種聯網技術和網絡協議。本文有助于設計人員開發安全、靈活、可擴展的IoT網關。 關鍵詞 — 物聯網(IoT),無線網橋,RF傳感器節點, 6LoWPAN,Wi-Fi,藍牙,NFC , Sub GHz 前言 物聯網就是一個物品互聯網,這里的物品(物)內部有電子系統,具有感知和上報功能,支持遠程控制,有時還能做出簡單的決策。與物聯網相關的其它常用術語包括M2M(機器間通信)和IoE(萬物互聯)。將內部有電子系統的物品連接到網絡的概念由來已久。大致瀏覽一下相關資料后發現,物聯網似乎不是什么新概念。不過,物聯網和傳統的機器間通信還是略有不同的。物聯網的目標是將所有能夠與用戶互動的設備(物)都連接在一起,包括通常不聯網的設備,實現萬物互聯。第二個不同之處是,物聯網打算沿用現有的基于IP的網絡,建立一個全球規模的物聯網,而這一代機器間通信技術則是建立專用通信網絡基礎設施。物聯網接入互聯網的概念可提高物聯網延伸距離,同時也使物聯網技術面臨一些獨特的挑戰。其中一個挑戰是,受限于系統內存、數據存儲容量和計算能力,很多物聯網節點無法直接連接基于IP的網絡。IoT網關可以填補這塊空白,在基于IP的公共網絡與本地物聯網之間架起一座網絡橋梁,同時還能提供數據安全、存儲和處理服務,盡可能地提高物聯網節點終端設備的成本效益和能效。此外,網關還能讓網內設備使用不同的通信技術相互對話。不幸地是,影響設計的不確定因素太多,設計一個面向未來的IoT網關是一項十分艱巨的任務。物聯網市場碎片化嚴重,廠商數以萬計,缺少統一的標準。目前有關物聯網的技術規范過多,每家科技企業都各自為陣,只推廣自有技術。本文旨在于概述目前市場所有的可用技術,不深入介紹廠商的具體通信協議。 IOT網關的設計挑戰 節點連接: 將網關連接到物聯網節點,需要選用一種近距離射頻(RF)通信技術。選擇射頻技術時需要比較各種參數,例如頻帶、調制方法、信道數量、數據速率、延遲、穩健性等。此外,還要考慮本地行業法規的相關規定。如果是節點類型相同的同構網絡,射頻技術選擇就比較容易。相反,如果網內有多種不同的節點,有不同的需求,射頻選擇就會復雜很多。 后臺連接: IoT網關與節點的連接可以使用近距離射頻技術,而網關與互聯網的連接則需要遠距離通信技術。選擇這項技術時需要考慮帶寬需求和本地現有可用的連接技術,還要考慮是否是關鍵應用。因為每個地區的網絡連接技術都不盡相同,所以準備多個后臺連接方法是一個不錯的主意。 管理服務器: 物聯網節點作為獨立的實體,通常不接受網絡設備(通過網關)的訪問請求。較為普遍做法是通過中央服務器管理網絡節點,同時IoT網關為服務器提供通信支持,因此,我們需要選擇網關與管理服務器之間的通信協議。 本地智能: 在真云架構中,節點將全部數據發送到云端進行處理和控制。不過,這種設定并不是很理想,因為毫無價值的數據也會發到云服務器,導致帶寬浪費、服務器負荷增加,甚至連接斷開時還會丟失數據。邊緣計算概念解決了這個問題。如果IoT網關在本地承擔大部分決策工作,只向云端發送過慮后的有價值的數據,系統運行將會變得更加高效。出于靈活性考慮,網關決策邏輯可以由服務器設定。本地智能程度和類型取決于實際應用,如果會影響網關設計決策,應給予深度考慮。 需要考慮的功率因素: 網關電源也會影響我們的設計定案。因為廣泛用于物聯網設備,所以傳感器網絡應盡可能從環境中汲取能量。 數據安全: 這是決定大規模物聯網能成敗的關鍵要素。隨著網絡成更多應用(某些應用實際上是關鍵應用)的重要組成部分,數據安全變得更加重要。安全問題應落實到每一個設計階段,而在設計任務全部完成后再增加安全功能的做法是錯誤的。 可維護: 這是一個經常被忽視的需求。歷史經驗告訴我們,沒有系統是完美無缺的。不管部署前做過多少測試,部署后還會發現安全缺陷、隱患和漏洞。IoT網關和節點必須支持現場維護和更新功能。設備維護不應只依賴遠程維護,還應有更多的聯網方法可選。 下面我們詳細討論現有聯網技術,以及每種連接技術可用于哪些場景。 節點連接技術 目前,藍牙、Wi-Fi、NFC、ZigBee是大家非常熟悉的無線通信技術。此外,新興聯網技術,例如Sub GHz、Thread、ANT、Z-Wave,可直接用于智能家居、智慧城市、智能照明和智能表計。 根據實際應用情況,功耗、數據速率、工作頻率、電池續航能力是決定選擇哪一種或一些聯網技術的主要因素。本文后面的表1比較了當今主要無線通信技術的特性。 后臺連接: 網關與管理服務器(后臺)的連接需要選擇回程連接技術以及通信協議。回程連接是IoT網關到ISP互聯網服務提供商端點之間的遠距離連接。2G/3G/LTE等移動通信技術是當前最熱的回程鏈路技術。此外,智能路燈等應用還可以使用電力線通信(PLC)技術。高帶寬應用可以選用光纖通信技術。沒有被移動網絡覆蓋的邊遠地區,可以選用衛星通信或微波點對點連接技術。 通信協議 有很多通信協議可用于IoT網關與云服務器之間的通信。這里我們討論一些比較熱門的技術及其優缺點。 Plain HTTP: 這是目前普及度最高的網絡協議,被服務器廠商廣泛接受,得到互聯網標準的支持,兼容性問題最少,無縫支持RESTful API。不過,這項技術的缺點是開銷太大,體現在HTTP報頭和基于文本的格式方面。Plain HTTP雖然運行在TCP之上,但還是一種無狀態協議,不適合即時通信應用。客戶端必須發送一個請求信號,才能收到服務器的應答(命令)。為收到服務器的更新信息,客戶端必須不斷地輪詢服務器。 CoAP: 資源受限型應用協議,可以認為是二進制版的HTTP,對HTTP協議的一些局限性做了改進,擁有非常準確的報頭,支持二進制數據格式,因此降低了開銷;可運行在TCP或其它傳輸層甚至SMS之上。CoAP數據包很容易轉換成HTTP包。不過,因為缺乏對互聯網基礎設施的支持,此技術不能很好地兼容防火墻、代理服務器和路由器。因此,這項協議通常只適用于傳感器網絡內的私有網絡。 Web sockets: 這是一個互聯網標準支持的新的網絡協議,采用與HTTP相同的尋址和握手方法,兼容現有網絡基礎設施。在完成握手對話后,立即轉換成TCP之上的雙工通信,適合即時雙向通信,特別適合主機共享的虛擬主機環境和代理服務器后面的網關。 MQTT: 也是一個深受市場歡迎的運行在TCP層之上(可選)的網絡協議,有一個主題訂閱模式,更適合向相關網關廣播信息,同時還適用于網關與服務器通信,具有一些適合物聯網應用的功能,例如,最后一條消息永久存在和遺囑消息。 AMQP: 這或許是最適合網關與服務器通信的網絡協議。該協議的作用相當于一個存儲隊列,即便臨時斷網,也確保數據包不會丟失。 XMPP: 可擴展消息處理與現場協議,是聊天客戶端廣泛使用的即時通信協議,對很多功能進行了標準化,例如,用戶驗證和消息ID。不過,因為技術規范十分復雜,數據交換采用冗長的XML格式,所以不適合物聯網應用。 圖1: 意法半導體的無線網橋解決方案 IOT網關平臺架構 這里介紹一個我們自主開發的靈活可變的傳感器數據監控設計方案。傳感器數據監控是一種普通應用,對安全或可靠性沒有特殊的要求。 無線網橋IoT網關: 無線網橋是基于STM32的IoT網關平臺方案,提供多種不同的通信連接技術,如圖1所示。通信系統由藍牙、Wi-Fi、Sub-GHz和NFC近距離通信組成。每種通信技術都有自身的優勢。Wi-Fi用于在網關平臺與云端平臺之間傳輸物或節點數據,藍牙用于網關平臺與安卓應用程序之間交換物或節點數據,而Sub-GHz技術用于在網關平臺與物或節點之間傳送數據。在無線網橋平臺上,藍牙、Wi-Fi和Sub-GHz模塊通過UART線與STM32通信,而NFC收發器通過SPI線與STM32通信,如何確保STM32微控制器與不同的通信設備配合而不會延遲,高效處理所有請求,是這個平臺設計的一大挑戰。這個網關平臺架構可以幫助我們利用不同的通信技術滿足不同的用例需求。我們在這個網關方案上增加一個應用層,充當云應用與物之間的網絡橋梁。這個6LoWPAN網絡的操作系統是Contiki OS。手機應用軟件通過藍牙接口與網關通信。 主要通信元件 Sub-GHz模塊: 網關通過SPIRIT1 Sub-GHz模塊與6LoWPAN網絡中的“物”通信。SPIRIT1模塊是超低功耗的高集成度射頻模塊,支持868 MHz / 915 Mhz ISM雙頻工作。該模塊基于SPIRIT1 RF sub-GHz收發器(內置SMPS電源)、STM32L1微控制器、內部濾波器/平衡不平衡轉換器芯片天線。UART主機接口可通過一個標準固件庫直接連接外部微控制器,利用點對點通信和AT命令簡化射頻配置、數據傳輸接收。 Wi-Fi模塊: Wi-Fi模塊將無線網橋網關連接到云端應用。SPWF01Sx智能Wi-Fi模塊是一款獨立的即插即用的802.11 b/g/n解決方案,內置功率放大器和32位STM32微控制器。模塊還集成時鐘芯片和穩壓器。 近距離通信: 該網關平臺將CR95HF收發器用作NFC讀寫設備,與“物”上的NFC無源標簽通信,配置設備。CR95HF是13.56-MHz多協議非接觸式收發器。 藍牙模塊: SPBT2632Cxx藍牙模塊是一個小尺寸的功能完成的射頻平臺,適用于家庭自動化設備與藍牙設備和手機之間的數據傳輸。 物架構 在本解決方案中,物基于多傳感器-RF平臺,共有兩個組件(STEVAL-IDI002V2和STEVAL-IDI003V2)。STEVAL-IDI002V2是主板,集成了STM32L1 Cotex-M3微控制器、雙接口EEPROM和Sub Ghz通信接口。STM32L1運行基于Contiki3x的6LoWPAN協議棧。選擇這款微控制器是考慮到超低功耗的要求。雙接口EEPROM使多傳感器射頻平臺能夠存儲傳感器送來的數據,讓用戶可以選擇在NFC手機上查看數據。 STEVAL-IDI003V2電路板集成多個傳感器,例如MEMS加速度傳感器、MEMS壓力傳感器、MEMS濕度傳感器、MEMS麥克風和光傳感器。給整個系統供電的是一枚鋰電池。 圖2: 射頻傳感器節點(物) 在6LoWPAN網絡內,多傳感器射頻平臺是‘物’,無線網橋(網關)上的Sub-GHz射頻模塊是根節點。傳感器節點讀取傳感器數據,并通過6LoWPAN網絡將其發送到根節點。傳感器節點還有GPIO端口,用于控制致動器。 IoT網關提供本地和遠程連接選項,以訪問傳感器數據和節點上的致動器(圖4) Web訪問: 遠程用戶可以使用管理服務器提供的Web界面查看傳感器數據,向致動器發送命令。 安卓應用軟件: 本地用戶可以用藍牙手機訪問節點。在完成手機與無線網橋平臺配對后,手機應用軟件可以使用節點的功能。 NFC支持: 無線網橋支持NFC讀寫功能。這個通信功能可用于配置節點(射頻信道等)和網關(Wi-Fi和藍牙設置等)。 管理服務器應用設計 我們還設計了一個叫做ST Cloud Bridge的云端應用,在內置傳感器/致動器的“物”或節點與終端用戶之間搭起一座互動橋梁。圖3是該云端應用的框圖。物或節點將數據上傳到ST Cloud Bridge云應用,然后獲取命令和配置信息。終端用戶可以監視傳感器數據流,針對各種情況設置提醒通知。該平臺還能開通、控制和配置節點。Cloud Bridge云應用主要由兩個部件組成:設備模塊和web模塊。設備模塊與傳感器/致動器節點互動,而web模塊處理用戶所用的web客戶端和移動客戶端。這兩個模塊通過共享物體或云端服務總線交互操作,該解決方案運行在Azure網站平臺上,提供數據安全功能,只與注冊過的節點交互,所以數據完整性不會受到影響。該云應用準許“物”通過網關使用基于REST的標準API。 對于物聯網管理應用來說,支持多個協議十分重要。我們必須有設備管理模塊、監視模塊、上報模塊和開通模塊。 考慮到物聯網應用固有的負載易變性,IaaS是企業托管云應用的首選方式。現在很多云服務提供商開始提供物聯網專用服務,使物聯網應用的開發維護變得更加方便快捷。 圖3: 節點管理云應用 物聯網應用 家庭自動化 智能家居:這些應用讓用戶能夠遠程監控安防設備和家電,還可以提高能源使用效率,例如,當用戶外出時,自動關閉家電電源。 智慧城市: 智能路燈: 通過監視環境光和交通流量等參數,市政管理者可以控制路燈亮度和開關燈時間,節省大量電能。如果路燈出現故障,系統會立即報修,降低意外事故風險或犯罪率。 智能表計: 無線連接的表計可實現遠程抄表和一些應用,例如,階梯式電價和雙向計量電能表。智能電表還能偵測并上報盜電、電路漏電等事件。 智能停車場: 基于接近檢測傳感器的智能停車場是另一種物聯網應用,能夠為駕駛員提前發送空車位信息,避免交通擁堵問題,使按停車時間收費的計價也更加準確。 智慧農業:通過對濕度和營養進行精確監視,系統可提示澆灌和施肥時間,從而節省水和化肥成本,同時大幅提高產量。實踐證明,當與天氣預報配合使用時,該系統可讓農民切實受益。 健康 這是即將到來的物聯網應用,將會給終端用戶的健康護理帶來革命性變化。各種穿戴傳感器收集病患的體溫、血壓等重要生理參數,然后通過IoT網關發送到病患線上健康檔案,為用戶建立一個準確的生理參數檔案。對于醫護專業人士來說,與病患病健康史相關的數據是一個有效的診斷工具,可以實時分析這些數據,在緊急情況下,可以快速行動,立即搶救病患。 工業 在監視和優化工業生產過程方面,物聯網同樣可以發揮重要作用。低功耗傳感器節點的問世在工業自動化領域開辟一條新的途徑。低功耗傳感器節點在以前還是一個不小的挑戰,除用于工業自動化應用領域外,還能進入對人類有害或不能進入的危險環境替代人類工作。 結論 我們提出了一個能夠連接6LoWPAN網絡中的“物”且支持手機和云應用的通用IoT網關平臺方案。“物”所連接的網關是IPv6網絡中的IoT無線網關。該系統解決方案可以定制,以適用于不同的用例。高品質開源網格網絡協議的出現,例如,Contiki,有助于物聯網加快進入消費領域。對于所有的物聯網應用,安全性依然是一個充滿挑戰的問題,這無需言明。雖然現有安全技術還能撐住,但是,隨著物聯網不斷普及,我們將會發現更多安全挑戰。業界依然在努力尋找更好的低成本/低功耗的解決方案,建立一個安全的物聯網。半導體制程進步、成本降低、更好的電源管理技術以及能源回收技術將會為物聯網世界打開另一扇大門。 表 1 : 無線通信技術比較
圖4: IoT網關接口 |