在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何在米爾-STM32MP257開發(fā)板上實現(xiàn)環(huán)境監(jiān)測系統(tǒng)

米爾電子 ? 2025-04-17 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文將介紹基于米爾電子MYD-LD25X開發(fā)板(米爾基于STM35MP257開發(fā)板)的環(huán)境監(jiān)測系統(tǒng)方案測試。摘自優(yōu)秀創(chuàng)作者-lugl4313820


一、前言

環(huán)境監(jiān)測是當前很多場景需要的項目,剛好我正在論壇參與的一個項目:Thingy:91X 蜂窩物聯(lián)網原型開發(fā)平臺的試用。把兩個項目結合起來,實現(xiàn)一個簡單的環(huán)境監(jiān)測系統(tǒng)。

二、硬件平臺

1、米爾-STM32MP257開發(fā)板

c0f6da46-1b1f-11f0-9434-92fbcf53809c.png

2、Thingy:91X

c11cd53e-1b1f-11f0-9434-92fbcf53809c.png

三、項目規(guī)劃

1、米爾-STM32MP257開發(fā)板,板載了wifi模塊,通過wifi連接到互聯(lián)網。2、啟用MQTT,連接到私有的服務器,并訂閱指定的主題。3、使用QT設計UI界面。

4、接收數(shù)據(jù)并在UI界面中展示。

四、QT設計

1、QT安裝

1.1. 下載在線安裝包,現(xiàn)在好象只有一個在線安裝包了。網址:

Index of /qtproject/official_releases/online_installers/

c13ee2a0-1b1f-11f0-9434-92fbcf53809c.png

1.2. 下載好后,上傳給虛擬機,執(zhí)行安裝。安裝有幾個地方要注意。

c1548c9a-1b1f-11f0-9434-92fbcf53809c.png

c16570a0-1b1f-11f0-9434-92fbcf53809c.png

其他的按官方的教程就可以安裝了。

2、Kit的配置

在官方給出的示例中,與這個版本的不一樣,首先設置GCC只需要選擇gcc就行了,然后g++自動在下面選擇:

c18080d4-1b1f-11f0-9434-92fbcf53809c.png

最后是QT version的選擇要按下圖選擇。

c1ab7f32-1b1f-11f0-9434-92fbcf53809c.png

這樣就可以進行交叉編譯了,然后如下:

c1cd4e64-1b1f-11f0-9434-92fbcf53809c.jpg


3、創(chuàng)建桌面程序

在文章介紹的基礎上,我創(chuàng)建了一個基于QT的桌面程序,其UI界面如下:

c1f5126e-1b1f-11f0-9434-92fbcf53809c.png


4、定義標簽

給相應的需要顯示的label根據(jù)接收的數(shù)據(jù),定義了相應的標簽值:

c20e5418-1b1f-11f0-9434-92fbcf53809c.png

5、引入QT的QtMqtt/QMqttClient 庫

#include

【注】在官方發(fā)布的固件中,是沒有QTMqtt的連接文件的,當運行帶的QtMqtt的程序會報錯:

errorwhileloadingsharedlibraries:libQt5Mqtt.so.5:cannotopensharedobjectfile:Nosuchfileordirectory

需要從SDK中復制到開發(fā)板目錄中。

6、檢測連接狀態(tài)

同時為了實現(xiàn)檢測與MQTT服務器的連接狀態(tài),需要引入一個線程,用于檢測是否連接到服務器:

