chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

快速開發(fā)MQTT(二)初識MQTT

DigCore掘芯嵌入式 ? 2019-01-10 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基本介紹

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

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

這一過程就是應用層面的協(xié)議。

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

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

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

交互過程如下:

TCP服務器開啟,并偵聽;

MQTT.fx作為客戶端,向TCP服務器發(fā)起請求,發(fā)出的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發(fā)起連接時,TCPServer接收到的完整數(shù)據(jù)包內容

TCPServer通過發(fā)送欄,回復數(shù)據(jù)(Hex):2002 00 00

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

對以上的數(shù)據(jù)分析,我們很容易就和MQTT-3.1.1版本規(guī)范進行對應:

客戶端發(fā)的數(shù)據(jù)是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個字節(jié)(0x1A)

可變報頭:

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

0x04,協(xié)議級別;

0x02,連接標志;

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

有效載荷:

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

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

TCPServer回復的數(shù)據(jù)是20 0200 00

解析如下:

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

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

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

既然TCP連接后就已經實現(xiàn)了數(shù)據(jù)收發(fā)的功能,為什么應用層還有這么多的通信協(xié)議:HTTP、FTP、MQTT等。

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

協(xié)議框架

MQTT框架模型非常清晰看到,服務器實現(xiàn)了該協(xié)議的最主要功能,對數(shù)據(jù)和指令進行“轉發(fā)”。

★★★★★推薦文章

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

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

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

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

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

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

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

★★★★★相似文章

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

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

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

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

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

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

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

★★★★★擴展閱讀

《【硬件電路】AltiumDesigner18規(guī)則檢查含義》

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

