衡阳派盒市场营销有限公司

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

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

3天內不再提示

基于阿里云MQTT物聯(lián)網平臺視頻監(jiān)控(上)

wang123a ? 來源:wang123a ? 作者:wang123a ? 2023-04-18 16:58 ? 次閱讀

1.項目介紹

本項目基于物聯(lián)量平臺遠程的視頻監(jiān)控項目,通過MQTT協(xié)議實現(xiàn)兩個設備間的數(shù)據上報與訂閱。通過這個項目來演示,兩個MQTT設備如何互相訂閱,進行消息流轉。在阿里云服務器上創(chuàng)建2個設備,分為為設備A和設備B;設備A負責采集本地攝像頭畫面上傳,設備B負責接收設備A上傳的數(shù)據然后解析顯示出來。在阿里云服務器上需要配置云產品流轉,讓設備A的數(shù)據上傳后自動發(fā)送給設備B。這樣就完成了視頻畫面數(shù)據的流轉。不過因為阿里云的最大數(shù)據限制,每次最大發(fā)送10240字節(jié)的數(shù)據。

1.1 硬件平臺

操作系統(tǒng):Ubuntu18.04
硬件設備:電腦自帶或USB免驅攝像頭(V4L2框架)
服務器:阿里云物聯(lián)網平臺(基于MQTT協(xié)議)
圖像渲染:GTK2.0

1.2 開發(fā)流程

設備A:獲取攝像頭的數(shù)據–>縮放成240*320–>編碼成JPEG格式—>base64-編碼–>組合成MQTT報文–>發(fā)布到服務器。
??設備B:訂閱設備A上傳的數(shù)據–>base64解碼–>解碼JPEG數(shù)據格式–>GTK圖像渲染。

2.MQTT協(xié)議介紹

MQTT(消息隊列遙測傳輸)是ISO 標準(ISO/IEC PRF 20922)下基于發(fā)布/訂閱范式的消息協(xié)議。它工作在 TCP/IP協(xié)議族上,是為硬件性能低下的遠程設備以及網絡狀況糟糕的情況下而設計的發(fā)布/訂閱型消息協(xié)議,為此,它需要一個消息中間件?。

MQTT是一個基于客戶端-服務器的消息發(fā)布/訂閱傳輸協(xié)議。由IBM在1999年發(fā)布。MQTT協(xié)議是輕量、簡單、開放和易于實現(xiàn)的,這些特點使它適用范圍非常廣泛。在很多情況下,包括受限的環(huán)境中,作為一種低開銷、低帶寬占用的即時通訊協(xié)議,使其在物聯(lián)網、小型設備、移動應用等方面有較廣泛的應用。如:機器與機器(M2M通信和物聯(lián)網(IoT)。其在通過衛(wèi)星鏈路通信傳感器、偶爾撥號的醫(yī)療設備、智能家居、及一些小型化設備中已廣泛使用。

MQTT最大優(yōu)點在于,用極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。

2.1 MQTT特點

本協(xié)議運行在 TCP/IP,或其它提供了有序、可靠、雙向連接的網絡連接上。MQTT屬于應用層協(xié)議,它有以下特點:

使用發(fā)布/訂閱消息模式,提供了一對多的消息分發(fā)和應用之間的解耦。
消息傳輸不需要知道負載內容。
提供三種等級的服務質量: .

QS0:“最多一次”,盡操作環(huán)境所能提供的最大努力分發(fā)消息。消息可能會丟失。
例如,這個等級可用于環(huán)境傳感器數(shù)據,單次的數(shù)據丟失沒關系,因為不久之后會再次發(fā)送。

QS1:“至少一次”,保證消息可以到達,但是可能會重復。

QS2:“僅一次”,保證消息只到達一次。例如,這個等級可用在一個計費系統(tǒng)中,這里如果消息重復或丟失會導致不正確的收費。很小的傳輸消耗和協(xié)議數(shù)據交換,最大限度減少網絡流量。

在MQTT連接建立時,客戶端需要通過TCP連接到MQTT服務器,并進行握手協(xié)商,包括協(xié)議版本、客戶端標識符、遺囑消息、 QoS級別等信息,以確保雙方能夠正確地交換數(shù)據。一旦握手成功,客戶端和服務器之間就建立了一個持久化的TCP連接,可以隨時進行消息傳輸。
由于TCP協(xié)議本身已經提供了一定程度的可靠性保證,因此MQTT協(xié)議只需要在TCP的基礎上實現(xiàn)發(fā)布/訂閱機制、 QoS級別控制、保留消息等特性即可,從而使得它成為一種輕量級且高效的物聯(lián)網通信協(xié)議。

2.2 MQTT協(xié)議數(shù)據量限制

MQTT協(xié)議本身沒有限制數(shù)據包的大小,但是它需要遵循底層傳輸協(xié)議(TCP/IP)的限制和約束。在實際應用中,MQTT協(xié)議能夠傳輸?shù)挠行?shù)據量是受多種因素影響的,如網絡帶寬、QoS級別、MQTT消息頭部信息等。一般來說,在默認情況下,MQTT協(xié)議對于單個消息的有效載荷有一個限制,即不超過256MB。這個限制主要由MQTT協(xié)議的消息長度字段決定,該字段的最大值是4字節(jié),因此最大能表示2^32-1個字節(jié)的消息長度,即約為4GB。然而,在實際應用中,由于網絡帶寬和設備性能等方面的限制,很難實現(xiàn)傳輸如此巨大的消息。