void run() override{ while (true) { if (m_client) { QString statusText = m_client->state() == QMqttClient::Connected ? "連接服務器:成功" : "連接服務器:失敗"; emit updateStatus(statusText); } msleep(1000); // 每秒檢測一次 }}

7、在main中編寫代碼如下:

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_client(new QMqttClient(this)) // 初始化MQTT客戶端實例{ ui->setupUi(this);
// 設置MQTT客戶端參數(shù) m_client->setHostname("hostname"); m_client->setPort(1883); // 默認MQTT端口 m_client->setClientId("client_id"); m_client->setUsername("usrename"); m_client->setPassword("pwd");
// 連接信號槽,處理連接成功事件 connect(m_client, &QMqttClient::connected, this, [this]() { // 連接成功,修改label的文本 ui->mqtt_client_state->setText("連接服務器:成功");
// 訂閱主題 m_client->subscribe(QMqttTopicFilter("devacademy/publish/topic")); });
// 連接信號槽,處理消息接收事件 connect(m_client, &QMqttClient::messageReceived, this, &MainWindow::onMessageReceived);
// 啟動MQTT連接 m_client->connectToHost();
// 創(chuàng)建并啟動連接狀態(tài)檢測線程 MqttConnectionChecker *checker = new MqttConnectionChecker(m_client, ui->mqtt_client_state, this); connect(checker, &MqttConnectionChecker::updateStatus, this, [this](const QString &status) { ui->mqtt_client_state->setText(status); }); checker->start();}

8、編譯訂閱回調如下:

void MainWindow::onMessageReceived(const QByteArray &message, const QMqttTopicName &topic){ Q_UNUSED(topic);
// 解析JSON數(shù)據(jù) QJsonDocument doc = QJsonDocument::fromJson(message); if (!doc.isNull() && doc.isObject()) { QJsonObject obj = doc.object(); double temp = obj.value("temp").toDouble(); double press = obj.value("press").toDouble()/100; double humidity = obj.value("humidity").toDouble(); int iaq = obj.value("iaq").toInt(); double co2 = obj.value("co2").toDouble(); double voc = obj.value("voc").toDouble();
//將這些數(shù)據(jù)更新到UI ui->label_temp->setText(QString::number(temp, 'f', 2)); ui->label_press->setText(QString::number(press, 'f', 2)); ui->label_humidity->setText(QString::number(humidity, 'f', 2)); ui->label_iaq->setText(QString::number(iaq, 'f', 2)); ui->label_co2->setText(QString::number(co2, 'f', 2)); ui->label_voc->setText(QString::number(voc, 'f', 2));
// 在這里可以將解析后的數(shù)據(jù)更新到UI或其他處理邏輯 } else { qDebug() << "Invalid JSON message received"; }}

五、實驗效果

編譯好程序后,上傳到開發(fā)板,運行后,效果如下:

c22416fe-1b1f-11f0-9434-92fbcf53809c.jpg

c2528ae8-1b1f-11f0-9434-92fbcf53809c.jpg

六、總結

米爾-STM32MP257開發(fā)板,通過QT來設計UI界面,通過mqtt來訂閱指定的主題,實現(xiàn)環(huán)境監(jiān)測。在物聯(lián)網方面大有作為!

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

    關注

    2291

    文章

    11022

    瀏覽量

    363546
  • 監(jiān)測系統(tǒng)

    關注

    8

    文章

    2870

    瀏覽量

    82403
  • 開發(fā)板
    +關注

    關注

    25

    文章

    5624

    瀏覽量

    103650
  • 米爾電子
    +關注

    關注

    0

    文章

    145

    瀏覽量

    755
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    米爾-STM32MP257開發(fā)板試用】——開箱評測

    很榮幸收到電子發(fā)燒友和米爾電子的STM32MP257開發(fā)板,該開發(fā)板基于STM32MP2系列是意法半導體推出最新一代工業(yè)級64位微處理器;具
    發(fā)表于 03-31 12:23

    全新STM32MP257開發(fā)板震撼發(fā)布!異核架構x接口豐富x邊緣AI,助力ARM嵌入式工業(yè)4.0應用!

    全新STM32MP257開發(fā)板震撼發(fā)布!異核架構x接口豐富x邊緣AI,助力ARM嵌入式工業(yè)4.0應用! ATK-DLMP257B開發(fā)板是正點原子基于
    發(fā)表于 04-12 12:04

    何在米爾-STM32MP257開發(fā)板上部署環(huán)境監(jiān)測系統(tǒng)

    我正在論壇參與的一個項目:Thingy:91X 蜂窩物聯(lián)網原型開發(fā)平臺的試用。把兩個項目結合起來,實現(xiàn)一個簡單的環(huán)境監(jiān)測系統(tǒng)。 二、硬件平臺 1、
    發(fā)表于 04-18 15:18

    米爾-STM32MP257開發(fā)板試用體驗】初次體驗米爾-STM32MP257開發(fā)板

    何在MYD-LD25X開發(fā)板使用STM32CubeMX工具來實現(xiàn)最小系統(tǒng)的搭建及外設資源的配
    發(fā)表于 04-30 16:21

    米爾-STM32MP257開發(fā)板試用體驗】米爾-STM32MP257開發(fā)板下載yocto源碼和編譯及燒錄

    內容,主要包括啟動流程分析、驅動分析、Yocto系統(tǒng)定制等內容。 先給各位朋友介紹一下收到的米爾-STM32MP257開發(fā)板。 硬件介紹 硬件平臺: 本文采用
    發(fā)表于 04-30 16:37

    米爾-STM32MP257開發(fā)板試用體驗】測試米爾-STM32MP257開發(fā)板試連接wifi功能

    編解碼,RGB, MIPI DSI 以及 LVDS 顯示接口 米爾-STM32MP257開發(fā)板板載了wifi與藍牙的模塊,可以實現(xiàn)無線連接。在軟件評估指南中,有介紹如何做為sta連接w
    發(fā)表于 05-09 12:16

    【正點原子STM32MP257開發(fā)板試用】+ STM32MP257開發(fā)板開箱評測

    很高興收到了正點原子和電子發(fā)燒友給到了試用名額,大清早就去拿到了快遞,正點原子STM32MP257開發(fā)板果然是ST的性能旗艦產品 快遞是上面這個快遞盒子。 拆開后,是熟悉的正點原子的包裝盒,黑色
    發(fā)表于 06-08 09:01

    【正點原子STM32MP257開發(fā)板試用】智能門鎖

    前言 感謝正點原子和電子發(fā)燒友論壇提供的這次機會讓我有機會體驗這款正點原子STM32MP257開發(fā)板,希望可以借這個機會好好學習一下。 開箱 箱子還是那個黑箱子: 沒有想到還配送了一個MIPI的屏幕
    發(fā)表于 06-08 16:03

    【正點原子STM32MP257開發(fā)板試用】介紹、電測試、系統(tǒng)連接

    【正點原子STM32MP257開發(fā)板試用】介紹、電測試、系統(tǒng)連接 本文介紹了正點原子 STM32MP257
    發(fā)表于 06-13 17:28

    【正點原子STM32MP257開發(fā)板試用】系統(tǒng)更新

    【正點原子STM32MP257開發(fā)板試用】系統(tǒng)更新 本文介紹了正點原子 STM32MP257 開發(fā)板實現(xiàn)固件上傳與
    發(fā)表于 06-17 18:35

    ST×米爾STM32MP25x線下培訓會

    STM32MP257D是ST推出的搭載了雙核Cortex-A35@1.5GHz和Cortex-M33@400MHz的微處理器。米爾電子基于STM32MP257D推出了MYD-LD25X開發(fā)板
    的頭像 發(fā)表于 12-06 01:00 ?646次閱讀
    ST×<b class='flag-5'>米爾</b><b class='flag-5'>STM32MP</b>25x線下培訓會

    STM32MP25x開發(fā)板Bring Up培訓課程(中)

    STM32MP25x開發(fā)板BringUp培訓課程()米爾基于STM32MP257核心
    的頭像 發(fā)表于 02-20 08:06 ?497次閱讀
    <b class='flag-5'>STM32MP</b>25x<b class='flag-5'>開發(fā)板</b>Bring Up培訓課程(中)

    STM32MP25x開發(fā)板Bring Up培訓課程(下)

    STM32MP25x開發(fā)板BringUp培訓課程()STM32MP25x開發(fā)板BringUp培訓課程(中)
    的頭像 發(fā)表于 02-27 08:03 ?654次閱讀
    <b class='flag-5'>STM32MP</b>25x<b class='flag-5'>開發(fā)板</b>Bring Up培訓課程(下)

    免費丨米爾 STM32MP257開發(fā)板有獎試用

    米爾與ST合作發(fā)布的新品基于STM32MP257應用處理器的MYD-LD25X開發(fā)板免費試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X
    的頭像 發(fā)表于 03-20 08:05 ?447次閱讀
    免費丨<b class='flag-5'>米爾</b> <b class='flag-5'>STM32MP257</b><b class='flag-5'>開發(fā)板</b>有獎試用

    【新品體驗】正點原子STM32MP257開發(fā)板免費試用

    試用產品概述ATK-DLMP257B開發(fā)板是正點原子基于STM32MP257DAK3處理器研發(fā)的一款高性能嵌入式開發(fā)平臺,適用于嵌入式系統(tǒng)開發(fā)
    的頭像 發(fā)表于 04-22 08:05 ?468次閱讀
    【新品體驗】正點原子<b class='flag-5'>STM32MP257</b><b class='flag-5'>開發(fā)板</b>免費試用
    主站蜘蛛池模板: 日韩视频 中文字幕 视频一区 | 天天干夜夜操 | 国产网站在线 | 免费高清一级欧美片在线观看 | 欧美不卡1卡2卡三卡老狼 | 日本aaaaa | 亚洲网站免费看 | 免费人成在线观看网站品爱网日本 | 欧美色图亚洲 | 久久久久女人精品毛片九一 | 成人sese| 中文字幕一区二区三区在线观看 | 欧美性野久久久久久久久 | 黑人又大又粗又长又深受不了 | 亚洲一区二区三区四区在线观看 | 欧美人成a视频www | 一级一片免费视频播放 | 曰本性l交片视频视频 | 韩国免费三片在线视频 | 国产免费高清在线精品一区 | 男女无遮挡一进一出性视频 | 四月婷婷七月婷婷综合 | 最新欧美伦理网 | a毛片免费观看完整 | 色的视频网站 | 免费观看做网站爱 | 国内精品91久久久久 | 黄色视网站 | 久久午夜精品视频 | 日韩在线影院 | 国产视频h | 久久最新精品 | 亚洲国产精品乱码一区二区三区 | 黄页网站在线播放 | 性夜黄a爽爽免费视频国产 羞羞答答xxdd影院欧美 | 久碰香蕉精品视频在线观看 | 色女人在线视频 | 天天天天天干 | 天堂网男人| 天天在线免费视频 | 91网站在线播放 |