0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Raspberry Pi樹莓派上安裝Mosquitto部署MQTT服務(wù)器呢?

jf_Ufm3lVrj ? 來(lái)源:凌順實(shí)驗(yàn)室 ? 2024-03-12 11:29 ? 次閱讀

MQTT 介紹

MQTT代表消息隊(duì)列遙測(cè)傳輸,是一種網(wǎng)絡(luò)消息協(xié)議,通常用于物聯(lián)網(wǎng)設(shè)備之間的消息傳輸。

為了讓我們的Raspberry Pi支持MQTT協(xié)議,我們將使用一個(gè)名為Mosquitto的服務(wù)器軟件。

Mosquitto 是一個(gè)消息代理,它實(shí)現(xiàn)了多個(gè)版本的 MQTT 協(xié)議,包括最新的 5.0 版本。

MQTT協(xié)議的工作原理是讓客戶機(jī)充當(dāng)發(fā)布者和訂閱者。發(fā)布者將消息發(fā)送給充當(dāng)中介的代理。

訂閱者連接到MQTT代理并閱讀特定主題下廣播的消息。

您可以使用MQTT讓多個(gè)傳感器將它們的數(shù)據(jù)發(fā)送到您的Raspberry Pi的MQTT代理,然后客戶端設(shè)備可以接收數(shù)據(jù)。

如果你想了解更多關(guān)于MQTT協(xié)議的信息,以及為什么它非常適合樹莓Pi等物聯(lián)網(wǎng)設(shè)備,請(qǐng)務(wù)必查看MQTT官方網(wǎng)站。

樹莓派上安裝 Mosquitto

1,首先 ,需要最新的系統(tǒng),輸入以下命令:

sudo apt update
sudo apt upgrade

2,運(yùn)行Mosquitto和Mosquitto客戶端的安裝命令,這樣方便在樹莓派上 進(jìn)行連接測(cè)試:

sudo apt install mosquitto mosquitto-clients

在安裝過(guò)程中,包的管理器會(huì)自動(dòng)配置 Mosquitto 服務(wù)器在開機(jī)時(shí)啟動(dòng)。

安裝完成,此時(shí),您將在您的設(shè)備上啟動(dòng)并運(yùn)行 Mosquitto MQTT 代理。

3,您可以使用以下命令驗(yàn)證它是否已安裝并正在運(yùn)行。

sudo systemctl status mosquitto

此命令將返回“mosquitto”服務(wù)的狀態(tài)。

如果服務(wù)已正常啟動(dòng),您應(yīng)該會(huì)看到文本active (running)。

測(cè)試MQTT

我們的下一步將是測(cè)試該服務(wù)是否正常工作,并且現(xiàn)在在我們的 Raspberry Pi 上充當(dāng) MQTT 代理。

為此,我們將使用本指南前面安裝的 Mosquitto 客戶端。

對(duì)于本節(jié),您將需要打開兩個(gè)終端會(huì)話到您的 Raspberry Pi(本地或通過(guò) SSH)。

1.我們的首要任務(wù)是啟動(dòng)訂閱者。

訂閱者將監(jiān)聽(tīng)我們?cè)?Raspberry Pi 上運(yùn)行的 MQTT 代理。

我們可以使用我們之前為訂閱者安裝的 Mosquitto 客戶端來(lái)執(zhí)行此操作。

在下面的示例中,我們連接到一個(gè)localhost連接并等待來(lái)自代理的關(guān)于“mqtt/pimylifeup”主題的消息。

mosquitto_sub -h localhost -t "mqtt/pimylifeup"

使用“-h”參數(shù),您可以指定要連接的主機(jī)名。在我們的例子中,我們使用安裝在 Raspberry Pi 上的本地 MQTT 代理。

接下來(lái),我們使用“-t”參數(shù)告訴 Mosquitto 訂閱者我們應(yīng)該從 MQTT 代理收聽(tīng)什么主題。

對(duì)于我們的示例,我們正在收聽(tīng)一個(gè)名為“mqtt/pimylifeup”的主題。

2.現(xiàn)在我們已經(jīng)加載了一個(gè)客戶端并正在監(jiān)聽(tīng)消息,

