?MQTT
MQTT是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡(jiǎn)單、開(kāi)放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。在很多情況下,包括受限的環(huán)境中,如:機(jī)器與機(jī)器(M2M)通信和物聯(lián)網(wǎng)(IoT)。其在,通過(guò)衛(wèi)星鏈路通信傳感器、偶爾撥號(hào)的醫(yī)療設(shè)備、智能家居、及一些小型化設(shè)備中已廣泛使用。
IBM公司的安迪·斯坦福-克拉克及Cirrus Link公司的阿蘭·尼普于1999年撰寫(xiě)了該協(xié)議的第一個(gè)版本。該協(xié)議的可用性取決于該協(xié)議的使用環(huán)境。IBM公司在2013年就向結(jié)構(gòu)化資訊標(biāo)準(zhǔn)促進(jìn)組織提交了 MQTT 3.1 版規(guī)范,并附有相關(guān)章程,以確保只能對(duì)規(guī)范進(jìn)行少量更改。MQTT-SN是針對(duì)非 TCP/IP 網(wǎng)絡(luò)上的嵌入式設(shè)備主要協(xié)議的變種,與此類(lèi)似的還有ZigBee協(xié)議??v觀行業(yè)的發(fā)展歷程,“MQTT”中的“MQ” 是來(lái)自于IBM的MQ系列消息隊(duì)列產(chǎn)品線。然而通常隊(duì)列本身不需要作為標(biāo)準(zhǔn)功能來(lái)支持??蛇x協(xié)議包含了高級(jí)消息隊(duì)列協(xié)議,面向文本的消息傳遞協(xié)議,互聯(lián)網(wǎng)工程任務(wù)組約束應(yīng)用協(xié)議,可擴(kuò)展消息與存在協(xié)議,數(shù)據(jù)分發(fā)服務(wù),OPC UA以及web 應(yīng)用程序消息傳遞協(xié)議。IBM和St. Jude醫(yī)療中心通過(guò)MQTT開(kāi)發(fā)了一套Merlin系統(tǒng),該系統(tǒng)使用了用于家庭保健的傳感器。St. Jude醫(yī)療中心設(shè)計(jì)了一個(gè)叫做Merlin@home的心臟裝置,這種無(wú)線發(fā)射器可以用來(lái)監(jiān)控那些已經(jīng)植入復(fù)律-除顫器和起搏器(兩者都是基本的傳感器)的心臟病人。該產(chǎn)品利用MQTT把病人的即時(shí)更新信息傳給醫(yī)生/醫(yī)院,然后醫(yī)院進(jìn)行保存。這樣的話,病人就不用親自去醫(yī)院檢查心臟儀器了,醫(yī)生可以隨時(shí)查看病人的數(shù)據(jù),給出建議,病人在家里就可以自行檢查。IBM稱該發(fā)射器包括一個(gè)大型觸摸屏,一個(gè)嵌入式鍵盤(pán)平臺(tái),以及一個(gè)Linux操作系統(tǒng)。在未來(lái)幾年,MQTT的應(yīng)用會(huì)越來(lái)越廣,值得關(guān)注。通過(guò)MQTT協(xié)議,目前已經(jīng)擴(kuò)展出了數(shù)十個(gè)MQTT服務(wù)器端程序,可以通過(guò)PHP,JAVA,Python,C,C#等系統(tǒng)語(yǔ)言來(lái)向MQTT發(fā)送相關(guān)消息。此外,國(guó)內(nèi)很多企業(yè)都廣泛使用MQTT作為Android手機(jī)客戶端與服務(wù)器端推送消息的協(xié)議。其中Sohu,Cmstop手機(jī)客戶端中均有使用到MQTT作為消息推送消息。據(jù)Cmstop主要負(fù)責(zé)消息推送的高級(jí)研發(fā)工程師李文凱稱,隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,MQTT由于開(kāi)放源代碼,耗電量小等特點(diǎn),將會(huì)在移動(dòng)消息推送領(lǐng)域會(huì)有更多的貢獻(xiàn),在物聯(lián)網(wǎng)領(lǐng)域,傳感器與服務(wù)器的通信,信息的收集,MQTT都可以作為考慮的方案之一。在未來(lái)MQTT會(huì)進(jìn)入到我們生活的各各方面。如果需要下載MQTT服務(wù)器端,可以直接去MQTT官方網(wǎng)站點(diǎn)擊software進(jìn)行下載MQTT協(xié)議衍生出來(lái)的各個(gè)不同版本。MQTT協(xié)議是為大量計(jì)算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計(jì)的協(xié)議,它具有以下主要的幾項(xiàng)特性:
1、使用發(fā)布/訂閱消息模式,提供一對(duì)多的消息發(fā)布,解除應(yīng)用程序耦合;
2、對(duì)負(fù)載內(nèi)容屏蔽的消息傳輸;
3、使用 TCP/IP 提供網(wǎng)絡(luò)連接;
4、有三種消息發(fā)布服務(wù)質(zhì)量:
5、小型傳輸,開(kāi)銷(xiāo)很小(固定長(zhǎng)度的頭部是 2 字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量;
6、使用 Last Will 和 Testament 特性通知有關(guān)各方客戶端異常中斷的機(jī)制。





