www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 物聯(lián)網(wǎng) > 物聯(lián)網(wǎng)技術文庫
[導讀] 消息觸達能力是物聯(lián)網(wǎng)(internet ofthings, IOT)的重要支撐,而物聯(lián)網(wǎng)很多技術都源于移動互聯(lián)網(wǎng)。柳貓將闡述移動互聯(lián)網(wǎng)消息推送技術在物聯(lián)網(wǎng)中的應用和演進。 一、物聯(lián)網(wǎng)架構

消息觸達能力是物聯(lián)網(wǎng)(internet ofthings, IOT)的重要支撐,而物聯(lián)網(wǎng)很多技術都源于移動互聯(lián)網(wǎng)。柳貓將闡述移動互聯(lián)網(wǎng)消息推送技術在物聯(lián)網(wǎng)中的應用和演進。

一、物聯(lián)網(wǎng)架構和關鍵技術

從開發(fā)的角度,無線接入是物聯(lián)網(wǎng)設備端的核心技術,身份設備管理和消息推送技術是物聯(lián)網(wǎng)云端的核心技術。而從場景體驗的角度,除了前者,還要包括手機的前端開發(fā)技術。

IP互聯(lián)架構已是物聯(lián)網(wǎng)的事實標準(有關物聯(lián)網(wǎng)TCP/IP層關鍵技術將另文闡述,敬請關注)。本文所講的消息推送技術是基于TCP/IP協(xié)議的應用層協(xié)議技術。

我們先進一步抽象基于IP架構的物聯(lián)網(wǎng)組成,如下圖(忽略internet和路由等基礎技術):

可見,核心組成就是物聯(lián)設備、網(wǎng)關和云端。物聯(lián)設備分為兩類,一類是其自身天然支持TCP/IP而能直接接入物聯(lián)網(wǎng),如wifi、GPRS/3G/4G(當然,還有即將到來的5G)等設備;另一類是其未能支持IP協(xié)議而需要網(wǎng)關(協(xié)議轉換)來接入物聯(lián)網(wǎng),如Zigbee、藍牙等設備。對于藍牙設備而言,手機其實是一個網(wǎng)關。

手機通過自身的藍牙跟外設藍牙設備通信,并將消息通過手機的wifi或者3G/4G模塊與云服務端通信。

從場景的角度來分析,物聯(lián)網(wǎng)最終是給人類服務的,而手機是人類體驗的最直接入口。因此在上圖中可以單獨添加手機組成部分,并將其與一般意義上的網(wǎng)關區(qū)分出來。這樣物聯(lián)網(wǎng)核心組成就是:設備端—網(wǎng)關—云端—手機。

從應用層開發(fā)技術的角度來看,物聯(lián)網(wǎng)應用是基于TCP/IP架構建立,在屏蔽底層的網(wǎng)關協(xié)議轉換的基礎上,物聯(lián)網(wǎng)應用的組成部分就是:設備端—云端—手機。

OK,有了以上的介紹,我們就從物聯(lián)網(wǎng)應用的角度來分析設備、云端、手機直接的消息推送技術,它包括云端和設備端的雙向通信技術、手機和云端的雙向通信技術。

二、移動互聯(lián)網(wǎng)通信模式

互聯(lián)網(wǎng)有B/S和C/S兩種通信模式。在移動互聯(lián)網(wǎng)領域,APP是以C/S的方式以client的角色跟服務器server進行通信;而微信是一個超級APP,其是通過內置瀏覽器讓用戶進行H5編程以獲得操控硬件設備的能力,因此微信硬件平臺的通信模塊是B/S模式。

移動互聯(lián)網(wǎng)B/S技術跟傳統(tǒng)互聯(lián)網(wǎng)沒有區(qū)別,微信內置瀏覽器支持H5,因此可以獲得很好的平臺擴展性。我們近期重點關注基于微信硬件平臺的物聯(lián)網(wǎng),因此就圍繞B/S模式的消息推送技術講述其演進。

