MQTT 安裝 測試

2022-04-06 00:31:50 字數 2507 閱讀 3934

mqtt學習筆記——mqtt協議體驗 mosquitto安裝和使用         

android推送方案分析        

mosquitto伺服器搭建    

0 前言

mqtt是ibm開發的乙個即時通訊協議。mqtt是面向m2m和物聯網的連線協議,採用輕量級發布和訂閱訊息傳輸機制。mosquitto是一款實現了 mqtt v3.1 協議的開源訊息**軟體,提供輕量級的,支援發布/訂閱的的訊息推送模式,使裝置對裝置之間的短訊息通訊簡單易用。

若初次接觸mqtt協議,可先理解以下概念:

【mqtt協議特點】——相比於restful架構的物聯網系統,mqtt協議借助訊息推送功能,可以更好地實現遠端控制。

【mqtt協議角色】——在restful架構的物聯網系統,包含兩個角色客戶端和伺服器端,而在mqtt協議中包括發布者,**器(伺服器)和訂閱者。

【mqtt協議訊息】——mqtt中的訊息可理解為發布者和訂閱者交換的內容(負載),這些訊息包含具體的內容,可以被訂閱者使用。

【mqtt協議主題】——mqtt中的主題可理解為相同型別或相似型別的訊息集合。

1 安裝和使用注意點

1.1 安裝

截止2023年12月,最新版本為mosquitto-1.4.5

wget 

# 解壓

tar zxfv mosquitto-1.4.5.tar.gz

# 進入目錄

cd mosquitto-1.4.5

# 編譯

make

# 安裝

sudo make install

1.2 安裝注意點

編譯找不到openssl/ssl.h

【解決方法】——安裝openssl

sudo apt-get install libssl-dev

編譯過程找不到ares.h

sudo apt-get install libc-ares-dev

編譯過程找不到uuid/uuid.h

sudo apt-get install uuid-dev

使用過程中找不到libmosquitto.so.1

error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: no such file or directory

【解決方法】——修改libmosquitto.so位置

# 建立鏈結

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

# 更新動態鏈結庫

sudo ldconfig

make: g++:命令未找到  

【解決方法】

安裝g++編譯器

sudo apt-get install g++

2 簡單測試

乙個完整的mqtt示例包括乙個**器,乙個發布者和乙個訂閱者。測試分為以下幾個步驟:

啟動服務mosquitto。

若出現如下錯誤:

error: invalid user 'mosquitto'.

直接在shell視窗中執行:useradd mosquitto 命令就可以了。

訂閱者通過mosquitto_sub訂閱指定主題的訊息。

發布者通過mosquitto_pub發布指定主題的訊息。

**伺服器把該主題的訊息推送到訂閱者。

【測試說明】

測試環境:ubuntu 15.04 虛擬機器

在本例中,發布者、**和訂閱者均為localhsot,但是在實際的情況下三種並不是同乙個裝置,在mosquitto中可通過-h(--host)設定主機名稱(hostname)。為了實現這個簡單的測試案例,需要在linux中開啟三個控制台,分別代表**伺服器、發布者和訂閱者。

2.1 啟動**服務

mosquitto -v

【-v】列印更多的除錯資訊

2.2 訂閱主題

mosquitto_sub -v -t sensor

【-t】指定主題,此處為sensor

【-v】列印更多的除錯資訊

2.3 發布內容

mosquitto_pub -t sensor  -m 12

【-t】指定主題

【-m】指定訊息內容

2.4 執行結果

當發布者推送訊息之後,訂閱者獲得以下內容

sensor 12

而**伺服器控制台中會出現——連線、訊息發布和心跳等除錯資訊。通過**伺服器的除錯輸出可以對mqtt協議的相關過程有所了解。

linux 安裝mqtt 測試成功

1 安裝軟體 yum install gcc c yum install cmake yum install openssl devel 2 去usr loca 目錄下操作 mkdir software cd software wget tar xzvf mosquitto 1.4.10.tar.g...

mqtt安裝小記

1.安裝外部依賴 1.1 yum 安裝依賴 yum install openssl devel yum install c ares devel yum install libuuid devel yum install gcc 1.2 編譯安裝hiredis客戶端 tar zxvf hiredis...

mqtt之jmeter壓力測試

引自 今天我們介紹xmeter團隊帶來的新版mqtt jmeter外掛程式,您可以更為方便地新增mqtt連線 發布 訂閱取樣器,構造組合的應用場景,例如背景連線 多發少收 少發多收,計算訊息 時延等。利用該外掛程式,我們為emq成功實施了包括百萬級併發連線在內的一系列測試場景,這裡有詳細的測試報告。...