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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

對(duì)于MQTT的介紹,官方文檔是直接進(jìn)入主題,討論其架構(gòu)模型,對(duì)于未曾接觸網(wǎng)絡(luò)技術(shù)的電子工程師來說,這第一章都已經(jīng)是略微難懂的章節(jié),更別提繼續(xù)往下看了。因此,此文是站在電子工程師的角度介紹MQTT協(xié)議,為方便理解和描述,肯定沒有計(jì)算機(jī)網(wǎng)絡(luò)方面專業(yè)術(shù)語那么準(zhǔn)確。

作為一名電子工程師,去理解網(wǎng)絡(luò)工程、軟件工程這些范疇的技術(shù),有時(shí)候時(shí)非常困難的,尤其是做硬件,很多東西感覺很抽象,又很空洞。

日常工作中,電子工程師面對(duì)更多的是UART、SPI、IIC、USB,對(duì)于觸手可及的這些外設(shè)接口協(xié)議,我們一般更多關(guān)注的是他們的信號(hào)時(shí)序、電氣特性、傳輸速率等參數(shù)。并且在開發(fā)時(shí),這些外設(shè)接口能夠看得見摸得著,知道是哪兩個(gè)或者哪幾個(gè)設(shè)備之間進(jìn)行連接。

MQTT基于TCP連接進(jìn)行的網(wǎng)絡(luò)通信。

都說“基于TCP連接”的通信,那到底啥是“TCP連接”呢?(官網(wǎng)http://www.tcpipguide.com/)這個(gè)需要了解到TCP/IP參考模型中的4層的定義:

TCP/IP參考模型圖

MQTT是在TCP連接后的基礎(chǔ)上進(jìn)行通信的,那么在此可以簡單認(rèn)為,TCP就是個(gè)“外設(shè)接口”,就像UART、SPI這樣,作為傳輸層,就負(fù)責(zé)把數(shù)據(jù)收發(fā)。

而在實(shí)際在使用過程中,MQTT數(shù)據(jù)是帶了各種“格式”的條條框框進(jìn)行封裝,這些條條框框的封裝就是在應(yīng)用層定義和實(shí)現(xiàn)的。

應(yīng)用層的協(xié)議利用TCP這種“接口”進(jìn)行收發(fā)數(shù)據(jù)時(shí),為了區(qū)別于不同應(yīng)用程序,而定義了應(yīng)用協(xié)議,類似于MQTT、HTTP、FTP等。

利用工具模擬和對(duì)比,串口連接后收發(fā)和TCP連接后收發(fā)的情況。

這里使用的是單片機(jī)開發(fā)的時(shí)候最常用到的一個(gè)串口助手SSCOM V5.10a(http://www.daxia.com/sscom/sscom5.13.1.rar),帶有TCP連接功能。首先看看電子工程師非常熟悉的串口通信界面:

串口通信時(shí)的數(shù)據(jù)交互截圖

同樣的,切換到TCP連接的方式,根據(jù)如下截圖配置TCP服務(wù)器和TCP客戶端:

TCP連接后通信時(shí)的數(shù)據(jù)交互截圖

可見TCP和串口類似,在連接后就可以對(duì)數(shù)據(jù)進(jìn)行傳輸了。并且和串口一樣,在傳輸時(shí),數(shù)據(jù)是被完全透傳出去的,而沒有被封裝成任何格式(只看TCP層),可見平時(shí)在底層開發(fā)時(shí)使用串口通信都沒有上升到應(yīng)用層協(xié)議,基本都是裸數(shù)據(jù)傳輸?shù)模词拐f有協(xié)議那基本都是私有協(xié)議,且是自定義的。

可是怎樣能夠?qū)崿F(xiàn)連接?

MQTT協(xié)議是基于TCP連接進(jìn)行通信的,TCP可謂是比嵌入式外設(shè)要復(fù)雜些,不是簡單一個(gè)硬件實(shí)現(xiàn)就可以了的。

串口連接,最少需要的3根數(shù)據(jù)線(TxD,RxD,GND),然后設(shè)置兩端設(shè)備的波特率、數(shù)據(jù)位、校驗(yàn)位、停止位,即可完成連接。

