色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

快速開發MQTT(二)初識MQTT

DigCore掘芯嵌入式 ? 2019-01-10 11:15 ? 次閱讀

基本介紹

在上篇文章《快速開發MQTT(一)電子工程師眼中的MQTT》中,對比了串口連接和TCP連接,我們知道實現了連接和數據收發之后,接下來就是要考慮數據的封裝、組包的事了。

比如UART傳輸過程中,數據被從A設備發送到B設備時,一般的都做這樣的協議簡單封裝數據:“包頭0xAA+兩字節包長度LEN+1字節的LRC+數據內容”,此時B設備收到數據包就進行解析。

這一過程就是應用層面的協議。

類似的,MQTT也有報文格式,應用程序將數據填入報文包中,后通過TCP進行發送。

為了查看其報文格式,可以利用MQTT客戶端工具MQTT.fx,嘗試向TCP服務器發起一個連接請求。

TCP服務器繼續使用上篇文章《快速開發MQTT(一)電子工程師眼中的MQTT》中提到的SSCOM工具進行模擬

交互過程如下:

TCP服務器開啟,并偵聽;

MQTT.fx作為客戶端,向TCP服務器發起請求,發出的CONNECT報文(Hex):10 1A 00 044D 51 54 54 04 02 00 3C 00 0E 77 77 77 2E 64 69 67 63 6F 72 65 2E 63 6E;

TCP服務器接收到該請求,TCP服務器此刻該回復(Hex):20 02 00 00;

完成連接請求。

以下為交互過程截圖:

配置TCPServer和MQTT.fx客戶端,需要填寫一致的IP地址和端口

MQTT.fx發起連接時,TCPServer接收到的完整數據包內容

TCPServer通過發送欄,回復數據(Hex):2002 00 00

至此,MQTT的連接流程完成,并且MQTT.fx客戶端顯示已連接的狀態。通過這一模擬的過程,我們能夠清晰認識到MQTT文檔中的報文格式定義已經協議規范的定義。

對以上的數據分析,我們很容易就和MQTT-3.1.1版本規范進行對應:

客戶端發的數據是10 1A 00 04 4D 51 54 54 04 02 00 3C 00 0E 77 77 77 2E 64 69 67 63 6F 72 65 2E 63 6E

解析如下:

固定報頭:0x10 1A,即報文類型是1,長度是26個字節(0x1A)

可變報頭:

0x00 04 4D 51 54 54,此處定義了協議名,長度是4,協議名是”MQTT”;

0x04,協議級別;

0x02,連接標志;

0x00 3C,保持連接,以秒為單位的時間間隔;

有效載荷:

0x00 0E,有效載荷內容的長度

0x77 77 77 2E 64 69 67 63 6F 72 65 2E 63 6E,客戶端標識符www.digcore.cn

TCPServer回復的數據是20 0200 00

解析如下:

固定報頭:0x20 02,即報文類型是2,長度是2個字節(0x02)

可變報頭:0x00 00,即連接確認標志和連接返回碼

在實際開發過程中,可以利用SSCOM工具作為服務器式驗證自己編寫的MQTT客戶端程序是否正確發出數據,另外也可以作為客戶端驗證與MQTT服務器的正確交互。

既然TCP連接后就已經實現了數據收發的功能,為什么應用層還有這么多的通信協議:HTTP、FTP、MQTT等。

這就有區別于串口,畢竟串口在通信時是有著導線直接相連,而基于TCP連接的通信,在復雜的計算機網絡中,準確找對一個終端并與之交互數據,這中間需要做的是靠應用層的協議進行握手、確認等交互,有著“一回生二回熟三回四回熱炕頭”這么一個啰嗦的過程。

協議框架

MQTT框架模型非常清晰看到,服務器實現了該協議的最主要功能,對數據和指令進行“轉發”。

★★★★★推薦文章

《【嵌入式編程】平臺大小端存儲差異解決辦法》

《嵌入式硬件通信接口-使用RingBuffer處理數據(二)詳細設計過程》

《嵌入式硬件通信接口-使用RingBuffer處理數據(一)》

《快速開發MQTT(一)電子工程師眼中的MQTT》

《快速開發MQTT(二)初識MQTT》

《MQTT客戶端搭建-最清晰的MQTT協議架構》

《MQTT服務端搭建-最快方式驗證自己開發的客戶端》

★★★★★相似文章

《嵌入式硬件通信接口協議-UART(五)數據包設計與解析》

《嵌入式硬件通信接口協議-UART(四)設計起止式的應用層協議》

《嵌入式硬件通信接口協議-UART(三)快速使用串口及應用》

