發布日期:2022-04-18 點擊率:46
物聯網中的通信 - 即設備如何向網絡發送和接收數據 - 可以以不同的方式處理,通信方式主要由應用層中的協議來控制。了解數據在您服務中的設備周圍的流動方式可以讓您了解其可能的響應以及數據在設備之間的同步速度。
推(push),拉(pull)和輪詢(polling)
作為一名UX(用戶體驗)設計師,您需要注意的關鍵因素包括:
?設備如何將消息傳輸到網絡中:它是定期推送(push)還是滿足某些條件后再推送?還是僅當客戶端設備(如智能手機應用程序)或者服務請求(pull:拉)它時才會傳輸(即)?
?設備如何從網絡中接收消息:消息是否是從服務或者其他設備推送過來的,還是第一個設備根據需要請求它們接收的?
?設備連接頻率:它是不斷地持續連接,還是定期連接的,還是只有當它知道它需要連接時才連接?
?指令或數據可能多快通過?這是一個組合的問題包括以下的問題:
->設備建立連接需要多長時間
->連接可能有多快
->需要發送多少數據
->它可以多直接地被路由(任何信息要通過Internet可能需要花更長的時間)
如圖1的例子所示,說明了您可能會遇到的一些問題:
電池供電加熱控制器使用ZigBee每兩分鐘聯系其網關登記注冊其狀態信息并尋求新的指令。這種方式稱為輪詢(polling):控制器不知道什么時候會有新的指令,但必須定期地檢查更新。
用戶使用移動應用程序來加熱使溫度從19°C升高到21°C。該應用程序將該指令傳遞給Internet服務。網關設備定期輪詢(polls)Internet服務并接收指令。 (網關具有主電源供電,因此可能會相當頻繁地進行輪詢,也許每隔幾秒鐘就輪詢一次。)加熱控制器(polls)輪詢網關并接收指令。
圖1、加熱系統中的輪詢和推送
如果用戶在加熱控制器面前使用移動應用程序app時,則可能會看到控制器花費長達兩分鐘的時間來響應來自移動設備的命令。
在此期間,手機UI(用戶接口)和控制器顯示器將顯示不同的狀態信息,并且可能會不同步。手機可能會說是21°C,控制器則可能顯示19°C。控制器反映系統當前的真實狀態。在連貫性方面,這是一個連續性問題。
它可以更快地將指令從Internet服務推送到網關和設備中。但這通常不太可能通過家庭路由器來實現。大多數路由器向世界呈現的是單個公共IP地址,并將本地網絡上的設備地址保留為私有(這種共享一個IP地址的技術稱為NAT:網絡地址轉換(network address translation))。因此,服務器難以推送(push)到本地家庭網絡上的設備或者從本地家庭網絡上的設備中拉出(pull)信息。另外,安全防火墻也可能是一個問題。
所以,設備必須通過輪詢來檢查新的指令,這可能需要更長的時間。
如果用戶使用安裝在加熱控制器設備上的控制來升溫,則延遲可能會較短。控制器知道系統發生了變化,并通過集線器(hub)將更新信息的消息推送(push)到Internet服務中。它知道它需要連接,所以它不會等待計劃的下一個輪詢。如果用戶的智能手機加熱控制應用程序打開,那么它可能會每30秒向服務請求新的數據。所以如果用戶在同一時間看著他們的智能手機加熱應用程序,他們可能仍然會觀察到不連續性,但可能只是一個短暫的延時。
智能手機和加熱控制器正在輪詢互聯網服務以進行更新,這是一個拉(pull)的例子。當他們知道他們有最新的信息或者命令要分享時,那么它們兩者都能夠推送消息。
智能手機和加熱控制器都不會保持與網絡的持續連接,因為這樣會耗盡電池的電量。但手機可以比控制器更頻繁地檢查更新,因為它的電源受到的限制較少。
雖然這種安排確實會暴露偶爾的不連續性,但是對于加熱系統的應用情況,這些不會是災難性的影響。大多數時候,用戶不會拿著智能手機站在加熱控制器的面前。另外在大多數時候,發出加熱指令和實際開啟指令之間的兩分鐘延遲滯后并不是一個問題:加熱器的工作時間是以小時為單位的而不是秒。
輪詢時間間隔太長可能會使服務感到反應太遲鈍。例如,使用If This Then That(IFTTT), 當有電子郵件從特定收件人傳遞到您的Gmail帳號上時Philips Hue bulb可以配置為閃爍或者更改顏色。雖然這是一個好主意,但是IFTTT只能每15分鐘輪詢一次Gmail(這可能是由Gmail限制的,以避免輪詢太頻繁而導致其服務器過載)。這意味著在收到電子郵件后15分鐘內,燈泡可能不會響應。這是一個非常不及時響應的通知
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV