<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • 基于瑞芯微RK3562 的四核 AR M Cortex-A53 + 單核 ARM Cortex-M0——MQTT通信方案

    發布時間:2025-4-15 10:14    發布者:Tronlong--
    前  言
    本文主要介紹創龍科技TL3562-MiniEVM評估板基于MQTT通信協議的開發案例,適用開發環境如下。
    Windows開發環境:Windows 7 64bit、Windows 10 64bit
    Linux開發環境:VMware16.2.5、Ubuntu20.04.6 64bit
    U-Boot:U-Boot-2017.09
    Kernel:Linux-5.10.209
    LinuxSDK:rk3562-ubuntu20.04-sdk-[版本號](基于rk3562_linux_release_v1.2.0)
    我司提供的MQTT通信協議開發案例主要包括mqtt_client和mqtt_sinewave_pub,位于產品資料“4-軟件資料Demomqtt-demos”目錄下。

    評估板簡介
    創龍科技 TL3562-MiniEVM 是一款基于瑞芯微 RK3562J/RK3562 處理器設計的四核 AR M Cortex-A53 + 單核 ARM Cortex-M0 國產工業評估板,主頻高達 2.0GHz。評估板由核心板和評估底板組成,核心板 CPU、ROM、RAM、電源、晶振等所有元器件均采用國產工業級方案,國產化率 100%,評估底板大部分元器件亦采用國產工業級方案,國產化率約 99%(按元器件數量占比,數據僅供參考)。核心板經過專業的 PCB Layout 和高低溫測試驗證,支持選配屏蔽罩,質量穩定可靠,可滿足各種工業應用環境要求。
    評估板引出 2 路 Ethernet、2 路 USB、Micro SD、UART 等通信接口,同時引出 2 路 M IPI CSI、LVDS LCD、MIPI LCD、HDMI OUT、MIC IN、SPK OUT、HP OUT 多媒體接口,支
    持 1080P@60fps H.264 視頻編碼、4K@30fps H.265 視頻解碼。
    評估板體積小巧,尺寸為 85x130mm,可作為卡片式電腦使用,且便于產品集成,方便用戶快速進行產品方案評估與技術預研。
                   
    評估板硬件資源圖解 1         


    評估板硬件資源圖解 2


    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的API與MQTT代理服務器通信;贛QTT通信協議,實現發布和訂閱消息功能。
    程序流程圖如下圖所示。

    圖 3


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

    服務器名稱Broker地址TCP端口WebSocket
    HiveMQbroker.hivemq.com18838000
    Mosquittotest.mosquitto.org188380
    Eclipsemqtt.eclipseprojects.io188380/443
    EMQ X(國內)broker-cn.emqx.io18838083/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'
    參數解析:
    -h:MQTT服務器
    -p:MQTT服務器端口
    -M:模式,publish為發布,subscribe為訂閱
    -t:MQTT主題,可隨便命名
    -m:發布的MQTT消息

    圖 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工作目錄下,請先確保已參考《Ubuntu系統使用手冊》文檔安裝LinuxSDK,在案例src目錄執行如下命令修改Makefile文件。
    Host#vim Makefile

    圖 11

    修改內容如下:
    SDK_PATH = /home/tronlong/RK3562/Ubuntu/rk3562-ubuntu20.04-sdk-v1.0 //修改為LinuxSDK源碼路徑

    圖 12

    執行如下命令,配置交叉編譯工具鏈環境變量,進行案例編譯。編譯完成后,將在當前目錄下生成可執行文件。
    Host#source /home/tronlong/RK3562/Ubuntu/rk3562-ubuntu20.04-sdk-v1.0/environment
    Host#make

    圖 13


    關鍵代碼
    創建Mosquitto實例

    圖 14

    設置回調函數

    圖 15

    連接MQTT服務器

    圖 16

    發布消息

    圖 17

    訂閱主題

    圖 18


    mqtt_sinewave_pub案例
    案例說明
    案例功能:使用libmosquitto的API與MQTT代理服務器通信。評估板生成正弦波數據,每秒發送512個采樣點的數據至MQTT服務器;上位機通過Web頁面從MQTT服務器接收到數據后,將會繪制波形。
    程序流程圖如下圖所示。

    圖 19

    案例測試
    本案例使用公網MQTT HiveMQ服務器與上位機Ubuntu Web程序通信。請通過網線將評估板千兆網口ETH0 RGMII和上位機連接至公網,確?烧TL問互聯網。
    評估板啟動,將案例bin目錄下mqtt_sinewave_pub可執行文件拷貝至評估板文件系統的任意目錄下,執行如下命令查看程序參數說明。
    Target#./mqtt_sinewave_pub --help

    圖 20

    執行如下命令運行程序,連接MQTT服務器,并發送正弦波數據至MQTT服務器。
    Target#./mqtt_sinewave_pub -h broker.hivemq.com -p 1883

    圖 21

    評估板程序運行后,在上位機使用瀏覽器打開"toolsweb_mqtt_sub"目錄下的index.html文件。在彈出的Web頁面(如下圖),依次輸入MQTT服務器:broker.hivemq.com,端口號:8000,最后點擊連接,Web頁面將會從MQTT服務器獲取正弦波數據并進行波形繪制。
    備注:ARM端MQTT通信協議基于TCP協議,Web端MQTT通信協議基于WebSocket協議,因此使用的端口號不同。

    圖 22


    圖 22

    案例編譯
    將案例src文件夾拷貝至Ubuntu工作目錄下,請先確保已參考《Ubuntu系統使用手冊》文檔安裝LinuxSDK,進入案例src目錄執行如下命令修改Makefile文件。
    Host#vim Makefile

    圖 24

    修改內容如下:
    SDK_PATH = /home/tronlong/RK3562/Ubuntu/rk3562-ubuntu20.04-sdk-v1.0 //修改為LinuxSDK源碼路徑

    圖 25

    執行如下命令配置交叉編譯工具鏈環境變量。編譯完成后,將在當前目錄下生成可執行文件。
    Host#source /home/tronlong/RK3562/Ubuntu/rk3562-ubuntu20.04-sdk-v1.0/environment
    Host#make

    圖 26

    關鍵代碼

    創建Mosquitto實例

    圖 27

    設置回調函數

    圖 28

    連接MQTT服務器

    圖 29

    發送數據

    圖 30

    想了解更多資料,可前往創龍科技官網或微信公眾號。

    本文地址:http://www.portaltwn.com/thread-885710-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
    • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
    • Dev Tool Bits——使用DVRT協議查看項目中的數據
    • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
    • 貿澤電子(Mouser)專區
    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