国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 1348|回復: 0
打印 上一主題 下一主題

全志T3+Logos FPGA開發板——MQTT通信協議案例

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2024-7-22 16:33:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

遇到不少人新手小白問,能不能分享MQTT通信協議案例,做開發等等一系列的問題。
應廣大用戶朋友需求號召,今天分享基于創龍科技的TLT3F-EVM開發板,它是一款基于全志科技T3四核ARM Cortex-A7 + 紫光同創Logos PGL25G/PGL50G FPGA設計的異構多核國產工業開發板,ARM Cortex-A7處理器單元主頻高達1.2GHz。評估板由核心板和評估底板組成,核心板CPU、FPGA、ROM、RAM、電源、晶振、連接器等所有器件均采用國產工業級方案,國產化率100%。
給大家詳細講解嵌入式行業中,常使用到的MQTT通信協議案例,分別涵蓋了MQTT通信協議簡介、mqtt_client案例、mqtt_sinewave_pub案例等等。

前 言

本指導文檔適用開發環境:
Windows開發環境:Windows 7 64bit、Windows 10 64bit
虛擬機:VMware15.5.5
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)
本文主要介紹T3處理器基于MQTT通信協議開發案例,主要包括mqtt_client案例和mqtt_sinewave_pub案例,位于產品資料“4-軟件資料\Demo\mqtt-demos\”目錄下。
MQTT通信協議簡介 概述

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基于發布/訂閱(Publish/Subscribe)模式的“輕量級”通訊協議,該協議構建于TCP/IP協議上,由IBM在1999年發布。MQTT最大優點在于,可以極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。
MQTT是輕量、簡單、開放和易于實現的,同時作為一種低開銷、低帶寬占用的即時通訊協議,使其在物聯網、小型設備、移動應用等方面有較廣泛的應用。



圖 1

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

MQTT作為一種低開銷,低帶寬占用的即時通訊協議,可以極少的代碼和帶寬為聯網設備提供實時可靠的消息服務,適用于硬件資源有限的設備及帶寬有限的網絡環境。常見的應用場景如下:
  • 物聯網M2M通信,物聯網大數據采集。
  • 移動即時消息及消息推送。
  • 智能硬件、智能家居、智能電器。
  • 車聯網通信,電動車站樁采集。
  • 智慧城市、遠程醫療、遠程教育。
  • 電力能源、石油能源。
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代理服務器通信。基于MQTT通信協議,實現發布和訂閱消息功能。
程序流程圖如下圖所示。

圖 3

案例測試

本案例使用公網MQTT HiveMQ服務器與上位機Ubuntu Mosquitto工具通信。請通過網線將評估板千兆網口ETH0 RGMII和上位機連接至公網,確保可正常訪問互聯網。
下表提供了可用的在線公共MQTT服務器,可根據需要自行切換。


表 1


評估板啟動,將案例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



圖 1
關鍵代碼

創建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

更多案例測試詳情說明,歡迎關注Tronlong創龍科技獲取,也可以在評論區留言,感謝你的支持。

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲AV精品无码成人| 日本黄色一级大片| 日韩伦理片网站| 一二三四社区在线高清3| 亚洲欧美日韩中文字幕在线一区 | 五月色婷婷久久综合| 91久久综合精品国产丝袜长腿| 精品免费久久久久久影院| 午夜理论电影在线观看亚洲| 色聚网久久综合| 四虎免费在线视频| 特一级毛片| 中文字幕中韩乱码亚洲大片| 久9视频这里只有精品123| 亚洲国产精品高清在线| 一级毛片免费观看视频| 日本中文字幕视频| 舔丝袜小说| 国产av久久免费观看| 日日摸夜添夜夜夜添高潮| 日本草逼视频| 青青草视频国产| 伊人久久中文大香线蕉综合| 一卡二卡四卡视频不卡| 国产性色AV内射白浆肛交后入 | 亚洲人成激情在线播放| 国产精品JIZZ视频免费| 翁熄性放纵交换01| 色中色网址导航| 素人天堂| 亚洲成年人网址| 成人无码精品1区2区3区免费看| 欧美极限变态扩张video| 亚洲一区二区中文| 欧美一级看片免费观看视频在线| 中文国产成人精品久久一| 76人遣返航班上71人呈阳性| 久久综合丁香激情久久| 综合精品欧美日韩国产在线 | 欧美一级做性受| 色婷婷久久综合中文久久一本|