場景
MQTT協議
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基於發布/訂閱(publish/subscribe)模式的"輕量級"通訊協議,該協議構建於TCP/IP協議上,由IBM在1999年發布。MQTT最大優點在於,可以以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。作為一種低開銷、低帶寬占用的即時通訊協議,使其在物聯網、小型設備、移動應用等方面有較廣泛的應用。
發布/訂閱者模式
MQTT是一個基於客戶端-服務器的消息發布/訂閱傳輸協議。MQTT協議是輕量、簡單、開放和易於實現的,這些特點使它適用范圍非常廣泛。 在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)。其在,通過衛星鏈路通信傳感器、偶爾撥號的醫療設備、智能家居、及一些小型化設備中已廣泛使用。
Broker代理:MQTT服務器,類似中間件,用來處理信息並發送到相應的訂閱者
發布者:用於發布信息到代理上,發布者也可以是訂閱者
訂閱者:用於接受信息的客戶端
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
Windows上Mqtt服務器的搭建
下載地址:
選擇經典版下載
然后選擇Windows版的壓縮包下載
下載成功后將其解壓到某路徑下
創建實例
進入到bin目錄並在此處打開cmd執行以下命令
activemq-admin.bat create mybroker
創建實例成功后會在此目錄下生成實例名的文件夾
查看登錄用戶名和密碼
進入上面創建的實例目錄下的conf目錄下的users.properties,可以查看和修改用戶名密碼
在此目錄下的activemq.xml中可以查看和修改各種協議連接的端口號,比如這里的mqtt協議的端口號默認是1883
然后可以在此目錄下的jetty.xml中對后台管理員登錄的ip和端口進行查看和修改,默認是8161
啟動MQTT服務器
進入到上面實例目錄下的bin目錄,打開cmd,執行如下
mybroker.bat start
登錄管理員后台
瀏覽器打開如下
輸入管理員密碼,默認是admin admin
登錄成功后進入管理頁面
Mqtt服務器搭建成功
然后開始安裝客戶端工具
MQTTBox客戶端工具的安裝
下載地址:
http://workswithweb.com/html/mqttbox/downloads.html
官方下載地址打不開可以在這里下載
https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/14037794
下載之后直接雙擊
然后點擊Create MQTT Client按鈕,創建客戶端
這里需要配置一些參數,協議選擇mqtt/tcp,host就是上面配置文件的端口,然后用戶名和密碼是上面配置文件的用戶名和密碼。點擊save
如果是綠色則表示配置成功,如果是紅色的錯誤提示則配置的參數不對。
客戶端與服務端進行連接測試
打開客戶端在右邊的訂閱者的部分,輸入一個主題,這里叫badao,然后點擊Subscribe進行訂閱
然后在左邊的發布者輸入相同的主題,Payload Type 代表發送的消息類型,在Payload中輸入發送的內容,點擊發布
可以看到在訂閱者就收到服務器轉發的消息了,然后在服務器后台管理頁面下的Topics下就可以看到相應的主題了。