国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    733

    瀏覽量

    25065
  • MQTT協議
    +關注

    關注

    0

    文章

    104

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于LuatOS的MQTT物聯網通信全解

    在構建物聯網終端設備時,通信協議的選擇直接決定系統的穩定性與擴展性。LuatOS通過內置MQTT客戶端支持,使開發者能以極少代碼實現設備上云。本文將從協議原理到代碼實現,全面解析基于LuatOS
    的頭像 發表于 01-29 19:42 ?171次閱讀
    基于LuatOS的<b class='flag-5'>MQTT</b>物聯網通信全解

    MQTT網關支持5G通信嗎

    速率,能夠滿足物聯網設備對大數據量、低延遲的需求。MQTT協議作為一種輕量級的發布/訂閱消息傳輸協議,與5G網絡結合后,可以實現更快速、更高效的數據傳輸。 低延遲通信 :5G網絡的低延遲特性使得MQTT網關能夠實時響應物聯網設備
    的頭像 發表于 12-08 11:13 ?712次閱讀

    MQTT網關對接到物聯網平臺快速開發應用

    在物聯網(IoT)數據流轉體系中,MQTT 網關與物聯網平臺的對接是打通設備端與云端的關鍵鏈路,而基于 API 數據接口的系統開發則是實現數據價值轉化的核心環節。者的協同應用,正成為構建高效、穩定
    的頭像 發表于 11-03 11:13 ?409次閱讀

    Air780EPM嵌入式開發:LuatOS下的MQTT通信實踐

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

    LuatOS嵌入式開發實戰:Air780EPM與MQTT通信

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

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

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

    MQTT_協議中文資料

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

    物聯網MQTT網關是什么

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

    【創龍TL3562-MiniEVM開發板試用體驗】--MQTT通訊

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

    GraniStudio :MQTT 協議的深度剖析

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

    MQTT介紹

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

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

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

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

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

    如何在MQTT中發布和訂閱實體

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

    MQTT物聯網平臺有哪些?有哪些功能?

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