【昉·星光 2 RISC-V单板计算机】AHT10 温湿度数据的 LabVIEW 采集
本文介绍了昉·星光2 (StarFive2)单板计算机通过 LabVIEW 上位机实现基于 MQTT 协议的远程 AHT10 温湿度数据采集的项目设计。
准备工作
- 下载和安装最新版 LabVIEW 软件;
- 开发板执行前面帖子实现 AHT10 温湿度数据 MQTT 上传 HomeAssistant 云端的 Python 程序;
- 下载 mqtt-LabVIEW 开发基础软件包,便于调试、调用以及快速验证和实现 MQTT 连接与通信。
详见:【昉·星光 2 RISC-V单板计算机】SHT40 和 AHT10 远程温湿度计 .
工程调试
需要说明的是,LabVIEW 上位机可通过串口采集 AHT10 温湿度数据,也可以通过前面的云端上传与 MQTT 协议代理采集数据。
考虑到工业和科研领域因生产环境条件限制,对数据的无线远程传输需求更为广泛,这里主要介绍网络数据采集的方案。
- 首先利用现有资源进行 MQTT 通信调试,实现数据的单步采集;
- 而后将程序封装,进一步实现数据的连续采集。
前面板
前面板包括 Publish 发布和 Subscribe 订阅两部分;
对于本项目,由于是采集 ATH10 温湿度数据,因此仅使用订阅功能。
- 填写 MQTT 连接信息,包括 IP 地址、用户名、密码、订阅主题等;
- 运行程序,点击 Connect 连接到 EMQX MQTT Broker 服务器,当 subscribeSuccess绿灯亮起,表明订阅初始化成功;
- 点击 Subscribe 按钮,此时 RX Value 接收到 json 消息,并成功获得温湿度数据;
- 采集完成后,点击 Quit 按钮结束进程。
程序框图
程序框图涉及到 MQTT 客户端地址账户等关键信息的输入。
除了填写 EMQX 客户端 ip 地址以及账户、密码,还需注意使能账户名和密码。
详见:LabView与MQTT协议使用 .
上位机开发
在前面 MQTT 通信测试完成的基础上,进一步在事件中断框架内添加 json 字符串的数值提取与格式转换、图表显示以及数组文件的保存等流程,实现完整的数据采集与实时监控功能。
前面板设计
前面板的主体按键部分与调试时相同,也是由 Connect、Subscribe、Quit 功能按键组成,分别控制程序连接、消息订阅开启、终止程序的任务。
新增数据保存路径选择部分、温度和湿度数据实时动态演化曲线、温湿度仪表盘以及数值显示等模块,为调试和二次开发提供了便利。
程序框图
程序框图设计中的关键部分在于 JSON 字符串的转化,这里使用 VIPM 的 JSONtext
扩展程序包;相较于 LabVIEW 自带的 unflatten-from-json
程序,JSONtext 的兼容性更强,使用更方便,而且例程丰富,考虑到多种格式转换的情况,对开发者更友好。
详见:从JSON还原函数 - NI 、VIPM -_jsontext .
数据保存
结束程序后,系统自动保存采集的数据到默认路径文件夹,并自动命名 *.dat
格式文件,
三列数据依次为日期时间、温度、湿度数据,便于数据分析与处理。
动态采集效果演示
总结
本文介绍了昉·星光2 (StarFive2)单板计算机通过 LabVIEW 上位机实现基于 MQTT 协议的远程 AHT10 温湿度数据采集的项目设计,为惊鸿系列芯片和开发板的物联网应用、以及科研和工业领域的应用提供了参考。

