LabVIEW进行MQTT通信及数据解析

**需求:**一般通过串口的方式进行数据的解析,但有时候硬件的限制,没法预留串口,那么如何通过网络的方式特别是MQTT数据的通信及解析

解决方式:

1.MQTT通信控件:

参考开源的mqtt-LabVIEW

https://github.com/cowen71/mqtt-LabVIEW

该Vi是通过事件处理的方式进行MQTT服务器的连接、发送、订阅。

将订阅事件中将接收的字符串按照指定的格式解析。

2.操作的关键步骤是:

1)填上合适的MQTT服务器IP或域名

2)在订阅主题:填写订阅的主题名

3)点击订阅,可观察到有数据的接收。

一般接收的数据:十六进制字符串、单个字符表示的十六进制数(乱码)如下图所示

十六进制字符串的解析较为简单:进行字符串的截取操作,并将截取的字符串转换为数值即可。

单个字符表示的十六进制数(乱码):每个字符表示一个十六进制数。同样需要进行字符串的截取,并进行格式转换为数值(十六进制)。

依据数据通信的协议,需要进行十六进制数的位运算符操作。

在此需要注意的是:

1)位运算符操作的对象应该为十六进制数,因此应该将数值更改为十六进制数格式:

数据类型表示:

2)需要注意的问题2:

如果将C1创建局部变量再连接到右边的逻辑运算符输入端,则会出现C1的值没有立刻改变,为此将数据格式转换之后的连接线直接连接逻辑运算符的输入端即可。

逻辑移位运算符为:

3)可以依据接收的topic进行不同的主题消息分别处理。

其它可参考:

GitHub - DAQIO/LVMQTT: MQTT Library for LabVIEW

A Practical Guide for Connecting LabVIEW to the Industrial IoT - NI

https://www.cnblogs.com/jzcn/p/16409127.html

相关推荐
LabVIEW开发10 小时前
LabVIEW 水泵异常检测:从多源传感、峭度特征到 SAE+ELM 智能诊断
labview
helesheng2 天前
用NI的数据采集卡实现简单电子测试之7——用“硬件计数器+软件定时”的方法实现测频率 [原创cnblogs.com/helesheng]
labview·数据采集卡·虚拟仪器·usb-6009·测频率
LabVIEW开发3 天前
CTM-3 红外测温仪 + LabVIEW 温度怎么测?
算法·labview·测试·labview程序
LabVIEW开发3 天前
CMT 矢量网络分析仪 + LabVIEW 测S参数?
labview·测试·labview程序
LabVIEW开发4 天前
FlexRIO 在轨图像取舍:判决要跑在数据进内存之前
labview·fpga·labview功能·labview程序·flexrio
LabVIEW开发4 天前
PHD2000 注射泵通宵实验:LabVIEW 分段排程、堵针检测与断点续跑
串口通信·labview·仪器控制·实验室自动化
LabVIEW开发5 天前
用 LabVIEW 做故障注入:把起落架的「危险试验」变成可重复流程
串口通信·labview·仪器控制·labview功能·labview程序
LabVIEW开发6 天前
CLAD 例题精讲 2|数值与布尔:三个反直觉的地方
labview
LabVIEW开发7 天前
波音客机降噪验证系统:NI PXI 加 LabVIEW 怎么同时做到可扩展与低成本
labview·labview知识·labview功能·labview程序
LabVIEW开发7 天前
风洞 50 米/秒,LabVIEW 采哪几路信号
自动化测试·数据采集·labview