MQTT簡要介紹
MQTT(Message Queuing Telemetry Transport,訊息佇列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支援所有平臺,幾乎可以把所有聯網物品和外部連線起來,被用來當做感測器和致動器(比如通過Twitter讓房屋聯網)的通訊協議。
MQTT簡介
早在1999年,IBM的Andy Stanford-Clark博士以及Arcom公司ArlenNipper博士發明了MQTT(Message Queuing Telemetry Transport,訊息佇列遙測傳輸)技術[1] 。據Andy Stanford-Clark博士稱,MQTT將在今年和明年呈現爆炸式增長。
MQTT的話題是我倆談論開源物聯網平臺Pachube時提到的。Stanford-Clark認為Pachube很酷,其不足之處是不具備真正的推送功能。你需要不斷不斷輪詢才能得到即時資料。這正是MQTT能夠實現的,他提到了使用推送通訊系統的石油管道檢測系統。
MQTT應用
IBM和St. Jude醫療中心通過MQTT開發了一套Merlin系統,該系統使用了用於家庭保健的感測器。St. Jude醫療中心設計了一個叫做Merlin@home的心臟裝置,這種無線發射器可以用來監控那些已經植入復律-除顫器和起搏器(兩者都是基本的感測器)的心臟病人。
該產品利用MQTT把病人的即時更新資訊傳給醫生/醫院,然後醫院進行儲存。這樣的話,病人就不用親自去醫院檢查心臟儀器了,醫生可以隨時檢視病人的資料,給出建議,病人在家裡就可以自行檢查。
IBM稱該發射器包括一個大型觸控式螢幕,一個嵌入式鍵盤平臺,以及一個Linux作業系統。
在未來幾年,MQTT的應用會越來越廣,值得關注。
通過MQTT協議,目前已經擴充套件出了數十個MQTT伺服器端程式,可以通過PHP,JAVA,Python,C,C#等系統語言來向MQTT傳送相關訊息。
此外,國內很多企業都廣泛使用MQTT作為Android手機客戶端與伺服器端推送訊息的協議。其中Sohu,Cmstop手機客戶端中均有使用到MQTT作為訊息推送訊息。據Cmstop主要負責訊息推送的高階研發工程師李文凱稱,隨著移動網際網路的發展,MQTT由於開放原始碼,耗電量小等特點,將會在移動訊息推送領域會有更多的貢獻,在物聯網領域,感測器與伺服器的通訊,資訊的收集,MQTT都可以作為考慮的方案之一。在未來MQTT會進入到我們生活的各各方面。
如果需要下載MQTT伺服器端,可以直接去MQTT官方網站點選software進行下載MQTT協議衍生出來的各個不同版本。
github主頁:https://github.com/chenyufeng1991 。歡迎大家訪問!
MQTT特點
MQTT協議是為大量計算能力有限,且工作在低頻寬、不可靠的網路的遠端感測器和控制裝置通訊而設計的協議,它具有以下主要的幾項特性:
1、使用釋出/訂閱訊息模式,提供一對多的訊息釋出,解除應用程式耦合;
2、對負載內容遮蔽的訊息傳輸;
3、使用 TCP/IP 提供網路連線;
4、有三種訊息釋出服務質量:
- “至多一次”,訊息釋出完全依賴底層 TCP/IP 網路。會發生訊息丟失或重複。這一級別可用於如下情況,環境感測器資料,丟失一次讀記錄無所謂,因為不久後還會有第二次傳送。
- “至少一次”,確保訊息到達,但訊息重複可能會發生。
- “只有一次”,確保訊息到達一次。這一級別可用於如下情況,在計費系統中,訊息重複或丟失會導致不正確的結果。
5、小型傳輸,開銷很小(固定長度的頭部是 2 位元組),協議交換最小化,以降低網路流量;
6、使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制;github主頁:https://github.com/chenyufeng1991 。歡迎大家訪問!
相關文章
- iOS ARC簡要介紹iOS
- Django通道簡要介紹Django
- Bootstrap速學教程之簡要介紹boot
- MQTT QoS 0, 1, 2 介紹MQQT
- 19_MQTT協議介紹MQQT協議
- [譯] 關於 React Motion 的簡要介紹React
- Comodo Positive SSL證書簡要介紹
- 微服務架構的特徵簡要介紹微服務架構特徵
- MQTT 釋出/訂閱模式介紹MQQT模式
- 版本管理工具Git(一)簡要介紹Git
- mqtt介紹和go程式碼實現MQQTGo
- 關於 sap.ui.base.Object 的簡要介紹UIObject
- 目標追蹤(Object Tracking)概念的簡要介紹Object
- 簡要介紹Linux網路服務的種類Linux
- MongoDB資料庫建立的基本規範簡要介紹MongoDB資料庫
- 簡要介紹編譯器工作過程的11步編譯
- Linux核心初始化過程簡要介紹(轉)Linux
- 專案管理工具的特性簡要介紹(轉)專案管理
- BookKeeper 介紹(1)--簡介
- HTTP介紹和HTML簡介HTTPHTML
- 從docker介紹及其簡介Docker
- Dalvik虛擬機器簡要介紹和學習計劃虛擬機
- SVG簡單介紹SVG
- HTML簡單介紹HTML
- ActiveMQ簡單介紹MQ
- HTML 簡單介紹HTML
- JavaScript 簡單介紹JavaScript
- CSS 簡單介紹CSS
- SCSS 簡單介紹CSS
- UICollectionView 簡單介紹UIView
- css簡單介紹CSS
- MQTT協議簡介及百度雲物接入loT-MQTT測試MQQT協議
- 人臉識別的簡要介紹(附例項、Python程式碼)Python
- Kibana5.x介面簡要介紹(含x-pack外掛)
- SQL Server埠更改後的資料庫連線方式簡要介紹SQLServer資料庫
- Linux系統和核心初始化過程簡要介紹(轉)Linux
- Oracle RAC簡介與要點Oracle
- RPC簡單介紹RPC