0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(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è)基于客戶端-服務(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è)基于客戶端-服務(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)用戶名為 admin, 密碼為 public

MQTT客戶端搭建

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

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

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

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

配置MQTT client

連接服務(wù)器

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

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

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

實(shí)驗(yàn)

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

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

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

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

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

總結(jié)

通過(guò)EMQx搭建服務(wù)器和MQTT.fx客戶端,我們很輕松的搭建好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

    文章

    7586

    瀏覽量

    89003
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    653

    瀏覽量

    22582

原文標(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)推薦

    華為 Flexus 云服務(wù)器搭建螢火商城 2.0

    在今天這個(gè)意義非凡的日子,我懷揣著滿心的期待與憧憬,毅然踏上了利用華為 Flexus 云服務(wù)器搭建輕量級(jí)、高性能、前后端分離的電商系統(tǒng)螢火商城 2.0 的征程。這旅程,注定充滿了挑戰(zhàn)與驚喜,猶如
    的頭像 發(fā)表于 01-13 13:36 ?54次閱讀
    華為 Flexus 云<b class='flag-5'>服務(wù)器</b><b class='flag-5'>搭建</b>螢火商城 2.0

    采用華為云 Flexus 云服務(wù)器 X 實(shí)例部署 MQTT 服務(wù)器完成設(shè)備上云

    、前言 1.1 開(kāi)發(fā)需求 這篇文章講解: 采用華為云最新推出的 Flexus 云服務(wù)器 X 實(shí)例 EMQX 服務(wù)器,搭建 MQTT
    的頭像 發(fā)表于 12-26 18:12 ?203次閱讀
    采用華為云 Flexus 云<b class='flag-5'>服務(wù)器</b> X 實(shí)例部署 <b class='flag-5'>MQTT</b> <b class='flag-5'>服務(wù)器</b>完成設(shè)備上云

    采用 Flexus 云服務(wù)器 X 實(shí)例搭建 RTSP 直播服務(wù)器

    、前言 這篇文章講解:? 采用華為云最新推出的 Flexus 云服務(wù)器 X 實(shí)例搭建 RTSP 服務(wù)器,完成視頻直播需求。 隨著實(shí)時(shí)視頻流傳輸需求的增長(zhǎng),RTSP(實(shí)時(shí)流協(xié)議)
    的頭像 發(fā)表于 12-24 17:36 ?203次閱讀
    采用 Flexus 云<b class='flag-5'>服務(wù)器</b> X 實(shí)例<b class='flag-5'>搭建</b> RTSP 直播<b class='flag-5'>服務(wù)器</b>

    企業(yè)云服務(wù)器平臺(tái)設(shè)計(jì)與搭建

    企業(yè)云服務(wù)器平臺(tái)的設(shè)計(jì)與搭建個(gè)復(fù)雜但系統(tǒng)的過(guò)程,涉及多個(gè)環(huán)節(jié)和因素。主機(jī)推薦小編為您整理發(fā)布企業(yè)云服務(wù)器平臺(tái)設(shè)計(jì)與
    的頭像 發(fā)表于 12-04 09:51 ?125次閱讀

    搭建海外云服務(wù)器需要什么費(fèi)用?

    搭建海外云服務(wù)器的費(fèi)用涉及多個(gè)方面,包括服務(wù)器實(shí)例費(fèi)用、公網(wǎng)帶寬費(fèi)用、磁盤(pán)存儲(chǔ)費(fèi)用、操作系統(tǒng)費(fèi)用和其他費(fèi)用。具體費(fèi)用取決于所選的云服務(wù)提供商、服務(wù)器
    的頭像 發(fā)表于 10-29 10:55 ?229次閱讀

    Kubernetes集群搭建容器云需要幾臺(tái)服務(wù)器

    Kubernetes集群搭建容器云需要幾臺(tái)服務(wù)器?至少需要4臺(tái)服務(wù)器。搭建容器云所需的服務(wù)器數(shù)量以及具體的
    的頭像 發(fā)表于 10-21 10:06 ?174次閱讀

    服務(wù)器搭建步驟

    服務(wù)器不僅提供了靈活的資源配置和強(qiáng)大的計(jì)算能力,還降低了IT基礎(chǔ)設(shè)施的維護(hù)成本。下面,rak小編帶您詳細(xì)了解云服務(wù)器搭建的步驟。
    的頭像 發(fā)表于 10-09 10:58 ?237次閱讀

    服務(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 ?390次閱讀

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

    通 e.打開(kāi)第一個(gè)CMD終端,啟動(dòng)代理服務(wù)器(指定配置文件): f.打開(kāi)第二個(gè)CMD終端,作為客戶端1,訂閱主題(指定IP、端口、用戶名、口令): 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 ?1091次閱讀
    分享 | PTP、NTP時(shí)間同步<b class='flag-5'>服務(wù)器</b>的部署與<b class='flag-5'>搭建</b>過(guò)程

    服務(wù)器linux搭建ftp服務(wù)訪問(wèn)不了怎么解決?

    如果你在云服務(wù)器linux上搭建了FTP服務(wù)但無(wú)法訪問(wèn),這可能是由于幾種原因引起的。以下是些常見(jiàn)問(wèn)題和解決方法: 1、防火墻配置:確保防火墻允許FTP流量通過(guò)。FTP
    的頭像 發(fā)表于 04-18 17:23 ?1595次閱讀

     海外云服務(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 ?1164次閱讀

    起暢玩!幻獸帕魯服務(wù)器華為云搭建教程(Windows 平臺(tái))

    【摘要】?幻獸帕魯 Palworld 私服搭建教程,幫你快速搭建幻獸帕魯服務(wù)器。 《幻獸帕魯》是近期爆火的款開(kāi)放世界生存建造游戲,在游戲中,玩家可以在廣闊的世界中收集神奇的生物“帕魯
    的頭像 發(fā)表于 01-24 17:42 ?2276次閱讀
    <b class='flag-5'>一</b>起暢玩!幻獸帕魯<b class='flag-5'>服務(wù)器</b>華為云<b class='flag-5'>搭建</b>教程(Windows 平臺(tái))