一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

MQTT測試程序上機實驗

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2025-02-11 13:35 ? 次閱讀

13.6.5 MQTT測試程序上機實驗

把mqtt_test、paho.mqtt.c.tar.bz2放到Ubuntu上同一個目錄下。

1.編譯paho庫

在Ubuntu下執(zhí)行如下命令:

左右滑動查看完整內(nèi)容

$ tar xjf paho.mqtt.c.tar.bz2
$ cd paho.mqtt.c

修改CMakeLists.txt,在最前面增加如下內(nèi)容:

左右滑動查看完整內(nèi)容

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
SET(CMAKE_C_COMPILER aarch64-poky-linux-gcc)
SET(CMAKE_CXX_COMPILER aarch64-poky-linux-g++)
set(CMAKE_SYSROOT /opt/remi-sdk/sysroots/aarch64-poky-linux)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

然后執(zhí)行如下命令編譯:

左右滑動查看完整內(nèi)容

$ source /opt/remi-sdk/environment-setup-aarch64-poky-linux 
$ mkdir build
$ cd build
$ cmake ../ -DCMAKE_INSTALL_PREFIX=output
$ make
$ make install

如果一切順利,會在build目錄下生成一個output目錄(有些錯誤信息提示權(quán)限問題,無關(guān)緊要),里面有很多庫文件。內(nèi)容如下:

$ ls output/
bin include lib share

把頭文件、庫文件復(fù)制到工具鏈里:

左右滑動查看完整內(nèi)容