讓我們嘗試向它發(fā)布一個(gè)消息。

我們需要使用之前安裝在 Raspberry Pi 上的 MQTT 發(fā)布者客戶端向主題發(fā)布消息。

運(yùn)行以下命令將消息“Hello World”發(fā)布到我們localhost服務(wù)器的“mqtt/pimylifeup”主題下。

mosquitto_pub -h localhost -t "mqtt/pimylifeup" -m "hello lingshunlab.com"

其中兩個(gè)參數(shù)與前面的命令相同,“-h”指定要連接的服務(wù)器,“-t”指定要發(fā)布到的主題。

我們?cè)谶@里使用的另一個(gè)參數(shù)是“-m”參數(shù)。此參數(shù)允許您指定要發(fā)送到 Raspberry Pi MQTT 代理的消息。

3.回到您啟動(dòng) Mosquitto 發(fā)布器的終端會(huì)話,

您現(xiàn)在應(yīng)該會(huì)看到 您的消息出現(xiàn)。

因此,如果您按照我們的示例進(jìn)行操作,您應(yīng)該會(huì)在命令行中看到以下文本。

hello lingshunlab.com

2bd953bc-e01f-11ee-a297-92fbcf53809c.png

測(cè)試,mqtt服務(wù)器成功。

如果您將mqtt與UFW 等防火墻一起使用,請(qǐng)確保打開端口1883。

設(shè)置遠(yuǎn)程訪問(wèn)(無(wú)身份驗(yàn)證)

要啟用遠(yuǎn)程訪問(wèn)以便我們可以與其他物聯(lián)網(wǎng)設(shè)備進(jìn)行通信,我們需要編輯/創(chuàng)建一個(gè)配置文件。

1)Mosquitto Broker 啟用遠(yuǎn)程訪問(wèn)(無(wú)身份驗(yàn)證)

運(yùn)行以下命令打開mosquitto.conf文件文件。

sudo nano /etc/mosquitto/mosquitto.conf

2 )使用箭頭鍵移動(dòng)到文件末尾并粘貼以下兩行:

listener 1883
allow_anonymous true

最后如下圖:

2bff1336-e01f-11ee-a297-92fbcf53809c.png

保存,推出。

3)重啟mosquitto

為了使配置生效,需要重啟mosquitto

sudo systemctl restart mosquitto

或者,直接重啟樹莓派

sudo reboot

這樣就遠(yuǎn)程主機(jī)就可以通過(guò)ip地址遠(yuǎn)程訪問(wèn)mqtt服務(wù)器了。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2551

    文章

    51097

    瀏覽量

    753527
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    189

    瀏覽量

    16336
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    2

    文章

    559

    瀏覽量

    22225
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1707

    瀏覽量

    105629
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    651

    瀏覽量

    22503

原文標(biāo)題:Raspberry Pi 樹莓派上安裝 Mosquitto部署MQTT服務(wù)器