《嵌入式硬件通信接口協議-UART(二)不同電氣規范下的標準》

《嵌入式硬件通信接口協議-UART(一)協議基礎》

《嵌入式硬件通信接口協議-SPI(二)分層架構設計模擬接口》

《嵌入式硬件通信接口協議-SPI(一)協議基礎》

★★★★★擴展閱讀

《【硬件電路】AltiumDesigner18規則檢查含義》

《【硬件電路】N溝道、P溝道MOS管基本原理與應用案例》

文章首發于同名微信公眾號:DigCore

歡迎關注同名微信公眾號:DigCore,及時獲取最新技術博文。

原文鏈接:https://mp.weixin.qq.com/s/hY3y0EpWLeya3YkWwvU1lQ

(說明:此處的文章從微信公眾號拷貝而來,排版事宜由電子說工作人員編輯,可能存在一定的瑕疵,歡迎點擊原文鏈接閱讀)

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MQTT
    +關注

    關注

    5

    文章

    651

    瀏覽量

    22541
  • MQTT協議
    +關注

    關注

    0

    文章

    97

    瀏覽量

    5428
收藏 人收藏

    評論

    相關推薦

    低功耗4G模組:MQTT通信功能

    ?今天我們來學習使用合宙Air708E開發板的MQTT通信基本功能。 一、MQTT介紹 MQTT是一種低開銷、低帶寬占用的即時通訊協議,可以用極少的代碼和帶寬為遠程設備提供實時可靠的消
    的頭像 發表于 11-01 07:26 ?247次閱讀

    MQTT調試助手中文版(物聯網開發必備)

    MQTT調試助手中文版(物聯網開發必備)。?支持模擬設備鏈接各種MQTT云服務器、 ?阿里云、騰訊云、華為云、原子云、onenet等等。
    發表于 10-12 14:23 ?6次下載

    MQTT協議網關的工作原理及功能特性

    在物聯網的快速發展中,MQTT協議網關作為連接物聯網設備與消息代理服務器的重要橋梁,扮演著不可或缺的角色。MQTT是一種基于發布/訂閱模式的輕量級通信協議,特別適用于低帶寬、不穩定網絡環境下
    的頭像 發表于 09-18 17:00 ?525次閱讀
    <b class='flag-5'>MQTT</b>協議網關的工作原理及功能特性

    MQTT網關:物聯網中的關鍵橋梁

    MQTT網關:物聯網中的關鍵橋梁 在物聯網(IoT)的廣闊世界中,MQTT網關扮演著至關重要的角色。MQTT,全稱為Message Queuing Telemetry Transport,是一種
    的頭像 發表于 08-22 14:15 ?420次閱讀
    <b class='flag-5'>MQTT</b>網關:物聯網中的關鍵橋梁

    MQTT應用看這篇!合宙Air780EP_LuatOS_MQTT應用指南

    Air780EP 是合宙的低功耗4G模組之一,支持LuatOS的腳本二次開發,即使是不太懂技術的老板,也能輕松使用 Air780EP開發產品。 本文應各位大佬邀請,詳細講解了Air780EP 的MQTT的應用教程!
    的頭像 發表于 08-08 17:13 ?1963次閱讀
    <b class='flag-5'>MQTT</b>應用看這篇!合宙Air780EP_LuatOS_<b class='flag-5'>MQTT</b>應用指南

    PLC轉MQTT網關快速實現PLC轉MQTT協議

    PLC(可編程邏輯控制器)轉MQTT網關BL10是連接工業自動化系統與物聯網平臺的重要設備,那它都有哪些功能特點以及它的應用場景有哪些呢?我們一起來看看。
    的頭像 發表于 07-31 13:36 ?810次閱讀
    PLC轉<b class='flag-5'>MQTT</b>網關<b class='flag-5'>快速</b>實現PLC轉<b class='flag-5'>MQTT</b>協議

    MQTT物聯網平臺是什么

    MQTT物聯網平臺是一種軟件平臺,它基于MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)協議,為物聯網(IoT)設備提供連接、管理和數據處理的服務
    的頭像 發表于 07-18 14:22 ?620次閱讀

    通過MQTT網關快速對接工業物聯網云平臺

    通過MQTT網關快速對接工業物聯網云平臺 一、MQTT協議的優勢 MQTT協議設計之初便充分考慮了資源受限環境下的高效通信需求,其發布/訂閱模式能夠有效減少網絡帶寬消耗與設備資源占用。
    的頭像 發表于 05-20 15:40 ?487次閱讀
    通過<b class='flag-5'>MQTT</b>網關<b class='flag-5'>快速</b>對接工業物聯網云平臺

    為什么使用MQTT而不是HTTP?

    MQTT協議通過TCP/IP運行,基于無損通信的雙向發布-訂閱模型,確保MQTT消息高效無損地傳遞。
    發表于 04-28 11:07 ?943次閱讀
    為什么使用<b class='flag-5'>MQTT</b>而不是HTTP?

    MQTT物聯網平臺是什么?MQTT物聯網平臺的功能

    ,易于實現,因此廣泛應用于受限的環境,如機器與機器的通信(M2M)以及物聯網環境(IoT)。 MQTT物聯網平臺通過提供一種標準化的協議和平臺,實現了消息的可靠傳輸、設備連接管理、數據存儲和分析等功能,方便開發人員構建、連接和管理物聯網設備。
    的頭像 發表于 04-01 10:20 ?747次閱讀

    MQTT網關是什么?MQTT網關的功能

    MQTT網關是支持MQTT協議的物聯網網關,是一種用于連接不同設備和云端平臺之間的中間件。它充當了設備和云端服務之間的數據傳輸橋梁。MQTT網關能夠接收來自各種設備的數據,并將其發送到云端平臺,同時
    的頭像 發表于 03-18 17:10 ?831次閱讀

    MQTT協議網關解決方案設計與實施

    的主要功能包括協議轉換、消息過濾、安全認證、負載均衡等,以確保消息的可靠傳輸和系統的穩定運行。隨著物聯網技術的快速發展,MQTT協議作為一種輕量級的發布/訂閱消息傳輸協議,在物聯網應用中得到了廣泛的應用。MQTT協議具有低開銷、
    的頭像 發表于 03-11 14:07 ?510次閱讀

    通過MQTT網關快速對接工業物聯網云平臺

    實現功能:實現PLC、儀器儀表、數控機床、工業機器人等各種設備快速接入MQTT工藝物聯網云平臺,手機端和電腦端可以隨時隨地查看組態工藝,遠程監控設備運行狀態和工藝參數,有異常馬上推送報警信息
    的頭像 發表于 02-29 17:15 ?762次閱讀
    通過<b class='flag-5'>MQTT</b>網關<b class='flag-5'>快速</b>對接工業物聯網云平臺

    什么是MQTTMQTT協議中的方法

    MQTT是一種輕量級消息傳遞協議,由IBM開發,于1999年首次發布。它使用發布/訂閱模式并在設備、服務器和應用程序之間轉換消息。
    的頭像 發表于 02-25 17:04 ?1366次閱讀
    什么是<b class='flag-5'>MQTT</b>?<b class='flag-5'>MQTT</b>協議中的方法

    MQTT物聯網平臺是什么?MQTT物聯網平臺的功能有哪些

    ,易于實現,因此廣泛應用于受限的環境,如機器與機器的通信(M2M)以及物聯網環境(IoT)。 MQTT物聯網平臺通過提供一種標準化的協議和平臺,實現了消息的可靠傳輸、設備連接管理、數據存儲和分析等功能,方便開發人員構建、連接和管理物聯網設備。
    的頭像 發表于 01-24 09:23 ?1173次閱讀
    主站蜘蛛池模板: 少女10声大哥喊退色狼| 日本在线免费| 漂亮妈妈中文字幕版| 张开腿我尝尝你的草莓| 好男人WWW免费高清视频在线| 日韩少妇爆乳无码专区| FREE17一18外女破| 欧美高清另类video| 99精品小视频| 欧美69xxx| yin荡体育课羞耻play双性| 欧美午夜精品久久久久久浪潮| 91精品国产色综合久久不| 快穿之H啪肉| 99久久精品免费看国产一区二区三区| 久久在精品线影院| 99国产精品免费视频| 欧美一区二区在线观看| 成人永久免费视频| 忘忧草研究所 麻豆| 国产亚洲精品成人a在线| 亚洲欧美综合中文| 久久久久综合一本久道| 最近中文字幕完整版高清 | 中文字幕 人妻熟女| 么公一夜要了我一八次视频HD| 91系列在线观看免费| 欧美乱码伦视频免费66网| 高h 纯肉文| 亚洲色图另类小说| 免费观看高清黄页网址大全| seba51久久精品| 视频三区 国产盗摄| 黑色丝袜美腿美女被躁翻了| 在线黑人抽搐潮喷| 欧美肥婆性生活| 国产免费看片| 91精品国产91热久久p| 深夜草逼逼| 久久精品视在线观看2| chinese国语露脸videos|