色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > MQTT代理搭建

MQTT代理搭建 時間:2018-09-29      來源:未知

近接觸MQTT協議,MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議)協議是一種基于發布/訂閱(publish/subscribe)模式的“輕量級”通訊協議,該協議構建于TCP/IP協議上,由IBM在1999年發布。MQTT大優點在于,可以以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。做為一種低開銷、低帶寬占用的即時通訊協議,使其在物聯網、小型設備、移動應用等方面有較廣泛的應用。

MQTT的特色

MQTT是一個基于客戶端-服務器的消息發布/訂閱傳輸協議。MQTT協議是輕量、簡單、開放和易于實現的,這些特點使它適用范圍非常廣泛。在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)。其在,通過衛星鏈路通信傳感器、偶爾撥號的醫療設備、智能家居、及一些小型化設備中已廣泛使用。

MQTT協議當前版本為,2014年發布的MQTT v3.1.1。除標準版外,還有一個簡化版MQTT-SN,該協議主要針對嵌入式設備,這些設備一般工作于百TCP/IP網絡,如:ZigBee。

MQTT協議運行在TCP/IP或其他網絡協議,提供有序、無損、雙向連接。其特點包括:

1. 使用的發布/訂閱消息模式,它提供了一對多消息分發,以實現與應用程序的解耦。

2. 對負載內容屏蔽的消息傳輸機制。

3. 對傳輸消息有三種服務質量(QoS):

4. 數據傳輸和協議交換的小化(協議頭部只有2字節),以減少網絡流量

5. 通知機制,異常中斷時通知傳輸雙方

服務質量

接下來我們來了解一下MQTT的服務質量,為了滿足不同的場景,MQTT支持三種不同級別的服務質量(Quality of Service,QoS)為不同場景提供消息可靠性:

o 多一次,這一級別會發生消息丟失或重復,消息發布依賴于底層TCP/IP網絡。即:<=1

o 至多一次,這一級別會確保消息到達,但消息可能會重復。即:>=1

o 只有一次,確保消息只有一次到達。即:=1。在一些要求比較嚴格的計費系統中,可以使用此級別

MQTT實現原理

MQTT可以理解主要由兩端構成網絡,一端是服務器端,另一端就是客戶端。

而客戶端又分兩個角色,一個是訂閱者、另一個是發布者,服務器則是代理,流程如下:

訂閱者首先在代理那訂閱主題,發布者發布該主題內容時,訂閱者才會收到,否則不會接收任何信息。

MQTT本身的消息也分為令部分:主題(Topic)和負載(payload)。

o Topic,可以理解為消息的類型,訂閱者訂閱(Subscribe)后,就會收到該主題的消息內容(payload)

o payload,可以理解為消息的內容,是指訂閱者具體要使用的內容

MQTT代理搭建(Linux下搭建)

我們在上面了解了一下MQTT,具體的協議可以去官網//mqtt.org查看,而這些知識只是協議的介紹,下面我們來了解一下如何搭建MQTT網絡,mosquitto是MQTT的開源代理,遵循的是MQTT v3.1.1協議。下面我們搭建代理。

2 # 下載源代碼包

wget //mosquitto.org/files/source/mosquitto-1.4.12.tar.gz

 shell Code 

2 # 解壓

tar zxfv mosquitto-1.3.4.tar.gz

 shell Code 

2 # 進入目錄

cd mosquitto-1.3.4

 shell Code 

2 # 編譯

make

 shell Code 

2 # 安裝

sudo make install

遇到下屬問題的解決辦法:

 idea Code
【1】編譯找不到openssl/ssl.h

【解決方法】——安裝openssl

sudo apt-get install libssl-dev

【2】編譯過程找不到ares.h

【解決方法】——修改config.mk中的WITH_SRV:=yes,改為WITH_SRV:=no

【3】使用過程中找不到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

【4】make: g++:命令未找到

【解決方法】

安裝g++編譯器

sudo apt-get install g++

MQTT代理的搭建(windows下搭建)

Mosquitto有兩個模式,一個是win32,一個是cygwin,下面是下載地址:

mosquitto-1.0.3-install-win32.exe(743 kB) (Native build, Windows Vista and up)

mosquitto-1.0.3-install-cygwin.exe(2,026kB)(Cygwin build, Windows XP and up)

安裝win2版本

win32直接下載到本地,安裝即可。

如果缺少libeay.dll 、 pthreadVC2.dll、ssleay.dll等庫文件,需要下載到本地同級目錄再進行安裝。

安裝cygwin版本

而安裝cywin是需要下載cygwin,下面是下載地址

mosquitto-1.0.3-install-cygwin.exe

Mosquitto依賴的lib有binutils、gcc4-core、gcc4-gcc、libwrap-devel、libwrap0、make、mercurial、wget。

后安裝mosquitto-cygwin軟件,可以在任務管理器中啟動mosquitto服務。

MQTT設置用戶密碼(windows和Linux相同,這里以;Linux為例)

在 /etc/mosquitto/mosquitto.conf 文件中需配置是否允許匿名用戶、用戶存儲的用戶名密碼的文件路徑、用戶訪問主題權限的文件路徑,配置文如下:

 NormalText Code 

allow_anonymous false # 不允許匿名

password_file /etc/mosquitto/passwd # 配置用戶密碼文件

acl_file /etc/mosquitto/acl  #配置topic和用戶 (此文件是配置用戶訪問某主題,

如果不配置則使用password_file文件中的用戶密碼進行訪問)

添加用戶

 NormalText Code

#mosquitto_passwd -c /etc/mosquitto/passwd pub_client

#mosquitto_passwd /etc/mosquitto/passwd sub_client

第一個命令,參數多一個-c,是創建/etc/mosquito/passwd文件,將用戶名和密碼寫到文件中,用戶名是明文,密碼是加密過的密文。

第二個命令,是在已有的用戶上添加新的用戶。

配置好后,代理會屏蔽匿名用戶。

為用戶添加可操作主題

 NormalText Code 

user pub_client

topic write mtopic/#

user sub_client

topic read mtopic/#

在給定mosquitto.conf中給定acl文件的路徑中 打開文件,user后面添加已有用戶名,topic 后面添加 可讀或者可寫的主題,read 是可讀,write是可寫。

上一篇:MQTT開源軟件之EMQ入門篇

下一篇:基于exynos4412的外部中斷處理

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 美女高潮潮喷流白浆视频在线观看 | 国产精品亲子乱子伦xxxx裸 | 亚洲国产成人久久一区久久 | 成人无码视频在线观看网址 | 夜夜高潮夜夜爽夜夜爱爱 | 无套内谢孕妇毛片免费看看 | 久久久久亚洲AV无码A片 | 无码AV最新清无码专区吞精 | 亚洲AV国产精品无码麻豆 | 中国xxxx做受gay | 日本三级在线观看免费 | 最近免费韩国日本HD中文字幕 | 亚洲综合无码一区二区加勒此 | 日韩人妻无码精品A片免费不卡 | 无遮挡啪啪摇乳动态图GIF | 波多野结衣中文字幕一区二区三区 | 一级片免费在线播放 | 亚洲AV永久无码精品国产精 | 我和公发生了性关系视频 | 亚洲欧洲精品成人久久曰 | 国内精品免费一区二区2001 | 顶级丰满少妇自慰到喷水 | 国产亚洲综合一区二区 | 制服丝袜长腿无码专区第一页 | 少妇午夜福利一区二区 | 永久免费a片在线观看全网站 | 夜夜影院未满十八勿进 | 色多多成人福利视频 | 亚洲伊人久久综合影院 | 亚洲有无码av在线播放 | 亚洲午夜精品A片一区二区三区 | 国产日韩在线视看第一页 | 一本色综合亚洲精品 | 无收费看污网站 | av无码中文字幕无码王 | 中文无码vr最新无码av专区 | 久久无码免费的A毛片大全 国产欧美精品亚洲日本一区 | 日本亚洲色大成网站ww | 午夜视频体内射.COM.COM | 亚洲欧美日韩精品久久 | 亚洲av片不卡无码一 |