文章出處:【微信號(hào):凌順實(shí)驗(yàn)室,微信公眾號(hào):凌順實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用windows版mosquitto軟件自建一個(gè)服務(wù)器

    password_file my_mosquitto_pwd_file.cfg b.創(chuàng)建用戶名和口令,用于登錄MQTT服務(wù)器: mosquitto_passwd.exe -H sha
    發(fā)表于 07-24 06:39

    何在樹莓派上安裝系統(tǒng)

    何在樹莓派上安裝系統(tǒng)
    發(fā)表于 11-17 16:17

    Raspberry Pi 3試用體驗(yàn)】搭建minidlna服務(wù)器(結(jié)項(xiàng)二)

    `傳送門:【Raspberry Pi 3試用體驗(yàn)】搭建Samba服務(wù)器(結(jié)項(xiàng)一)https://bbs.elecfans.com/jishu_900387_1_1.html【Raspberry
    發(fā)表于 06-21 12:20

    【Banana Pi M1+試用體驗(yàn)】在香蕉派上面體驗(yàn)MQTT. 上

    ## 代理服務(wù)器`mosquitto`啟動(dòng)代理服務(wù)器mosquitto -vv: 打印出調(diào)試信息, 啰嗦模式## 訂閱者`mosquitto
    發(fā)表于 07-28 17:34

    如何外網(wǎng)直接訪問(wèn)樹莓派上搭建的服務(wù)器?

    我在我的樹莓派上用flask搭建了一個(gè)服務(wù)器,放上了自己的網(wǎng)頁(yè),開放在80端口。但是我樹莓派連接的是寢室的WiFi,并沒(méi)有公網(wǎng)IP。我有阿里云的服務(wù)
    發(fā)表于 07-04 17:55

    【最全】樹莓派(Raspberry Pi)平臺(tái)資源合集

    `資源目錄:樹莓派(Raspberry Pi)平臺(tái)資源大全樹莓派的硬件及配置使用Unix系統(tǒng)社區(qū)與交流資料、項(xiàng)目參考與視頻教程樹莓派(
    發(fā)表于 08-29 17:37

    何在樹莓派上安裝鴻蒙系統(tǒng)?

    何在樹莓派上安裝鴻蒙系統(tǒng)?
    發(fā)表于 09-29 11:07

    什么是樹莓派(Raspberry Pi

    什么是樹莓派(Raspberry Pi)?樹莓派可以做什么?樹莓派支持的系統(tǒng)有哪些?
    發(fā)表于 07-30 06:21

    安裝Raspberry Pi Clock Hat的教程分享

    Raspberry Pi 用于基于服務(wù)器的應(yīng)用程序(如 NAS 服務(wù)器、家庭自動(dòng)化服務(wù)器等)的人來(lái)說(shuō)非常有用。這頂帽子支持從
    發(fā)表于 07-05 06:01

    怎么搭建MQTT服務(wù)器

    ? ? ??服務(wù)器端建議采用Mosquitto 1.14 Broker ( mqtt v3.1),它是一個(gè)開源的MQTT 代理??????Eclipse
    發(fā)表于 06-11 15:39 ?564次閱讀
    怎么搭建<b class='flag-5'>MQTT</b><b class='flag-5'>服務(wù)器</b>

    何在樹莓派上安裝MQTT

    如果要通過(guò)mqtt從另一個(gè)系統(tǒng)通過(guò)網(wǎng)絡(luò)/互聯(lián)網(wǎng)連接,則需要鍵入主機(jī)的IP地址(Broker System,在我們的情況下為Raspberry Pi),然后就可以連接。在圖3中,顯示了來(lái)自局域網(wǎng)
    的頭像 發(fā)表于 11-04 17:16 ?1w次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b><b class='flag-5'>安裝</b><b class='flag-5'>MQTT</b>

    Raspberry Pi(樹莓派)操作系統(tǒng)的安裝方法

    Raspberry Pi(樹莓派)需要搭載操作系統(tǒng)才能正常運(yùn)行。官方支持的操作系統(tǒng)是Raspberry Pi OS。
    的頭像 發(fā)表于 04-02 15:26 ?3113次閱讀

    Raspberry Pi安裝Android的方法

    可以在樹莓派上輕松安裝 Linux 和 Windows 操作系統(tǒng),但由于缺乏 Android 的官方支持,在樹莓派上
    的頭像 發(fā)表于 09-05 15:10 ?1.9w次閱讀
    在<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>上<b class='flag-5'>安裝</b>Android的方法

    如何部署一個(gè)MQTT服務(wù)

    1. 選擇哪一種MQTT實(shí)現(xiàn)方案 根據(jù)前面的介紹,可以知道,要想使用MQTT,必須要有一個(gè)服務(wù)端。這個(gè)服務(wù)端既可以自己部署,也可以使用公有云
    的頭像 發(fā)表于 11-09 15:29 ?1106次閱讀

    何在樹莓派上安裝Docker容器

    1. 準(zhǔn)備工作 在開始之前,請(qǐng)確保你的樹莓派已經(jīng)安裝了最新版本的Raspberry Pi OS。如果沒(méi)有,請(qǐng)按照以下步驟操作: 下載最新的Raspb
    的頭像 發(fā)表于 11-11 11:38 ?566次閱讀