而TCP連接,需要往下的多個(gè)層協(xié)議來實(shí)現(xiàn),然后就是配置IP地址、端口。實(shí)現(xiàn)方式有很多,有線方式可以用集成了網(wǎng)卡芯片的單片機(jī)或者以太網(wǎng)轉(zhuǎn)串口、SPI模塊等,無線的方式可以用集成了wifi的單片機(jī)或者wifi轉(zhuǎn)串口、SPI模塊等。

TCP連接實(shí)現(xiàn)方式很簡單,就是芯片搭模塊,而實(shí)現(xiàn)過程卻是很復(fù)雜,對(duì)于應(yīng)用開發(fā)的電子工程師,需要做的是能夠利用低價(jià)格高效益的解決方案來實(shí)現(xiàn)MQTT協(xié)議,實(shí)現(xiàn)物聯(lián)網(wǎng)。

★★★★★推薦文章

《【嵌入式編程】平臺(tái)大小端存儲(chǔ)差異解決辦法》

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

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

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

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

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

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

★★★★★相似文章

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

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

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

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

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

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

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

★★★★★擴(kuò)展閱讀

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

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

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

歡迎關(guān)注同名微信公眾號(hào):DigCore,及時(shí)獲取最新技術(shù)博文。

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

(說明:此處的文章從微信公眾號(hào)拷貝而來,圖片或者排版上可能存在一定的瑕疵,歡迎點(diǎn)擊原文鏈接閱讀)

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

    關(guān)注

    2942

    文章

    47414

    瀏覽量

    409123
  • 電子工程
    +關(guān)注

    關(guān)注

    1

    文章

    74

    瀏覽量

    17558
  • MQTT協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    104

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何快速搭建個(gè)MQTT協(xié)議的測試環(huán)境

    大家好,我是麥?zhǔn)?,之前有小伙伴建議出期如何快速搭建個(gè)MQTT協(xié)議的測試環(huán)境,因?yàn)樽约簩懙?b class='flag-5'>mqtt測試工具總是有這樣那樣的問題。
    的頭像 發(fā)表于 12-26 09:28 ?3402次閱讀
    如何<b class='flag-5'>快速</b>搭建<b class='flag-5'>一</b>個(gè)<b class='flag-5'>MQTT</b>協(xié)議的測試環(huán)境

    MQTT啟動(dòng)太慢的原因?

    我發(fā)現(xiàn)MQTT啟動(dòng)太慢:從調(diào)用esp_mqtt_client_start()函數(shù),到返回連接成功,這個(gè)過程耗時(shí)7秒鐘左右。我讓服務(wù)器端工程師翻查下登錄日志,結(jié)果發(fā)現(xiàn)從登錄連接開始到登
    發(fā)表于 06-14 07:46

    【直播預(yù)熱】Harmony MQTT/CoAP應(yīng)用指南——火熱報(bào)名中

    軟件工程師,企業(yè)內(nèi)訓(xùn)講師。 擅長Linux系統(tǒng)、微控制器、Android系統(tǒng)、Web后端領(lǐng)域的系統(tǒng)設(shè)計(jì)和軟件開發(fā)。 課程介紹:本課程由淺入深,以HarmonyOS物聯(lián)網(wǎng)應(yīng)用開發(fā)為主線,為大家詳細(xì)講解
    發(fā)表于 12-09 17:18

    工程師眼中的“嵌入式系統(tǒng)”是什么樣的?

    工程師眼中的“嵌入式系統(tǒng)”是什么樣的?
    發(fā)表于 12-24 06:45

    OpenHarmony開發(fā)MQTT講解

    ;#125;小熊派開發(fā)MQTT客戶端代碼直循環(huán)發(fā)送主題為pubtopic的信息,信息內(nèi)容為("message number %d", count),每次信息count++;同時(shí)
    發(fā)表于 11-16 12:05

    MQTT啟動(dòng)太慢的原因?

    我發(fā)現(xiàn)MQTT啟動(dòng)太慢:從調(diào)用esp_mqtt_client_start()函數(shù),到返回連接成功,這個(gè)過程耗時(shí)7秒鐘左右。我讓服務(wù)器端工程師翻查下登錄日志,結(jié)果發(fā)現(xiàn)從登錄連接開始到登
    發(fā)表于 02-13 06:01

    如何使用Nodemcu的Mqtt開關(guān)?

    我是此類編程的初學(xué)者,也是名試圖熟悉物聯(lián)網(wǎng)系統(tǒng)的機(jī)械工程師。首先,我想為我的 nodemcu V2 編寫代碼,以在打開和關(guān)閉開關(guān)時(shí)發(fā)布 mqtt 有效載荷它連接在 GPIO 引腳 2 和地之間。我
    發(fā)表于 02-24 08:58

    MQTT啟動(dòng)太慢的原因?怎么解決?

    我發(fā)現(xiàn)MQTT啟動(dòng)太慢:從調(diào)用esp_mqtt_client_start()函數(shù),到返回連接成功,這個(gè)過程耗時(shí)7秒鐘左右。我讓服務(wù)器端工程師翻查下登錄日志,結(jié)果發(fā)現(xiàn)從登錄連接開始到登
    發(fā)表于 03-06 08:55

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

    基本介紹 在上篇文章《快速開發(fā)MQTT電子工程師眼中
    的頭像 發(fā)表于 01-10 11:15 ?5970次閱讀

    文教你快速讀懂MQTT網(wǎng)關(guān)

    MQTT種發(fā)布(publish)/訂閱(subscribe)協(xié)議,MQTT協(xié)議采用發(fā)布/訂閱模式,所有的物聯(lián)網(wǎng)終端都通過TCP連接到云端,云端通過主題的方式管理各個(gè)設(shè)備關(guān)注的通訊內(nèi)容,負(fù)責(zé)將設(shè)
    發(fā)表于 03-24 16:09 ?2105次閱讀

    個(gè)MQTT網(wǎng)關(guān)讓西門子S7-300快速接入MQTT平臺(tái)

    個(gè)MQTT網(wǎng)關(guān)讓西門子S7-300快速接入MQTT平臺(tái)
    發(fā)表于 11-10 16:47 ?1971次閱讀

    OpenHarmony開發(fā)MQTT講解

    MQTT這個(gè)名稱大家都不陌生,物聯(lián)網(wǎng)的開發(fā)必然會(huì)遇到MQTT相關(guān)知識(shí)的應(yīng)用。那么什么是MQTT?它有什么特點(diǎn)?它能解決什么問題?它是如何工作的?OpenAtom OpenHarmony
    的頭像 發(fā)表于 11-15 22:50 ?1571次閱讀

    MQTT客戶端快速入門指南 按鍵按下

    MQTT客戶端快速入門指南 按鍵按下
    發(fā)表于 07-03 18:34 ?0次下載
    <b class='flag-5'>MQTT</b>客戶端<b class='flag-5'>快速</b>入門指南 按鍵按下

    如何使用OneNET平臺(tái)的MQTT功能?

    ;設(shè)備進(jìn)行模擬實(shí)際使用情況。推薦閱讀《設(shè)備如何使用華為云接入MQTT上報(bào)數(shù)據(jù)》《MQTT設(shè)備連接與通訊+LoRaWAN網(wǎng)關(guān)產(chǎn)品快速入門教程》OneNET平臺(tái)
    的頭像 發(fā)表于 10-20 08:21 ?2164次閱讀
    如何使用OneNET平臺(tái)的<b class='flag-5'>MQTT</b>功能?

    MQTT是什么 MQTT特點(diǎn)

    MQTT 是 Message Queuing Telemetry Transport 的縮寫,是種輕量級(jí)的、基于發(fā)布/訂閱模式的物聯(lián)網(wǎng)通信協(xié)議。 它具有以下特點(diǎn): ?簡單易用:MQTT 的協(xié)議規(guī)范
    的頭像 發(fā)表于 11-09 15:20 ?3309次閱讀