文章首發(fā)于同名微信公眾號:DigCore

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

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

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

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

    關注

    5

    文章

    708

    瀏覽量

    24399
  • MQTT協(xié)議

    關注

    0

    文章

    103

    瀏覽量

    6282
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Air780EPM嵌入式開發(fā):LuatOS下的MQTT通信實踐

    通過LuatOS腳本在Air780EPM開發(fā)板上實現(xiàn)MQTT通信,是物聯(lián)網設備開發(fā)中高效且便捷的解決方案。 一、MQTT 協(xié)議詳解 ? 1.1 什么是
    的頭像 發(fā)表于 09-30 16:11 ?1008次閱讀
    Air780EPM嵌入式<b class='flag-5'>開發(fā)</b>:LuatOS下的<b class='flag-5'>MQTT</b>通信實踐

    LuatOS嵌入式開發(fā)實戰(zhàn):Air780EPM與MQTT通信

    ?本教程聚焦于LuatOS在Air780EPM開發(fā)板上的應用,演示如何通過腳本實現(xiàn)MQTT協(xié)議通信,助力物聯(lián)網設備快速聯(lián)網。 一、MQTT 協(xié)議詳解 ? 1.1 什么是
    的頭像 發(fā)表于 09-29 18:10 ?156次閱讀
    LuatOS嵌入式<b class='flag-5'>開發(fā)</b>實戰(zhàn):Air780EPM與<b class='flag-5'>MQTT</b>通信

    使用paho-mqtt里例程連接服務器失敗怎么解決?

    【rt-thread】【paho-mqtt】最近由于學習需要,了解了關于rt-thread軟件包paho-mqtt的使用,但是使用官方例程時,出現(xiàn)連接不上服務器的情況。具體報錯如下: msh
    發(fā)表于 09-18 06:38

    MQTT_協(xié)議中文資料

    電子發(fā)燒友網站提供《MQTT_協(xié)議中文資料.pdf》資料免費下載
    發(fā)表于 09-02 16:19 ?0次下載

    物聯(lián)網MQTT網關是什么

    物聯(lián)網MQTT網關是一種采用MQTT物聯(lián)網協(xié)議的智能設備或軟件組件,其核心功能是連接不同通信協(xié)議的物聯(lián)網設備與消息代理服務器,實現(xiàn)設備間的數(shù)據(jù)交換與集中管理,同時支持邊緣計算、安全防護和協(xié)議轉換
    的頭像 發(fā)表于 08-29 15:24 ?445次閱讀

    【創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗】--MQTT通訊

    本篇講述開發(fā)MQTT通訊。 MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協(xié)議),是一種基于發(fā)布訂閱(Publish/Subscribe)模式
    發(fā)表于 08-17 22:45

    GraniStudio :MQTT 協(xié)議的深度剖析

    在工業(yè)物聯(lián)網(IIoT)的通信協(xié)議體系中,MQTT(Message Queuing Telemetry Transport)憑借其輕量級、發(fā)布 - 訂閱模式和低帶寬占用等特性,成為連接邊緣設備與云端
    的頭像 發(fā)表于 08-04 09:48 ?646次閱讀
    GraniStudio :<b class='flag-5'>MQTT</b> 協(xié)議的深度剖析

    MQTT介紹

    一、什么是MQTT 物聯(lián)網(IoT)發(fā)展迅猛,傳感器、網關、云平臺之間如何高效通信成了核心問題。MQTT(Message Queuing Telemetry Transport)作為一種輕量級
    的頭像 發(fā)表于 07-14 09:34 ?2872次閱讀
    <b class='flag-5'>MQTT</b>介紹

    精通 MQTT:消息隊列遙測傳輸指南!

    引言MQTT(消息隊列遙測傳輸)是一種輕量級消息協(xié)議,專為低帶寬、高延遲和不可靠的網絡環(huán)境設計。它廣泛應用于物聯(lián)網(IoT)應用、消息系統(tǒng)以及實時數(shù)據(jù)通信領域。本指南深入探討了MQTT的工作原理
    的頭像 發(fā)表于 06-16 16:56 ?700次閱讀
    精通 <b class='flag-5'>MQTT</b>:消息隊列遙測傳輸指南!

    MQTT 回調處理程序中遇到了隨機 MQTT 斷開連接的問題,怎么解決?

    MCU:CYW55913。 MQTT Broker 端點:Amazon AWS 云。 保持活動超時:60 秒 ping 響應超時:5 秒 我們在 MQTT 回調處理程序中遇到了隨機 MQTT
    發(fā)表于 06-05 07:14

    如何在MQTT中發(fā)布和訂閱實體

    MQTT中發(fā)布和訂閱實體(主題)是MQTT通信的核心操作,下面將詳細介紹其原理、步驟以及示例代碼,幫助你全面理解這一過程。 一、MQTT發(fā)布與訂閱的基本概念 發(fā)布(Publish):客戶端將
    的頭像 發(fā)表于 05-20 17:21 ?722次閱讀

    MQTT物聯(lián)網平臺有哪些?有哪些功能?

    (IoT)。關于MQTT物聯(lián)網平臺及其功能,可以歸納如下: MQTT物聯(lián)網平臺 MQTT物聯(lián)網平臺通過提供一種標準化的協(xié)議和平臺,實現(xiàn)了消息的可靠傳輸、設備連接管理、數(shù)據(jù)存儲和分析等功能,方便
    的頭像 發(fā)表于 03-15 14:23 ?1088次閱讀
    <b class='flag-5'>MQTT</b>物聯(lián)網平臺有哪些?有哪些功能?

    MQTT測試程序上機實驗

    mqtt_test、paho.mqtt.c.tar.bz2放到Ubuntu上同一個目錄下。
    的頭像 發(fā)表于 02-11 13:35 ?946次閱讀
    <b class='flag-5'>MQTT</b>測試程序上機實驗

    基于MQTT協(xié)議的車云通信設計

    隨著智能汽車的發(fā)展,車云通信的功能場景及數(shù)據(jù)量也逐漸增多,具有輕量化、可靠性等特點的MQTT協(xié)議成為很多OEM車云通信協(xié)議的選擇。本文主要介紹。 什么是MQTT? MQTT(Message
    的頭像 發(fā)表于 01-08 10:24 ?1420次閱讀
    基于<b class='flag-5'>MQTT</b>協(xié)議的車云通信設計

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

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