$ sudo cp -rf output/include/* /opt/remi-sdk/sysroots/aarch64-poky-linux/usr/include/
$ sudo cp -rfd output/lib/* /opt/remi-sdk/sysroots/aarch64-poky-linux/usr/lib64/

把output目錄壓縮,上傳到開發(fā)板:

左右滑動查看完整內(nèi)容

$ tar cjf output.tar.bz2 output/
$ scp output.tar.bz2 root@192.168.5.9:/mnt

在開發(fā)板里解壓output.tar.bz2文件,復(fù)制庫文件到“/usr/lib64”,命令如下:

左右滑動查看完整內(nèi)容

# cd /mnt
# tar xjf output.tar.bz2
# cd output/lib
# cp -d libpaho* /usr/lib64/

2.編譯測試程序

在Ubuntu上執(zhí)行如下命令:

左右滑動查看完整內(nèi)容

$ source /opt/remi-sdk/environment-setup-aarch64-poky-linux
$ cd mqtt_test
$ make
$ scp mqtt_test root@192.168.5.9:/mnt

3.測試

按照《13.6.3 PC MQTT工具使用》,先啟動MQTT服務(wù)軟件,然后再啟動MQTTX,如下配置、連接:

e1d4655a-e82d-11ef-9310-92fbcf53809c.png

在MQTTX里訂閱主題為“/iot/up”的消息,發(fā)送主題為“/iot/down”的消息,如下圖所示:

e1e53c86-e82d-11ef-9310-92fbcf53809c.png

最后,在開發(fā)板上執(zhí)行mqtt_test程序,如下:

e1f8bbe4-e82d-11ef-9310-92fbcf53809c.png

13.7 MQTT程序開發(fā)

源碼為:

e20e0fa8-e82d-11ef-9310-92fbcf53809c.png

13.7.1 程序流程

程序主要有2大功能:

①根據(jù)配置文件,周期性地讀“點”、發(fā)布消息

②訂閱消息,根據(jù)消息寫“點”

這些功能可以細分如下:

①通過RPC獲得MQTT信息

②通過RPC獲得“點”的信息

③連接MQTT Broker

④訂閱消息

⑤周期性地讀“點”,發(fā)布消息

在程序運行過程中,用戶可能使用前臺程序修改了配置,比如修改了MQTT Broker的信息、增加、刪除的點,并且程序運行過程中可能發(fā)生錯誤。這就需要重新運行程序:重新運行上述5個細分步驟。

本程序使用狀態(tài)機來實現(xiàn),有如下狀態(tài):

e230f90a-e82d-11ef-9310-92fbcf53809c.png

在main函數(shù)中,根據(jù)當(dāng)前狀態(tài)進行對應(yīng)處理。

e246fd40-e82d-11ef-9310-92fbcf53809c.png

13.7.2 監(jiān)測配置文件

前臺程序會導(dǎo)致配置文件被修改,需要監(jiān)測配置文件是否發(fā)生了變化。使用的函數(shù)在cfg.c里,它們的代碼在《13.4.2 配置文件的操作》講解過。

main.c的main函數(shù)里,調(diào)用的代碼如下:

e2777812-e82d-11ef-9310-92fbcf53809c.png

13.7.3 初始化RPC連接

需要使用RPC調(diào)用得到MQTT信息、得到點的信息。所以第1個狀態(tài)代碼如下:

e2ba4c28-e82d-11ef-9310-92fbcf53809c.png

13.7.4 獲取MQTT信息

要進行MQTT連接,需要獲得MQTT信息,代碼如下:

e2da26e2-e82d-11ef-9310-92fbcf53809c.png

13.7.5 獲取點的信息

后續(xù)要讀點、上報點的信息,所以需要使用RPC調(diào)用獲得、記錄所有點的信息,代碼如下:

e305dd46-e82d-11ef-9310-92fbcf53809c.png

13.7.6 連接MQTT

代碼如下:

e32d4b10-e82d-11ef-9310-92fbcf53809c.png

13.7.7 訂閱消息

代碼如下:

e3525964-e82d-11ef-9310-92fbcf53809c.png

13.7.8 發(fā)布消息

發(fā)布消息時,如果沒有錯誤,則已知保存在本狀態(tài):循環(huán)發(fā)布消息。代碼如下:

e373673a-e82d-11ef-9310-92fbcf53809c.png

13.7.9 訂閱消息的處理

在前面設(shè)置了MQTT回調(diào)函數(shù),當(dāng)接收到訂閱的消息時,使用如下函數(shù)處理:

①解析接收到的信息,根據(jù)它找到“點”

②寫點

e3a3247a-e82d-11ef-9310-92fbcf53809c.png

13.7.10 錯誤處理

如果發(fā)生的錯誤累計達到10次,或則配置文件發(fā)生了變化,則重新處理:

e3d06b4c-e82d-11ef-9310-92fbcf53809c.png

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

    關(guān)注

    5

    文章

    722

    瀏覽量

    22631
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    580

    瀏覽量

    30656
  • 測試程序
    +關(guān)注

    關(guān)注

    1

    文章

    71

    瀏覽量

    23097
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    662

    瀏覽量

    23358

原文標(biāo)題:MQTT測試程序上機實驗及程序開發(fā)——RZ MPU工業(yè)控制教程連載(55)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    匯編語言上機實驗指導(dǎo)書

    匯編語言上機實驗指導(dǎo)書一、概述上機實驗總學(xué)時為18學(xué)時,其中綜合性和設(shè)計性實驗至少為8學(xué)時。實驗
    發(fā)表于 03-23 16:06 ?21次下載

    DSP的實驗測試程序(匯編)

    DSP的實驗測試程序(匯編)
    發(fā)表于 02-11 10:46 ?64次下載
    DSP的<b class='flag-5'>實驗</b><b class='flag-5'>測試</b><b class='flag-5'>程序</b>(匯編)

    匯編語言程序結(jié)構(gòu)

    實 驗   匯編語言程序結(jié)構(gòu) 一、實驗目的 1.掌握匯編語言程序上機過程。    2.掌握匯編語言結(jié)構(gòu)。
    發(fā)表于 09-28 23:11 ?2964次閱讀

    Labview之上機實驗

    Labview之上機實驗二,很好的Labview資料,快來下載學(xué)習(xí)吧。
    發(fā)表于 04-19 09:54 ?0次下載

    Labview之上機實驗之三

    Labview之上機實驗之三,很好的Labview資料,快來下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:23 ?0次下載

    微信小程序上線三天 看網(wǎng)友們現(xiàn)在怎么樣了

    程序上線的第一天朋友圈炸了; 小程序上線的第二天無人問津了; 小程序上線的第三天網(wǎng)友們到處詢問如何刪除小程序。..。
    發(fā)表于 01-11 14:13 ?2225次閱讀
    微信小<b class='flag-5'>程序上</b>線三天 看網(wǎng)友們現(xiàn)在怎么樣了

    哈工大四系FPGA上機實驗編程部分

    哈工大四系FPGA上機實驗編程部分
    發(fā)表于 10-20 15:52 ?16次下載

    C++程序設(shè)計上機指導(dǎo).pdf

    C++程序設(shè)計上機指導(dǎo)
    發(fā)表于 05-02 10:20 ?28次下載

    C程序上機教程之課程標(biāo)準(zhǔn)的詳細資料免費下載

    C程序上機一門對學(xué)生進行程序設(shè)計訓(xùn)練的實踐性課程,旨在鍛煉學(xué)生的實際操作能力,培養(yǎng)良好的編程思想和程序調(diào)試基本技能,提高學(xué)生的提高計算機應(yīng)用能力。
    發(fā)表于 11-20 08:00 ?9次下載
    C<b class='flag-5'>程序上機</b>教程之課程標(biāo)準(zhǔn)的詳細資料免費下載

    MATLAB上機作業(yè)的程序資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是MATLAB上機作業(yè)的程序資料免費下載。
    發(fā)表于 01-11 08:00 ?0次下載
    MATLAB<b class='flag-5'>上機</b>作業(yè)的<b class='flag-5'>程序</b>資料免費下載

    cadence-Pspice-上機實驗-電子電路的直流分析

    cadence-Pspice-上機實驗-電子電路的直流分析(現(xiàn)代電源技術(shù)期末試題)-該文檔為cadence-Pspice-上機實驗-電子電路的直流分析講解文檔,是一份不錯的參考資料,感
    發(fā)表于 09-24 16:36 ?20次下載
    cadence-Pspice-<b class='flag-5'>上機</b><b class='flag-5'>實驗</b>-電子電路的直流分析

    手指在應(yīng)用程序上機器人

    電子發(fā)燒友網(wǎng)站提供《手指在應(yīng)用程序上機器人.zip》資料免費下載
    發(fā)表于 11-16 10:04 ?0次下載
    手指在應(yīng)用<b class='flag-5'>程序上機</b>器人

    電工知識—S7-1500程序上

    把CPU中的程序上傳到計算機中是很有工程應(yīng)用價值的操作,上傳的前提是用戶必須擁有讀程序的權(quán)限,上傳程序的步驟如下。
    的頭像 發(fā)表于 03-07 10:04 ?1.2w次閱讀

    USB Gadget zero應(yīng)用上機實驗

    2. 上機實驗 實驗步驟: 先安裝 g_zero 驅(qū)動程序:在開發(fā)板上執(zhí)行 modprobe g_zero 然后連接 OTG 線到 PC 在 Ubuntu 中識別出設(shè)備 執(zhí)行
    的頭像 發(fā)表于 07-13 11:15 ?924次閱讀

    USB鼠標(biāo)驅(qū)動程序上機實驗

    上機實驗 需要重新配置內(nèi)核,去掉內(nèi)核自帶的驅(qū)動程序。在內(nèi)核目錄下執(zhí)行"make menuconfig": Device Drivers --- > HID support
    的頭像 發(fā)表于 07-17 17:35 ?880次閱讀