mqtt協議 關於專案的理解

2021-09-12 03:45:34 字數 2746 閱讀 3395

iot: internet of things  物聯網

moiot-service-mqtt:使用mqtt協議提供物聯網服務

「一句式」理解物聯網

把所有物品通過資訊感測裝置與網際網路連線起來,進行資訊交換,即物物相息,以實現智慧型化識別和管理。

我認為mqtt協議是物聯網能實現的乙個方式。。。。

螢幕--------broker(資料中轉)--------》實現物聯網

node客戶端/ android客戶端均軍作為 mqtt客戶端,實現發布/訂閱

然而在android客戶端/node客戶端和broker建立連線時,由於broker集群,需要選擇合適的broker去連線,因此需要gate

對於不知道mqtt的肯定會問mqtt是幹什麼的.......

現在我有乙個專案需求,

看到這個專案第一想法肯定需要乙個伺服器,所有的wifi裝置和手機都去連線這個伺服器,然後伺服器進行資訊的中轉,類似於咱的qq

這個伺服器呢第一種方式是自己開發

就變成了

要是自己開發的話,其實想想就麻煩,要把誰的wifi裝置資料給誰,要事先規定好協議,如果我手機想檢視另乙個的或者好幾個的,伺服器處理的事情還真不少哦,一開始的時候還需要手機進行繫結,還需要伺服器存起來這些繫結資訊,如果再繫結了又麻煩了,,,想想都不想做了,哎有沒有人事先花了很長時間做好了什麼框架可以用呢!!!!!!!--------還真有人做了,

感覺開發mqtt的原因就是發現每次做乙個這樣的系統總是考慮的很多很多,所以呢那些喜歡偷懶的程式猿就在想,不行我要做個好點的框架出來,我要讓它自動的靈活的實現資料中轉.

mqtt呢其實就是上面的伺服器(沒有儲存哈),提供了資料中轉

比方說如果安裝了這個伺服器,可以設定這個伺服器的ip位址和埠號,然後wifi裝置(網路裝置) 和手機都去連線這個伺服器.

對於怎麼讓wifi裝置(網路裝置) 的資料發給  手機呢

人家規定了,傳送資料的時候資料頭上先加一些標識(假設是"yang"),手機那邊呢設定接收標識為"yang"的資料...額感覺就是加了協議而已,只不過,協議自己可以規定,而且可以設定接收多個標識的資料..

空說無憑,咱看一下---這是客戶端軟體(後面會給大家),然後都去連線mqtt伺服器(安裝後面會說),

可以用這個測試47.93.19.134:1883

下面這張圖只是說主題自己看著自己規定哈

其實說白了

畫了這幾張圖應該知道mqtt是幹什麼的了吧??????而且是開源的

如果專案上用mqtt,,,簡直太方便了..........我們只自己設定標識就行了......額還有一些繫結資訊,,,大大減輕了工作量

現在看mqtt的安裝---對了mqtt的伺服器軟體挺多的.....

一開始我安裝的是emq,不過沒安裝上,所以就選擇上面的apollo(mqtt伺服器)

可以看這篇文章

我呢放在了f 盤了

所以先定位到f盤

然後create mybroke    建立的名字可以隨意

就會發現

然後執行f:\mqtt\apache-apollo-1.7.1-windows-distro\apache-apollo-1.7.1\bin\mybroke\bin>apollo-broker.cmd  run    開啟伺服器

後台登入介面:或

因為只是剛開始所以好多東西其實自己也沒弄好,就是簡簡單單的啟動起來

除錯助手

補充一下,終於發現連線不上的問題了...埠號寫錯了,我以為所有的mqtt都是用的1883呢....

安裝好以後就可以用除錯助手測試了---這個除錯助手不怎麼好用,有時候需要重啟這個助手才能連線上...

有的是1883,注意自己安裝的mqtt是哪一款,注意看列印的資訊

連線上是連線上了但是用這個除錯助手通訊可不咋滴.......

現在弄遠端連線

借助花生殼

可是剛才還能連線...現在不可以了..................改天換個mqtt安裝試一試

感覺還是買的雲的電腦上安裝mqtthaoy好一些,畢竟直接ip位址就是公網的ip位址

MQTT 協議理解

mqtt特點 mqtt協議是為大量計算能力有限,且工作在低頻寬 不可靠的網路的遠端感測器和控制裝置通訊而設計的協議,它具有以下主要的幾項特性 1 使用發布 訂閱訊息模式,提供一對多的訊息發布,解除應用程式耦合 2 對負載內容遮蔽的訊息傳輸 3 使用 tcp ip 提供網路連線 4 有三種訊息發布服務...

理解MQTT協議資料報結構

在本教程中,我們將更詳細地介紹mqtt協議,以及mqtt訊息或資料報的格式。我們將研究 mqtt訊息格式。mqtt訊息頭 訊息欄位和編碼 控制訊息編碼示例 mqtt是基於二進位制的協議,控制元素是二進位制位元組而不是文字字串。mqtt使用命令和命令確認格式。這意味著每個命令都有乙個對應的確認。主題名...

關於專案的管理

從上學到現在已經2個學期了。再過一學年就畢業了。準確的說是再過6個月!學了不少,專案也做了不少,我常常聽見人們說程式設計師是在專案中成長起來的。不做專案,你自認為學得再精,也是無用的,就像乙個書呆子,飽腹經綸,卻毫無用處。在學習中老師也經常提及專案的流程,技巧,但真正體會到團隊合作專案時的流程的好處...