那曲檬骨新材料有限公司

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>全志T3開發板 ARM CortexA7——MQTT通信協議

全志T3開發板 ARM CortexA7——MQTT通信協議

2022-06-09 | rar | 1.01 MB | 次下載 | 免費

資料介紹

本文主要介紹基于T3處理器的MQTT通信協議開發案例,講解內容主要包括了MQTT通信協議簡介、概述、應用場景以及Mosquitto工具安裝、mqtt_client案例和mqtt_sinewave_pub案例等。

 

本指導文檔適用開發環境:

Windows開發環境:Windows 7 64bit、Windows 10 64bit

虛擬機:VMware15.1.0

Linux開發環境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2014.07

Kernel:Linux-3.10.65

LinuxSDK:LinuxSDK_AA_BB_CC_DD(基于T3_LinuxSDK_V1.3_20190122)

 

本次測試板卡為基于創龍科技TLT3-EVM是一款基于全志科技T3處理器設計的4核ARM Cortex-A7高性能低功耗國產評估板,每核主頻高達1.2GHz。

評估板接口資源豐富,引出雙路網口、雙路CAN、雙路USB、雙路RS485通信接口,板載Bluetooth、WIFI、4G(選配)模塊,同時引出MIPI LCD、LVDS LCD、TFT LCD、CVBS OUT、CAMERA、LINE IN、H/P OUT等音視頻多媒體接口,支持雙屏異顯、1080P@45fps H.264視頻硬件編解碼,并支持SATA大容量存儲接口。

MQTT通信協議簡介

概述

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基于發布/訂閱(Publish/Subscribe)模式的“輕量級”通訊協議,該協議構建于TCP/IP協議上,由IBM在1999年發布。MQTT最大優點在于,可以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。

MQTT是輕量、簡單、開放和易于實現的,同時作為一種低開銷、低帶寬占用的即時通訊協議,使其在物聯網、小型設備、移動應用等方面有較廣泛的應用。

圖 1

MQTT具有如下特點:

  1. 輕量可靠:MQTT的報文格式精簡、緊湊,可在嚴重受限的硬件設備和低帶寬、高延遲的網絡上實現穩定傳輸。
  2. 發布/訂閱模式(Publish/Subscribe):發布/訂閱模式的優點在于發布者與訂閱者的解耦,實現異步協議。即訂閱者與發布者無需建立直接連接,亦無需同時在線。
  3. 為物聯網而生:提供心跳機制、遺囑消息、QoS質量等級 + 離線消息、主題和安全管理等全面的物聯網應用特性。
  4. 生態更完善:覆蓋范圍廣,已成為眾多云廠商物聯網平臺的標準通信協議。

應用場景

MQTT作為一種低開銷,低帶寬占用的即時通訊協議,可以極少的代碼和帶寬為聯網設備提供實時可靠的消息服務,適用于硬件資源有限的設備及帶寬有限的網絡環境。常見的應用場景如下:

  1. 物聯網M2M通信,物聯網大數據采集。
  2. 移動即時消息及消息推送。
  3. 智能硬件、智能家居智能電器。
  4. 車聯網通信,電動車站樁采集。
  5. 智慧城市、遠程醫療、遠程教育。
  6. 電力能源、石油能源。

Mosquitto工具安裝

Mosquitto是一款開源的MQTT消息代理(服務器)軟件,提供輕量級的、支持可發布/可訂閱的的消息推送模式。我司提供的評估板文件系統已支持Mosquitto工具,本文mqtt_client案例采用Mosquitto工具演示MQTT通信協議的通信功能。由于上位機Ubuntu系統作為通信對象,因此需在Ubuntu終端執行如下命令安裝Mosquitto工具。

Host# sudo apt-get install mosquitto-clients

圖 2

mqtt_client案例

案例說明

案例功能:使用libmosquitto(MQTT version 3.1.1 client library)的API與MQTT代理服務器通信?;贛QTT通信協議,實現發布和訂閱消息功能。

程序流程圖如下圖所示。

圖 3

案例測試

本案例使用公網MQTT HiveMQ服務器與上位機Ubuntu Mosquitto工具通信。請通過網線將評估板千兆網口RGMII ETH和上位機連接至公網,確??烧TL問互聯網。

下表提供了可用的在線公共MQTT服務器,可根據需要自行切換。

表 1

服務器名稱

Broker地址

TCP端口

WebSocket

HiveMQ

broker.hivemq.com

1883

8000

Mosquitto

test.mosquitto.org

1883

80

Eclipse

mqtt.eclipseprojects.io

1883

80/443

EMQ X(國內)

broker-cn.emqx.io

1883

8083/8084

評估板啟動,將案例bin目錄下mqtt_client可執行文件拷貝至評估板文件系統的任意目錄下,執行如下命令查看程序參數說明。

Target# ./mqtt_client --help

圖 4

評估板發布/上位機訂閱

在上位機執行如下命令,使用mosquitto_sub工具訂閱MQTT主題。

Host# mosquitto_sub -h broker.hivemq.com -p 1883 -t test/data

參數解析:

-h:指定MQTT服務器;

-p:指定MQTT服務器TCP端口;

-t:定義MQTT主題,可自定義命名。

