女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

    文章

    668

    瀏覽量

    23458
  • MQTT協議
    +關注

    關注

    0

    文章

    98

    瀏覽量

    5801
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

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

    MQTT測試程序上機實驗

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

    基于MQTT協議的車云通信設計

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

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

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

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

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

    低功耗4G模組Air780E快速入門:通過MQTT連接實現遠程控制

    ? 今天我們學習Air780E快速入門之通過MQTT連接實現遠程控制,伙伴們,學起來! 一、修改代碼 1.1 準備工具 Air780E開發板 Air780E開發板設計資料
    的頭像 發表于 10-11 14:01 ?1030次閱讀
    低功耗4G模組Air780E<b class='flag-5'>快速</b>入門:通過<b class='flag-5'>MQTT</b>連接實現遠程控制

    MQTT物聯網云平臺有什么功能

    隨著物聯網(IoT)技術的迅猛發展,MQTT(Message Queuing Telemetry Transport)物聯網云平臺作為一種重要的基礎設施,正在智能制造、智能家居、車聯網等多個領域發揮
    的頭像 發表于 10-09 14:15 ?598次閱讀

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

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

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

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

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

    Air780EP 是合宙的低功耗4G模組之一,支持LuatOS的腳本二次開發,即使是不太懂技術的老板,也能輕松使用 Air780EP開發產品。 本文應各位大佬邀請,詳細講解了Air780EP 的MQTT的應用教程!
    的頭像 發表于 08-08 17:13 ?2812次閱讀
    <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 ?1190次閱讀
    PLC轉<b class='flag-5'>MQTT</b>網關<b class='flag-5'>快速</b>實現PLC轉<b class='flag-5'>MQTT</b>協議

    鋇錸Modbus轉MQTT網關BL101快速對接SCADA系統

    MODBUS轉MQTT網關設備快速接入SCADA的過程涉及多個步驟,本文將對其進行一個詳細的說明。 1.MODBUS轉MQTT網關概述 鋇錸的BL101 MODBUS轉MQTT網關設備
    的頭像 發表于 07-30 15:33 ?523次閱讀
    鋇錸Modbus轉<b class='flag-5'>MQTT</b>網關BL101<b class='flag-5'>快速</b>對接SCADA系統

    基于MQTT協議云平臺的Modbus轉MQTT網關

    鋇錸Modbus轉MQTT網關BL100是一款高性能、高性價比的物聯網網關,它支持將Modbus協議(包括Modbus RTU和Modbus TCP)的數據轉換為MQTT協議的數據格式,從而實現設備
    的頭像 發表于 07-29 17:59 ?1049次閱讀
    基于<b class='flag-5'>MQTT</b>協議云平臺的Modbus轉<b class='flag-5'>MQTT</b>網關

    MQTT物聯網平臺是什么

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