如何在米尔-STM32MP257开发板上实现环境监测系统

2025-04-17

100

来源:米尔电子
一、前言
环境监测是当前很多场景需要的项目,刚好我正在论坛参与的一个项目:Thingy:91X 蜂窝物联网原型开发平台的试用。把两个项目结合起来,实现一个简单的环境监测系统。
二、硬件平台
1、米尔-STM32MP257开发板
2、Thingy:91X
三、项目规划
4、接收数据并在UI界面中展示。
四、QT设计
1、QT安装
Index of /qtproject/official_releases/online_installers/


其他的按官方的教程就可以安装了。
2、Kit的配置


给相应的需要显示的label根据接收的数据,定义了相应的标签值:
#include <QtMqtt/QMqttClient>
【注】在官方发布的固件中,是没有QTMqtt的连接文件的,当运行带的QtMqtt的程序会报错:
error while loading shared libraries: libQt5Mqtt.so.5: cannot open shared object file: No such file or directory
需要从SDK中复制到开发板目录中。
同时为了实现检测与MQTT服务器的连接状态,需要引入一个线程,用于检测是否连接到服务器:
void run() override { while (true) { if (m_client) { QString statusText = m_client->state() == QMqttClient::Connected ? "连接服务器:成功" : "连接服务器:失败"; emit updateStatus(statusText); } msleep(1000); // 每秒检测一次 } }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), m_client(new QMqttClient(this)) // 初始化MQTT客户端实例 { ui->setupUi(this); // 设置MQTT客户端参数 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(); // 创建并启动连接状态检测线程 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(); }
void MainWindow::onMessageReceived(const QByteArray &message, const QMqttTopicName &topic) { Q_UNUSED(topic); // 解析JSON数据 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(); //将这些数据更新到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)); // 在这里可以将解析后的数据更新到UI或其他处理逻辑 } else { qDebug() << "Invalid JSON message received"; } }
五、实验效果
编译好程序后,上传到开发板,运行后,效果如下:
六、总结
米尔-STM32MP257开发板,通过QT来设计UI界面,通过mqtt来订阅指定的主题,实现环境监测。在物联网方面大有作为!
2025-04-17
如何在米尔-STM32MP257开发板上实现环境监测系统
本文将介绍基于米尔电子MYD-LD25X开发板(米尔基于STM35MP257开发板)的环境监测系统方案测试。摘自优秀创作者-lugl4313820一、前言环境监测是当前很多场景需要的项目,刚好我正在论坛参与的一个项目:Thingy:91X 蜂窝物联网原型开发平台的试用。把两个项目结合起来,实现一个简单的环境监测系统。二、硬件平台1、米尔-STM32MP257开发板2、Thingy:91X三、项目规
2025-04-10
OpenCV行人检测应用方案--基于米尔全志T527开发板
本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV行人检测方案测试。摘自优秀创作者-小火苗一、软件环境安装1.安装OpenCVsudoapt-getinstalllibopencv-devpython3-opencv2.安装pipsudoapt-getinstallpython3-pip二、行人检测概论使用HOG和SVM构建行人检测器的关键步骤包括:准备训练
2025-04-03
免费送30套开发板!米尔-安路飞龙派创意秀限时活动
大赛简介为鼓励工程师勇于创新探索的精神,提升实践动手能力,更深度的体验安路飞龙派产品,米尔电子发起“米尔基于安路DR1M90开发板创意秀”,提供米尔安路DR1M90开发板支持开发者创新应用。报名条件:需关注米尔电子公众号的用户;报名对象:面向企业、创客团队、工程师、电子爱好者、研究院等人士,不限个人或团体形式参赛。大赛日程01-活动申请【时间:即日起-2025/04/21】在线填《报名申请表》(见
2025-03-20
一篇文章玩转T113的ARM+RSIC V+DSP三核异构!
近年来,随着半导体产业的快速发展和技术的不断迭代,物联网设备种类繁多(如智能家居、工业传感器),对算力、功耗、实时性要求差异大,单一架构无法满足所有需求。因此米尔推出MYD-YT113i开发板(基于全志T113-i)来应对这一市场需求。米尔基于全志T113-i核心板及开发板part 01T113-i芯片及OpenAMP简介T113-i芯片简介T113-i由两颗ARM A7 、一颗C906(RISC
2025-03-13
ST×米尔STM32MP25x高阶实战培训会
STM32MP25x是ST推出的搭载了双核Cortex-A35@1.5 GHz和Cortex-M33@400 MHz的微处理器。米尔电子基于STM32MP25x推出了MYD-LD25X开发板,开发板配备丰富的扩展接口。为助力开发者深度掌握与应用STM32MP25x处理器,米尔将与ST在2025年4月11日和2025年4月18日分别于深圳、上海联合举办线下高阶实战培训会,本次培训在上一期“Bring
2025-03-13
瑞萨交流日进行中,米尔演讲-RZ/T2H高性能模组赋能工业产品创新
3月12日,2025瑞萨工业以太网技术日在深圳拉开序幕。会议全方位解读瑞萨电子最新EtherCAT/PROFINET/EIP解决方案,洞察行业发展趋势,助力企业高效开发更具竞争力的工业以太网产品。米尔电子作为瑞萨的IDH生态合作伙伴发表演讲,并展出RZ/T2H的核心板开发板、技术方案等。米尔活动现场会上,米尔电子产品经理张先生发表了题为"米尔RZ/T2H高性能模组赋能工业产品创新&quo
2025-03-13
米尔闪耀德国纽伦堡Embedded World 2025,展现嵌入式技术无限可能
2025年3月11日,全球领先的嵌入式解决方案提供商米尔电子,在德国纽伦堡盛大亮相全球规模最大的嵌入式系统展览会Embedded World 2025。此次展会,米尔电子携多款重磅新品和前沿技术方案惊艳登场,为嵌入式开发者带来了一场科技盛宴。米尔展台现场展会现场,米尔电子展示全系列产品,基于国内外知名厂商ST、TI、NXP、瑞萨、AMD(Xilinx)、瑞芯微、全志、新唐、芯驰、海思、紫光同创等主
2025-03-07
六城共启 | 米尔邀您预约2025瑞萨工业以太网技术日
随着工业4.0和工业物联网(IIoT)的发展,现代制造工厂设备的数据传输和自动化控制对实时性、带宽和可靠性提出了更高要求。各类工业以太网技术的普及和迭代不断为拓扑节点设备的确定性、安全通信提供了保障。聚焦工业4.0核心需求,瑞萨电子将于2025年3-4月在全国六大城市(深圳、广州、北京、苏州、西安、上海)巡回举办2025瑞萨工业以太网技术日,为工程师与企业决策者提供实时通信技术最佳解决方案,通过案
2025-03-06
XFCE+VNC+SWITCH+TSN全覆盖!STM32MP25x核心板Debian系统发布
一、系统概述MYD-LD25X搭载的Debian系统包含以太网、WIFI/BT、USB、RS485、RS232、CAN、AUDIO、HDMI显示和摄像头等功能,同时也集成了XFCE轻量化桌面、VNC远程操控、SWITCH网络交换和TSN时间敏感网络功能,为工业设备赋予“超强算力+实时响应+极简运维”的体验!类别名称描述源码TF-AArm Trusted Firmware2.8OP-TEEOP-TE
2025-02-27
4核CPU,ARM中量级多面手,米尔瑞芯微RK3562核心板上市
近日,米尔电子携手推出全新一代ARM核心板——基于瑞芯微RK3562(J)处理器的MYC-YR3562核心板及开发板。这款核心板凭借其强大的性能、丰富的接口和灵活的扩展能力,为工业控制、物联网网关、边缘计算等领域提供了高性价比的解决方案。核心板基于 RK3562 或RK3562J处理器,采用四核ARM Cortex-A53架构,主频高达2GHz,集成Mali-G52 GPU,支持4K视频解码和10