另外,需要注意的是,如果使用較高級別的QoS,如“至少一次”或“恰好一次”,則MQTT協(xié)議會對每條消息進行確認和重傳,這可能會導致更多的網絡流量和延遲。因此,在選擇QoS級別時,需要根據應用場景和網絡環(huán)境的實際情況進行優(yōu)化和調整,以充分利用MQTT協(xié)議的特點和優(yōu)勢。

3.阿里云物聯(lián)網平臺搭建

3.1 搭建阿里云物聯(lián)網平臺

pYYBAGQ-W_SAPjbeAAQ7eHrqr1I288.png

pYYBAGQ-XAGACeKYAAKT-nocKoc938.png

2.創(chuàng)建產品

poYBAGQ-XCeAd-4JAANg-xYWjx8853.png

3.功能定義, 添加自 定義功能, 發(fā)布上線。

pYYBAGQ-XFyAeUKgAAG_x4DzTec019.png

poYBAGQ-XHCADSmtAAK38UAfZg0160.png

4.添加設備

pYYBAGQ-XKGAMuM6AANYUJkxDfo978.png

poYBAGQ-XLSAW52QAAIMhJnF6sw454.png

3.2 設備登錄

MQTT 連接阿里云需要三個參數(shù): 客戶端 id、 用戶名、 密碼。 此信息可直接在設備中獲取。

pYYBAGQ-XOGAE3quAAM28oREewk712.png

3.3 消息訂閱與消息發(fā)布

Topic 是消息發(fā)布( Pub) 者和訂閱( Sub) 者之間的傳輸中介。 設備可通過 Topic 實現(xiàn)消息的發(fā)送和接收, 從而實現(xiàn)服務端與設備端的通信。 為方便海量設備基于 Topic 進行通信,簡化授權操作, 物聯(lián)網平臺定義了產品 Topic 類和設備 Topic。

poYBAGQ-XQuAMNyFAAP7Kf8UJHQ944.png

3.4 數(shù)據上報格式

MQTT 上報數(shù)據格式為 JSON 格式。 內容格式如下:

發(fā)布主題: "/sys/{產品 ID}/{設備名 }/thing/service/property/set"
數(shù)據內容格式: {"method":"thing.event.property.post","params":{"image":"hello,world"}}

poYBAGQ-XVSATle4AAD_Latnntw782.png

設備端訂閱消息內容:

訂閱主題: "/sys/{產品 ID}/{設備名 }/thing/event/property/post"

pYYBAGQ-XcqADEPhAAFDNckvwxs927.png