HTTP協(xié)議是B/S的基礎,HTTP有GET和POST兩種方式。

三、消息推送技術演進

1.HTTP單向通信

瀏覽器使用HTML文本標記語言,即瀏覽器通過HTTP協(xié)議向服務器發(fā)起請求(請求內容包括URL,即我們常說的網(wǎng)址),服務器將URL對應的HTML內容通過HTTP協(xié)議作為響應傳送回給瀏覽器。

1)手機端:微信端因為有內置瀏覽器,其天然支持前端頁面。

2) 云端對手機端推送:云端使用JSP/PHP等技術開發(fā)設計前端網(wǎng)頁和簡單的邏輯即可。

3)設備端:設備端上線時或者訪問服務端參數(shù)等內容時需要模擬HTTP協(xié)議(C語言)向服務器發(fā)起請求,而請求的格式一般不使用HTML,而是使用較為簡單的XML或者JSON協(xié)議格式。

4)云端對設備端推送:云端使用HttpServlet(即使用http協(xié)議的servlet)對設備的HTTP請求進行響應,回復XML或者JSON格式的消息。

5)缺點:這種方式通信方式的特點就是一請求一響應,總是要客戶端向服務器發(fā)出請求,服務器才給予響應。服務器從來都不會主動給客戶端發(fā)消息,而且在客戶端發(fā)出請求后,服務器也只是回復一次。這種HTTP單向通信方式在互聯(lián)網(wǎng)領域發(fā)揮巨大的作用,就是服務器端可以是無狀態(tài)的,極大地簡化了服務器的服務流程,提高效率。但在物聯(lián)網(wǎng)領域,我們要求的是雙向的通信能力。服務端要能主動給設備端或者手機發(fā)出消息。

在這種模式下,我們怎么做雙向通信呢?唯一的做法就是客戶端不斷地發(fā)出請求(或者周期性),服務器不斷地給予回復。這種模式下的缺點顯而易見:

一是網(wǎng)絡負載重,服務器每次響應后都會關閉連接,所以每次通信都得重新握手。HTTP協(xié)議的頭內容的長度可不小。

二是實時性差。一般設備端都是周期性地輪詢服務器是否有新的消息,輪詢的方式是不能獲得好的實時性的。

三、瀏覽器端每次發(fā)出請求是以HTML全部內容來響應的,消息長度過大,在這種情況下,會發(fā)現(xiàn)瀏覽器頁面不斷地刷新。

2.Ajax輪詢

Ajax技術是瀏覽器支持的一種JavaScript技術。其能夠局部改善用戶體驗技術,讓用戶在不察覺瀏覽器頁面刷新的情況向服務器發(fā)出請求,并獲得響應。其原理是:

1)微信瀏覽器發(fā)出URL頁面請求,服務器響應HTML頁面內容。

2)HTML頁面使用js調用XMLHttpRequest來向服務器發(fā)出異步通信請求。

3)服務器響應XML格式數(shù)據(jù)給瀏覽器頁面。

4)HTML頁面使用DOM模型來動態(tài)刷新頁面元素。

Ajax技術是微信硬件平臺框架中推薦的頁面交互技術,但其本質還是遵守HTTP單向通信的規(guī)則,只是頁面交互時不需要刷新整個頁面。其雙向通信實時性問題依然未能解決。

3.Websocket

Websocket是HTML5支持的一種新的協(xié)議,它能夠真正支持瀏覽器和服務器之間進行雙向通信。Tomcat7及以上版本也已經(jīng)支持Websocket API。

1)為了能夠兼容瀏覽器HTTP協(xié)議,Websocket規(guī)定在第一次發(fā)起請求時依然要發(fā)出符合HTTP協(xié)議規(guī)范的Header,但其Connection域的值是Upgrade,并增加Upgrade域,值是socket,即告知服務器,即將建立的通信是Websocket雙向通信。服務器如果接受,會返回101給客戶端進行協(xié)議切換。

