当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/235874.html

相关文章:

  • 基于DOTween插件实现金币飞行到指定位置功能
  • python-opencv 培训课程作业
  • 【Go入门】并发
  • Java虚拟机运行时数据区结构详解
  • 华为OD机试 - 转盘寿司(Java JS Python C)
  • 【ATTCK】MITRE Caldera-emu插件
  • 23111709[含文档+PPT+源码等]计算机毕业设计基于Spring Boot智能无人仓库管理-进销存储
  • SDUT OJ《算法分析与设计》贪心算法
  • 金融业务系统: Service Mesh用于安全微服务集成
  • Linux下快速确定目标服务器支持哪些协议和密码套件
  • LeetCode100122. Separate Black and White Balls
  • 系列二十六、idea安装javap -c
  • nginx 如何根据IP做限流,以及 nginx 直接返回 json 格式数据
  • C语言链式栈
  • 【Go入门】 Go的http包详解
  • 解决k8s node节点报错: Failed to watch *v1.Secret: unknown
  • 日志维护库:loguru
  • 【Go入门】 Go如何使得Web工作
  • 汽车虚拟仿真视频数据理解--CLIP模型原理
  • 【Web】Ctfshow SSTI刷题记录1
  • 【广州华锐互动】VR可视化政务服务为公众提供更直观、形象的政策解读
  • 音视频项目—基于FFmpeg和SDL的音视频播放器解析(七)
  • Sql Server 2017主从配置之:发布订阅
  • 聊聊logback的EvaluatorFilter
  • 解决vue 部分页面缓存,部分页面不缓存的问题
  • 修完这个 Bug 后,MySQL 性能提升了 300%
  • 【C/PTA】数组进阶练习(二)
  • Mysql MMM
  • GDPU 数据结构 天码行空10
  • CD36 ; + Lectin;