以開發板作為服務器,Ubuntu 開倆個終端作為訂閱者和發布者進行測試 我們打開/etc 下面的 mosquitto.conf 文件,添加 user root。如下圖所示: ![]() 使用以下命令啟動開發板的 mosquitto 服務 mosquitto -d -c /etc/mosquito/mosquitto.conf 如下圖所示: ![]() 查詢是否啟動成功,命令如下: ps -ef |grep mosquitto 如果成功如下圖所示: ![]() 使用 ping 命令 ping 一下自己的 Ubuntu,這里一定要 ping 通,否則下面的步驟不成功,命令如下,IP 為自己 Ubuntu 的 ip ping 192.168.1.12 -c 3 成功 ping 通如下圖所示: ![]() 在文檔的第一步,我們就已經在 Ubuntu 上安裝了 mosquitto,所示我們直接打開一個 終端,訂閱主題,命令如下: mosquitto_sub -h 192.168.1.20 -t "mqtt" -v 其中參數-h 是指定要連接的 MQTT 服務器,這里的 192.168.1.20 為開發板的 IP,大家 要根據自己的 IP 來設置,-t 訂閱主題,此處為 mqtt,所以主題為 mqtt,-v 打印更多的調試信息。 如下圖所示: ![]() 在 Ubuntu 上打開另一個終端(注意這里又打開了一個終端),發布主題,命令如下: mosquitto_pub -h 192.168.1.20 -t "mqtt" -m "Hello MQTT" 其中參數-h 是指定要連接的 MQTT 服務器,這里的 192.168.1.20 為開發板的 IP,大家 要根據己 的 IP 來設置,-t 訂閱主題,此處為 mqtt,-m 指定消息內容,這里發送的 Hello MQTT。 通信成功以后,我們會在另一個終端看到我們通過開發板作為 mqtt 服務器轉發來的 Hello MQTT 信息,如下圖所示: ![]() 2.以開發板作為消息的發布者,Ubuntu 開倆個終端作為服務器和訂閱 者進行測試 在 Ubuntu 上開啟 mosquitto 服務,命令如下: service mosquitto start 查看 mosquitto 是否啟動成功,命令如下: ps -ef | grep mosquitto 啟動成功如下圖所示: ![]() 打開一個另外一個終端,訂閱主題,命令如下: mosquitto_sub -h 192.168.1.12 -t "mqtt" -v 其中參數-h 是指定要連接的 MQTT 服務器,這里的 IP 為自己 Ubuntu 的 IP,-t 訂閱主題,此處為mqtt,所以主題為 mqtt,-v 打印更多的調試信息。 如下圖所示: ![]() 下面的操作在開發板上進行,使用 ping 命令 ping 一下自己的 Ubuntu,這里一定要 ping 通,否則 下面的步驟不成功,命令如下,IP 為自己 Ubuntu 的 ip ping 192.168.1.12 -c 3 成功 ping 通如下圖所示: ![]() 在開發板的控制臺,這里的 IP 為 Ubuntu 的 IP,輸入以下命令: mosquitto_pub -h 192.168.1.12 -t "mqtt" -m "Hello MQTT" 通信成功以后,會在 Ubuntu 的訂閱端收到開發板發來的 Hello MQTT,如下圖所示: ![]() ![]() 3.以開發板作為消息的訂閱者,Ubuntu 開倆個終端作為服務器和發布者進行測試 在 Ubuntu 上開啟 mosquitto 服務,命令如下: service mosquitto start 查看 mosquitto 是否啟動成功,命令如下: ps -ef | grep mosquitto 啟動成功如下圖所示: ![]() 下面的操作在開發板上進行,使用 ping 命令 ping 一下自己的 Ubuntu,這里一定要 ping 通,否則 下面的步驟不成功,命令如下,IP 為自己 Ubuntu 的 ip ping 192.168.1.12 -c 3 成功 ping 通如下圖所示: ![]() 在開發板的控制臺,這里的 IP 為 Ubuntu 的 IP,輸入以下命令: mosquitto_sub -h 192.168.1.12 -t "mqtt" -v ![]() 打開一個另外一個終端,訂閱主題,命令如下: mosquitto_pub -h 192.168.1.12 -t "mqtt" -m "Hello MQTT" 其中參數-h 是指定要連接的 MQTT 服務器,這里的 IP 為自己 Ubuntu 的 IP,-t 訂閱主題,此處 為mqtt,所以主題為 mqtt,-v 打印更多的調試信息。 如果成功,則會在開發板收到來自發布者的信息,如下圖所示: ![]() ![]() |