2)接下來的通信將不再以HTTP作為傳輸協(xié)議,而是使用Websocket規(guī)定的數(shù)據(jù)格式進行通信,其分為控制幀和數(shù)據(jù)幀。控制幀是發(fā)出心跳幀(ping),而服務器響應pong,還有結束幀;數(shù)據(jù)幀就是真實數(shù)據(jù)格式,其格式頭只有6個字節(jié)(2個字節(jié)頭和4個字節(jié)的掩碼),后面就是真實的數(shù)據(jù)(經(jīng)過掩碼轉換)。比HTTP格式頭的長度要小多了。

3)客戶端和服務器之間是一直保持連接,直到close,當前期間要發(fā)發(fā)2個字節(jié)的3字節(jié)的ping幀。

可見Websocket比ajax有了極大的改進。其不僅省掉經(jīng)常要連接握手,還簡化的協(xié)議的格式,最重要的是實時性得到保證,因為雙方是真正的全雙工通信。

微信瀏覽器客戶端支持Websocket,服務器使用Tomcat7以上的WebsocketServlet類,設備端要根據(jù)Websocket協(xié)議用C語言來模擬通信。

我們在用設備端模擬Websocket通信協(xié)議時一般會先看協(xié)議,再用HttpWatch等工具來抓包,抓到的頭是GET ws://ip:port/path,如果在C語言也是這樣模擬發(fā)包則會報400 bad request。因為C語言利用socket建立通信時已經(jīng)利用了IP和port了,其發(fā)的第一個包的頭是GET/path即可,不能在其前面加上ws://ip:port/。

4.MQTT

以上的分析都是將移動互聯(lián)網(wǎng)的技術運用到物聯(lián)網(wǎng),其都有一個特定就是建立連接時會傳送URL地址,由兩個角色是客戶端和服務器,這種架構我們一般稱為是RESTful架構(另外,還有SOAP 面向應用的web services架構)。RESTful架構在互聯(lián)網(wǎng)得到越來越廣泛的運用,但物聯(lián)網(wǎng)除了互聯(lián)之外,還有其獨有的特征,就是其終端設備的資源有限、低功耗運用場景、網(wǎng)絡連接環(huán)境差(時不時斷開連接)等。用C語言模擬的方式來使用RESTful架構(如Websocket)會使得終端的負荷較重,而且服務器發(fā)給終端設備的消息有可能因為斷開連接而收不到。

MQTT是IBM針對物聯(lián)網(wǎng)退出的一種輕量級協(xié)議,建立于TCP/IP層協(xié)議之上。其是物聯(lián)網(wǎng)的重要組成部分,可能會成為物聯(lián)網(wǎng)的事實標準。其具有QoS,能夠緩沖消息,并通過重傳機制保證終端設備收到消息;其消息格式極其簡化,最短是兩個字節(jié);其提供訂閱和發(fā)布模式,高效推送消息。

MQTT有三個角色,包括服務器代理、訂閱者和發(fā)布者。

1)啟動服務器代理。

2)訂閱者向服務器代理訂閱相關主題。

3)發(fā)布者向服務器代理發(fā)布主題信息。

4)服務器代理想所有訂閱該主題的訂閱者推送消息。

MQTT有C/C++語言和JAVA包實現(xiàn)。需要明確的是,MQTT更適用于設備終端和手機APP socket通信,而不能支持瀏覽器使用。如果要支持微信瀏覽器應用,還需要增加類似WebsocketServlet技術給瀏覽器提供支持,這時MQTT以JS接口進行封裝,并被調用完成消息推送。

5.CoAP

CoAP是受限制的應用協(xié)議(ConstrainedApplicaTIon Protocol)的代名詞。其基于UDP協(xié)議,也就是在設備終端上只需要底層實現(xiàn)UDP協(xié)議,而不需要實現(xiàn)較為復雜的TCP協(xié)議。這種協(xié)議用得比較小。筆者也沒有用C語言模擬過,就不展開了。

來源:慕課網(wǎng)

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