圖 5

在評估板文件系統執行如下命令發布消息至MQTT服務器。

Target# ./mqtt_client -h broker.hivemq.com -p 1883 -M publish -t test/data -m 'www.tronlong.com'

圖 6 評估板發布

消息發布成功后,上位機將從MQTT服務器接收到對應的消息。

圖 7 上位機訂閱

評估板訂閱/上位機發布

在評估板文件系統執行如下命令訂閱MQTT主題。

Target# ./mqtt_client -h broker.hivemq.com -p 1883 -M subscribe -t test/data

圖 8

在上位機執行如下命令發布消息至MQTT服務器。

Host# mosquitto_pub -h broker.hivemq.com -p 1883 -t test/data -m www.tronlong.com

圖 9 上位機發布

消息發布成功后,評估板將從MQTT服務器接收到對應消息。

圖 10 評估板訂閱

案例編譯

將案例src文件夾拷貝至Ubuntu工作目錄下,請先確保已參考Linux系統使用手冊編譯過LinuxSDK,構建T3處理器對應的GCC編譯器。進入src目錄執行如下命令,使用LinuxSDK開發包目錄下的GCC編譯器進行案例編譯。編譯完成后,將在當前目錄下生成可執行文件。

Host# CC=/home/tronlong/T3/lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-gcc make

圖 11

 

關鍵代碼

創建Mosquitto實例。

圖 12

設置回調函數。

圖 13

連接MQTT服務器。

圖 14

發布消息。

圖 15

訂閱主題。

圖 16

mqtt_sinewave_pub案例

案例說明

案例功能:使用libmosquitto(MQTT version 3.1.1 client library)的API與MQTT代理服務器通信。評估板生成正弦波數據,每秒發送512個采樣點的數據至MQTT服務器;上位機通過Web頁面從MQTT服務器接收到數據后,將會繪制波形。

程序流程圖如下圖所示。

圖 17

案例測試

本案例使用公網MQTT HiveMQ服務器與上位機Ubuntu Web程序通信。請通過網線將評估板千兆網口RGMII ETH和上位機連接至公網,確??烧TL問互聯網。

評估板啟動,將案例bin目錄下mqtt_sinewave_pub可執行文件拷貝至評估板文件系統的任意目錄下,執行如下命令查看程序參數說明。

Target# ./mqtt_sinewave_pub --help

圖 18

執行如下命令運行程序,連接MQTT服務器,并發送正弦波數據至MQTT服務器。

Target# ./mqtt_sinewave_pub -h broker.hivemq.com -p 1883

圖 19

評估板程序運行后,將案例"tools\web_mqtt_sub"目錄下index.html文件,使用上位機瀏覽器打開。在彈出的Web頁面(如下圖),依次輸入MQTT服務器:broker.hivemq.com,端口號:8000,最后點擊連接,Web頁面將會從MQTT服務器獲取正弦波數據并進行波形繪制。

備注:ARM端MQTT通信協議基于TCP協議,Web端MQTT通信協議基于WebSocket協議,因此使用的端口號不同。

圖 20

 

圖 21

案例編譯

將案例src文件夾拷貝至Ubuntu工作目錄下,請先確保已參考Linux系統使用手冊編譯過LinuxSDK,構建T3處理器對應的GCC編譯器。進入src目錄執行如下命令,使用LinuxSDK開發包目錄下的GCC編譯器進行案例編譯。編譯完成后,將在當前目錄下生成可執行文件。

Host# CC=/home/tronlong/T3/lichee/out/sun8iw11p1/linux/common/buildroot/host/usr/bin/arm-linux-gnueabihf-gcc make

圖 22

想要獲取mqtt_sinewave_pub案例的關鍵代碼以及更多測試案例詳細說明,歡迎評論區留言~

 

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

  • --
    文章
  • --
    閱讀
  • --
    粉絲

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐专用台布| 太湖县| 缅甸百家乐赌场娱乐网规则| 风水24山里的四维八干| 百利宫百家乐官网现金网| 678百家乐博彩娱乐场开户注册 | 百家乐官网无敌直缆| 鸿博娱乐| 威尼斯人娱乐城惊喜| 澳门百家乐赌场娱乐网规则| 龍城百家乐的玩法技巧和规则| 玩百家乐如何硬| 百家乐游戏全讯网2| 百家乐官网规则以及玩法| 百家乐官网软件代理| 赌博百家乐官网下载| 百家乐官网投注办法| 百家乐官网光纤洗牌机如何做弊| 上思县| 百家乐官网规则技法| 澳门百家乐官网死局| 百家乐官网庄闲和各| 百家乐官网作弊知识| 高档百家乐官网桌子| 百家乐官网庄闲赢负表| 百家乐官网真人现场| 百家乐五湖四海娱乐平台| 电脑赌百家乐可靠吗| 百家乐强对弱的对打法| 百家乐网站赌钱吗| 大发888游戏代充值100| 大发888大奖| 宝胜娱乐城| 海城市| 百家乐官网三珠连跳打法| 百家乐官网龙虎| 综合百家乐官网博彩论坛| 国际百家乐规则| 网上百家乐大转轮| 凯旋门娱乐城开户| 百家乐官网高手和勒威|