C#MQTT编程10--MQTT项目应用--工业数据上云

2024-03-11 09:44

本文主要是介绍C#MQTT编程10--MQTT项目应用--工业数据上云,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、文章回顾 

这个系列文章已经完成了9个内容,由浅入深地分析了MQTT协议的报文结构,并且通过一个有效的案例让伙伴们完全理解理论并应用到实际项目中,这节继续上马一个项目应用,作为本系列的结束,奉献给伙伴们,真是帅呆了,我也是醉了,特别是第9节内容,那绝对是项目的经典,将技术应用到完美。

C#MQTT编程01--MQTT介绍_mqtt协议c#-CSDN博客

C#MQTT编程02--报文格式-CSDN博客

C#MQTT编程03--连接报文-CSDN博客

C#MQTT编程04--订阅报文_c#mqtt订阅消息-CSDN博客

C#MQTT编程05--发布报文-CSDN博客

C#MQTT编程06--MQTT服务器和客户端(winform版)_c# mqtt服务器-CSDN博客

C#MQTT编程07--MQTT服务器和客户端(wpf版)_c# 开发mqtt 服务器-CSDN博客

C#MQTT编程08--MQTT服务器和客户端(cmd版)_c# 编写mqtt服务端-CSDN博客

 C#MQTT编程09--MQTT项目实战--数据实时采集_利用mqtt 实现性能采集-CSDN博客

2、应用场景

 随着物联网技术的快速发展,工业互联网应运而生,工业互联网是指将互联网和物联网技术应用于工业生产和制造过程中,实现设备、工厂、企业和供应链等各种资源的智能互联,工业互联网云平台是将工业互联网与云计算相结合的平台,旨在为制造业提供全生命周期服务。

在这里需求就是将生产现场的PLC中的实际数据上传到云端,也就是工业数据上云,而数据上云,有多种方案,但MQTT肯定是非常强大的满足这方面要求,从而我们确定了通过MQTT协议实现工业数据上云,其应用模型是:

 在这个应用场景中,云端服务器就是MQTT服务器,上位机软件就是MQTT客户端,两者通过MQTT协议实现internet数据传输,处理,存储,应用,由此我们得到技术模型如下:

在这个应用中,我们的目的就是将现场PLC中的数据上传到internet,然后另一个应用程序从云端服务器获取数据并应用。

3、开始干

有了第9节的项目应用,这个应用的话就可以通俗多了,其实质也是实时数据采集,同样需要将数据发到服务器,但技术原理是一样的,不过这里数据是来自PLC,而PLC数据来自现场实际数据。

1、云端服务器搭建

云端服务器是一个MQTT服务器,具体搭建过程较复杂  

 

2、终端客户机搭建

对PLC不熟悉的可以看另一个系列文章,当然内容有些多,如果是PLC方面的工程师就好说,这里涉及欧姆龙PLC的FINS协议,内容较复杂,需要一些过程来消化。

C#上位机与欧姆龙PLC通信


 终端客户机是一个MQTT客户端,它有两个作用:

1)采集PLC的实时数据,注意是实时的,也就是每隔一定时间读取PLC的生产数据

2)将数据上传到MQTT服务器,这就需要发布主题这个操作

案例是采集欧姆龙PLC的数据,涉及数据有温度,湿度,转速,转角,设备状态,更多的指标数据是一样的,我们都可以将它写在EXCEL文件中

 3、工业客户端搭建

工业客户端其实也是一个MQTT客户端,它从MQTT服务器订阅数据,当服务器收到数据时,主动推送给这个客户端,客户端要怎么显示加载数据,都可以,可以是winform可以是wpf也可以是web网页,或者是手机的微信小程序,总之它是从服务器订阅数据,数据是从云端来的,而不是自己从哪里获取的,本项目中wpf窗体应用程序。

4、本地测试

 可以看到,成功订阅到了数据,加载完美,帅啊。

 5、云端部署

骚等,骚等

----------------

。。。。。。。。。。

4、小结

 随着数字化转型的加快和工业互联网平台的发展,工业企业云设备数据已成为一种趋势,通过云设备数据,工业企业可以更好地实现设备的智能化和自动化运行,提高生产效率和产品质量,也可以将设备数据转化为有价值的信息,为企业数字化转型提供基本的数据支持。

写作不易,图文不易,思路不易,打字不易,分享不易,多多点赞。 

欢迎伙伴们点赞,关注,收藏,抄袭,复制,分享,打赏,共同致富

 

这篇关于C#MQTT编程10--MQTT项目应用--工业数据上云的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/797445

相关文章

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1