審核編輯黃宇

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

    關注

    2913

    文章

    44927

    瀏覽量

    377049
  • 服務器
    +關注

    關注

    12

    文章

    9304

    瀏覽量

    86062
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1378

    瀏覽量

    79302
  • MQTT
    +關注

    關注

    5

    文章

    653

    瀏覽量

    22693
收藏 人收藏

    評論

    相關推薦

    Tuya聯(lián)網平臺阿里版:助力客戶打造融合開放的專屬聯(lián)平臺

    在2024年9月的云棲大會上,涂鴉智能與阿里聯(lián)合發(fā)布了Tuya聯(lián)網平臺阿里
    的頭像 發(fā)表于 01-03 17:32 ?528次閱讀
    Tuya<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網</b><b class='flag-5'>平臺</b><b class='flag-5'>阿里</b><b class='flag-5'>云</b>版:助力客戶打造融合開放的專屬<b class='flag-5'>物</b>聯(lián)<b class='flag-5'>平臺</b>

    esp8266連接阿里平臺mqtt連接超時

    esp8266nodemcu在使用arduino.ide連接阿里平臺的時候,wifi配置正常但連接不mqtt,顯示報錯如下: Attem
    發(fā)表于 10-26 21:39

    MQTT調試助手中文版(聯(lián)網開發(fā)必備)

    MQTT調試助手中文版(聯(lián)網開發(fā)必備)。?支持模擬設備鏈接各種MQTT服務器、 ?阿里
    發(fā)表于 10-12 14:23 ?7次下載

    MQTT聯(lián)網平臺有什么功能

    隨著聯(lián)網(IoT)技術的迅猛發(fā)展,MQTT(Message Queuing Telemetry Transport)聯(lián)網
    的頭像 發(fā)表于 10-09 14:15 ?337次閱讀

    使用API Post測試阿里聯(lián)網平臺動態(tài)注冊

    使用API Post測試阿里聯(lián)網平臺動態(tài)注冊
    的頭像 發(fā)表于 10-05 19:08 ?386次閱讀
    使用API Post測試<b class='flag-5'>阿里</b><b class='flag-5'>云</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網</b><b class='flag-5'>平臺</b>動態(tài)注冊

    通過鋇錸PLC轉MQTT網關實現(xiàn)PLC數(shù)據上傳至阿里平臺

    鋇錸技術PLC轉MQTT網關BL102是一款專為工業(yè)自動化設計的設備,它能夠實現(xiàn)PLC數(shù)據的高效采集,并通過MQTT協(xié)議將數(shù)據傳輸至阿里平臺
    的頭像 發(fā)表于 07-31 17:20 ?559次閱讀
    通過鋇錸PLC轉<b class='flag-5'>MQTT</b>網關實現(xiàn)PLC數(shù)據上傳至<b class='flag-5'>阿里</b><b class='flag-5'>云</b><b class='flag-5'>平臺</b>

    鋇錸Modbus轉MQTT網關BL100支持一鍵對接阿里平臺

    RTU串口設備一鍵對接阿里 ,為工業(yè)自動化與遠程監(jiān)控提供了高效、可靠的解決方案! 一、BL100網關概述 BL100是鋇錸技術專門針對MQTT協(xié)議
    的頭像 發(fā)表于 07-29 17:37 ?437次閱讀
    鋇錸Modbus轉<b class='flag-5'>MQTT</b>網關BL100支持一鍵對接<b class='flag-5'>阿里</b><b class='flag-5'>云</b><b class='flag-5'>平臺</b>

    聯(lián)網平臺是什么

    、通訊傳輸、組態(tài)、監(jiān)測、視頻監(jiān)控等一體化的智慧聯(lián)網平臺
    的頭像 發(fā)表于 07-25 16:51 ?850次閱讀

    MQTT聯(lián)網平臺是什么

    。這種平臺允許設備通過MQTT協(xié)議與其他設備及云端服務進行通信,實現(xiàn)數(shù)據的上傳和下載,從而支持各種聯(lián)網應用和服務。 MQTT
    的頭像 發(fā)表于 07-18 14:22 ?697次閱讀

    MQTT聯(lián)網平臺是什么

    及可視化等功能,為連接到互聯(lián)網的物理設備提供支持和服務。 結合這兩個概念,MQTT聯(lián)網平臺
    的頭像 發(fā)表于 06-25 15:32 ?724次閱讀

    STM32、ESP8266與MQTT連接阿里聯(lián)網的串口通信異常解析

    STM32、ESP8266與MQTT協(xié)議連接阿里聯(lián)網平臺時常見的串口通信異常介紹 在構建物
    的頭像 發(fā)表于 04-19 17:19 ?1565次閱讀

    MQTT聯(lián)網平臺是什么?MQTT聯(lián)網平臺的功能

    ,易于實現(xiàn),因此廣泛應用于受限的環(huán)境,如機器與機器的通信(M2M)以及物聯(lián)網環(huán)境(IoT)。 MQTT聯(lián)網平臺通過提供一種標準化的協(xié)議和
    的頭像 發(fā)表于 04-01 10:20 ?797次閱讀

    MQTT聯(lián)網平臺實現(xiàn)設備連接與安全加密

    平臺可以實現(xiàn)快速、可靠的通信,實現(xiàn)實時監(jiān)控、數(shù)據采集和遠程控制等功能,為企業(yè)提供了全新的工作模式和優(yōu)化方案。 通博聯(lián)提供工業(yè)智能網關接入MQTT
    的頭像 發(fā)表于 03-19 10:25 ?686次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網</b><b class='flag-5'>平臺</b>實現(xiàn)設備連接與安全加密

    組態(tài)監(jiān)控聯(lián)網平臺有什么功能

    實現(xiàn)智能化管理與數(shù)字化升級。 數(shù)之能推出的組態(tài)監(jiān)控聯(lián)網平臺具備接入PLC、儀器儀表、工業(yè)機器人、數(shù)控機床等設備數(shù)據采集能力,內置豐富組態(tài)
    的頭像 發(fā)表于 03-14 15:44 ?637次閱讀
    <b class='flag-5'>云</b>組態(tài)<b class='flag-5'>監(jiān)控</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網</b><b class='flag-5'>平臺</b>有什么功能

    通過MQTT網關快速對接工業(yè)聯(lián)網平臺

    實現(xiàn)功能:實現(xiàn)PLC、儀器儀表、數(shù)控機床、工業(yè)機器人等各種設備快速接入MQTT工藝聯(lián)網平臺,手機端和電腦端可以隨時隨地查看組態(tài)工藝,遠程
    的頭像 發(fā)表于 02-29 17:15 ?799次閱讀
    通過<b class='flag-5'>MQTT</b>網關快速對接工業(yè)<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網</b><b class='flag-5'>云</b><b class='flag-5'>平臺</b>
    海南博彩业| 海王星百家乐官网的玩法技巧和规则 | 赌博药| 皇冠比分| 圣淘沙娱乐城真人赌博| 网上赌博游戏| 百家乐怎么玩| 百家乐官网休闲游戏| 百家乐官网赢家公式| 百家乐官网连赢的策略| 百家乐官网长龙太阳城| 百家乐官网赌博技巧大全| 百家乐官网系列抢庄龙| 真人百家乐官网的玩法技巧和规则 | 百家乐专打和局| 缅甸百家乐博彩真假| 百家乐代理荐| 全讯网即时线路| 顶级赌场官网| 百家乐注册| 百家乐官网注册赠金| 易胜博百家乐官网娱乐城| 上海百家乐官网的玩法技巧和规则| 神话百家乐官网的玩法技巧和规则| 公海百家乐官网的玩法技巧和规则 | 大发888促销活动| 马山县| 百家乐官网赌场技巧网| 怎么看百家乐官网的路| 网上百家乐有假的吗| 新加坡百家乐的玩法技巧和规则| 大发888注册送50| 百家乐官网攻略投注法| 尊龙百家乐官网娱乐场开户注册| 百乐坊百家乐游戏| 新乐园百家乐娱乐城| 网络娱乐| 百家乐投注窍门| 澳门顶级赌场金沙| 豪华百家乐官网人桌| 哪个百家乐网站最大|