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连接mqtt.fx: 1.首先,需要安装LabVIEW MQTT Client库。可以在LabVIEW中通过“Tools”->“Add-ons”->“Browse”来搜索并安装该库。 2.在LabVIEW中创建一个新的VI,然后在Block Diagram中右键单击并选择“NI MQTT”选项,选择“Connect”来连接到mqtt.fx服务器。 3.在“Connect”节点的输入面板中,输入mqtt.fx服务器的地址和端口号,然后选择“OK”以连接到服务器。 4.接下来,可以使用“NI MQTT”节点的“Publish”选项来发布消息。在“Publish”节点的输入面板中,输入要发布的主题和消息内容,然后选择“OK”以发布消息。 5.如果需要订阅主题,则可以使用“NI MQTT”节点的“Subscribe”选项。在“Subscribe”节点的输入面板中,输入要订阅的主题,然后选择“OK”以订阅主题。 6.最后,可以使用“NI MQTT”节点的“Disconnect”选项来断开与mqtt.fx服务器的连接。 下面是一个LabVIEW连接mqtt.fx的简单示例: ```LabVIEW # 在Block Diagram中右键单击并选择“NI MQTT”选项,选择“Connect”来连接到mqtt.fx服务器。 NI MQTT Connect.vi # 使用“NI MQTT”节点的“Publish”选项来发布消息。 NI MQTT Publish.vi # 使用“NI MQTT”节点的“Subscribe”选项来订阅主题。NI MQTT Subscribe.vi # 使用“NI MQTT”节点的“Disconnect”选项来断开与mqtt.fx服务器的连接。 NI MQTT Disconnect.vi ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heda3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值