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

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

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

如何搭建一個(gè)MQTT服務(wù)器?

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:Rice嵌入式開(kāi)發(fā)技術(shù)分享 ? 作者:RiceDIY ? 2021-05-10 14:31 ? 次閱讀

背景

MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級(jí)”通訊協(xié)議,該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。MQTT最大優(yōu)點(diǎn)在于,可以以極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開(kāi)銷(xiāo)、低帶寬占用的即時(shí)通訊協(xié)議,使其在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有較廣泛的應(yīng)用。

MQTT是一個(gè)基于客戶(hù)端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。MQTT協(xié)議是輕量、簡(jiǎn)單、開(kāi)放和易于實(shí)現(xiàn)的,這些特點(diǎn)使它適用范圍非常廣泛。在很多情況下,包括受限的環(huán)境中,如:機(jī)器與機(jī)器(M2M通信和物聯(lián)網(wǎng)(IoT)。其在,通過(guò)衛(wèi)星鏈路通信傳感器、偶爾撥號(hào)的醫(yī)療設(shè)備、智能家居、及一些小型化設(shè)備中已廣泛使用。

關(guān)于MQTT我分為2~3篇來(lái)描述,先從實(shí)踐來(lái)描述。

MQTT服務(wù)器搭建

MQTT是一個(gè)基于客戶(hù)端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議,所以需要一個(gè)服務(wù)器,MQTT服務(wù)器可以選擇開(kāi)源平臺(tái)--EMQx和ThingsBoard。這兩個(gè)開(kāi)源平臺(tái)部署比較方便。本次的講解主要基于EMQx開(kāi)源平臺(tái)。

EMQx配置EMQx需要進(jìn)行簡(jiǎn)單的配置,比如設(shè)置MQTT client連接服務(wù)器時(shí),需要的username、password等。

因?yàn)槲业沫h(huán)境是在windows下,所以下面的配置都是基于windows下的,不過(guò)其他平臺(tái)的大同小異。

配置username和password等參數(shù)

在解壓的目錄中打開(kāi):emqxetcpluginsemqx_auth_username.conf

從examples中可以看出,可以設(shè)置多個(gè)username和password

加密方式設(shè)置為plain(透?jìng)鳎?/p>

配置匿名登錄

在解壓的目錄中打開(kāi):emqxetcemqx.conf

6b8b8d24-b03c-11eb-bf61-12bb97331649.png

為true,即允許匿名登錄,方便調(diào)試,如果設(shè)置成false,需要進(jìn)行鑒權(quán)。

操作emqx broker:

// 啟動(dòng)EMQx Broker:

emqx start

// 停止EMQx Broker:

emqx stop

// 重啟EMQx Broker:

emqx restart

更多的操作命令參考鏈接:https://docs.emqx.cn/broker/v4.3/getting-started/command-line.html

EMQx管理界面EMQx中包含了一個(gè)Web server,當(dāng)啟動(dòng)EMQx后,通過(guò)瀏覽器登錄《服務(wù)器IP:18083》就能登錄web server。

其中:默認(rèn)用戶(hù)名為 admin, 密碼為 public

MQTT客戶(hù)端搭建

服務(wù)器搭建好了,那么還需要一個(gè)MQTT客戶(hù)端,為了快速學(xué)習(xí),我們可以使用別人做好的MQTT客戶(hù)端軟件-- MQTT.fx。下載地址:http://www.jensd.de/apps/mqttfx/

下載完,根據(jù)提示安裝即可。

啟動(dòng)一個(gè)MQTT客戶(hù)端:

打開(kāi)設(shè)置

配置MQTT client

連接服務(wù)器

連接成功后,可以在EMQx web server上查看連接信息,如果信息跟客戶(hù)端的一致,說(shuō)明連接成功

啟動(dòng)第二個(gè)MQTT客戶(hù)端:

操作跟第一個(gè)客戶(hù)端一致,啟動(dòng)完之后就可以在EMQx web server上查看連接信息

實(shí)驗(yàn)

在上述中服務(wù)器和客戶(hù)已經(jīng)成功建立連接。

我們通過(guò)一個(gè)實(shí)驗(yàn)演示M2M的通信。

其中client01客戶(hù)端,訂閱一個(gè)topic,topic名稱(chēng)為rice:

可以通過(guò)EMQx web server查看訂閱的topic

client02客戶(hù)端,向topic:rice發(fā)布消息。

總結(jié)

通過(guò)EMQx搭建服務(wù)器和MQTT.fx客戶(hù)端,我們很輕松的搭建好MQTT環(huán)境,這樣我們很方面的學(xué)習(xí)MQTT。

MQTT協(xié)議是一個(gè)基于TCP的應(yīng)用層協(xié)議??梢愿弦黄恼碌腃oAP協(xié)議進(jìn)行對(duì)比學(xué)習(xí)。CoAP是基于UDP的。不過(guò)也有基于UDP的MQTT。

原文標(biāo)題:教你動(dòng)手寫(xiě)網(wǎng)絡(luò)協(xié)議棧-MQTT報(bào)文解析-實(shí)踐

文章出處:【微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7389

    瀏覽量

    88216
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    629

    瀏覽量

    22286

原文標(biāo)題:教你動(dòng)手寫(xiě)網(wǎng)絡(luò)協(xié)議棧-MQTT報(bào)文解析-實(shí)踐

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    服務(wù)器搭建詳細(xì)過(guò)程

    隨著云計(jì)算技術(shù)的發(fā)展,越來(lái)越多的企業(yè)和個(gè)人開(kāi)始選擇使用云服務(wù)器來(lái)部署自己的應(yīng)用和服務(wù)。相比于傳統(tǒng)的物理服務(wù)器,云服務(wù)器提供了更高的靈活性、可擴(kuò)展性和安全性。下面將詳細(xì)介紹如何
    的頭像 發(fā)表于 09-12 10:00 ?137次閱讀

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

    通 e.打開(kāi)第一個(gè)CMD終端,啟動(dòng)代理服務(wù)器(指定配置文件): f.打開(kāi)第二個(gè)CMD終端,作為客戶(hù)端1,訂閱主題(指定IP、端口、用戶(hù)名、口令): g.打開(kāi)第三個(gè)CMD終端,作
    發(fā)表于 07-24 06:39

    使用SDK中的MQTT連接服務(wù)器,導(dǎo)致mqtt永遠(yuǎn)斷開(kāi),請(qǐng)問(wèn)是什么原因?

    使用SDK中的MQTT連接服務(wù)器,由于wifi信號(hào)不好會(huì)經(jīng)常出現(xiàn)斷網(wǎng)重新連接的情況,重連次數(shù)多了以后MQTT_Connect函數(shù)中的espconn_gethostbyname返回Out of memory error,導(dǎo)致
    發(fā)表于 07-19 14:37

    NB81如何通過(guò)MQTT對(duì)接EMQX服務(wù)器?

    NB81如何通過(guò)MQTT對(duì)接EMQX服務(wù)器,有對(duì)接流程的參考文檔么
    發(fā)表于 06-04 06:02

    分享 | PTP、NTP時(shí)間同步服務(wù)器的部署與搭建過(guò)程

    分享 | PTP、NTP時(shí)間同步服務(wù)器的部署與搭建過(guò)程
    的頭像 發(fā)表于 05-15 10:01 ?709次閱讀
    分享 | PTP、NTP時(shí)間同步<b class='flag-5'>服務(wù)器</b>的部署與<b class='flag-5'>搭建</b>過(guò)程

     海外云服務(wù)器搭建pi節(jié)點(diǎn)詳細(xì)步驟

     海外云服務(wù)器搭建pi節(jié)點(diǎn)簡(jiǎn)單嗎?海外云服務(wù)器搭建pi節(jié)點(diǎn)步驟有哪些?小編為您整理發(fā)布海外云服務(wù)器搭建
    的頭像 發(fā)表于 02-21 10:16 ?870次閱讀

    【飛騰派4G版免費(fèi)試用】如何在飛騰開(kāi)發(fā)板上安裝EMQX MQTT服務(wù)器

    系統(tǒng)中搭建個(gè)單節(jié)點(diǎn)的MQTT服務(wù)器。 1. 安裝EMQX 本文演示的環(huán)境為: 硬件:飛騰派開(kāi)發(fā)板,ARMV8架構(gòu) 操作系統(tǒng):Ubuntu
    發(fā)表于 12-26 11:16

    如何快速搭建個(gè)MQTT協(xié)議的測(cè)試環(huán)境

    大家好,我是麥?zhǔn)?,之前有小伙伴建議出期如何快速搭建個(gè)MQTT協(xié)議的測(cè)試環(huán)境,因?yàn)樽约簩?xiě)的mqtt
    的頭像 發(fā)表于 12-26 09:28 ?1666次閱讀
    如何快速<b class='flag-5'>搭建</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>MQTT</b>協(xié)議的測(cè)試環(huán)境

    如何自己搭建個(gè)服務(wù)器?

    如何自己搭建個(gè)服務(wù)器?自己搭建個(gè)
    的頭像 發(fā)表于 12-12 16:52 ?3539次閱讀

    搭建ftp服務(wù)器的步驟

    的操作系統(tǒng)。常用的操作系統(tǒng)包括Windows、Linux和Mac OS。每個(gè)操作系統(tǒng)都有不同的搭建FTP服務(wù)器的方法和工具。 在繼續(xù)之前,請(qǐng)確保您已經(jīng)為您的服務(wù)器選擇了
    的頭像 發(fā)表于 12-07 16:32 ?1035次閱讀

    HFS如何快速搭建http服務(wù)器

    HFS 是個(gè)輕量級(jí)的HTTP 服務(wù)工具,3.0版本前進(jìn)提供Windows平臺(tái)安裝包,3.0版本開(kāi)提供Linux和macOS平臺(tái)的安裝包。HFS更適合在局域網(wǎng)環(huán)境中搭建文件共享
    的頭像 發(fā)表于 11-14 10:32 ?835次閱讀
    HFS如何快速<b class='flag-5'>搭建</b>http<b class='flag-5'>服務(wù)器</b>

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

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

    存儲(chǔ)服務(wù)器怎么搭建?

      搭建存儲(chǔ)服務(wù)器需要根據(jù)我們的需求和環(huán)境選擇合適的硬件和軟件,并進(jìn)行相應(yīng)的配置。那么存儲(chǔ)服務(wù)器怎么搭建?
    的頭像 發(fā)表于 10-31 16:51 ?2581次閱讀

    基于EMQX平臺(tái)自建MQTT服務(wù)器并實(shí)現(xiàn)通訊

    MQTT消息服務(wù)器,提供了穩(wěn)定可靠的消息傳輸服務(wù)。本次教程中,我們將探討如何基于EMQX平臺(tái)自建MQTT服務(wù)器,并實(shí)現(xiàn)設(shè)備之間的高效通訊。
    的頭像 發(fā)表于 10-27 08:21 ?1026次閱讀
    基于EMQX平臺(tái)自建<b class='flag-5'>MQTT</b><b class='flag-5'>服務(wù)器</b>并實(shí)現(xiàn)通訊

    輕量服務(wù)器怎么搭建ssh?

    搭建輕量服務(wù)器時(shí),我們通常需要設(shè)置SSH登錄,以便能夠通過(guò)SSH客戶(hù)端遠(yuǎn)程連接到服務(wù)器。下面是些簡(jiǎn)單的步驟來(lái)幫助您搭建SSH。 第
    的頭像 發(fā)表于 10-10 09:59 ?538次閱讀