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、小结

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

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/529022.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++第一弹---C++入门(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 【C详解】 C入门 1、C关键字(C98) 2、命名空间 2.1、命名空间定义 2.2、命名空间使用 3、C输入&输出 4、缺省参数 4.1、缺省参数概念 4.2、缺省参…

【题解】—— LeetCode一周小结10

【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结9 4.用栈实现队列 题目链接:232. 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)&#xff1a…

【Python从入门到进阶】50、当当网Scrapy项目实战(三)

接上篇《49、当当网Scrapy项目实战(二)》 上一篇我们讲解了的Spider与item之间的关系,以及如何使用item,以及使用pipelines管道进行数据下载的操作,本篇我们来讲解Scrapy的多页面下载如何实现。 一、多页面下载原理分…

pyqt线程正确使用

PyQt之科学使用线程处理耗时任务以及线程通信方法 上面这篇文章看似很科学… 经过实际测试,需要按下面创建线程: self.work EmailWork() self.thread QtCore.QThread() self.thread.start()self.work.moveToThread(self.thread) self.work.complete_…

【域适应论文】MCC:Moment Matching for Multi-Source Domain Adaptation论文原理

文章目录 Moment Matching for Multi-Source Domain Adaptation论文原理主要贡献1 Introduction2 Related3 The DomainNet dataset1 背景2 DomainNet3 数据收集方法4 数据统计5 Quickdraw域数据收集方法 4 Moment Matching for Multi-Source DA1 数据集2 问题描述3 Moment Dist…

管理类联考-复试-管理类知识-其他常见词汇

文章目录 其他常见词汇营销4P、营销4C营销STP理论破窗效应价格歧视/区别定价定价策略——撇脂定价策略定价策略——渗透定价策略 心理账户机会成本看不见的手市场失灵马太效应鲶鱼效应禀赋效应(马克杯实验)羊群效应帕累托原则长尾理论 其他常见词汇 营销…

Python数值微积分,摆脱被高数支配的恐惧

文章目录 差分和累加积分多重积分 Python科学计算:数组💯数据生成 差分和累加 微积分是现代科学最基础的数学工具,但其应用对象往往是连续函数,而其在非连续函数的类比,便是差分与累加。在【numpy】中,可…

01-分析同步通讯/异步通讯的特点及其应用

同步通讯/异步通讯 微服务间通讯有同步和异步两种方式 同步通讯: 类似打电话场景需要实时响应(时效性强可以立即得到结果方便使用),而且通话期间不能响应其他的电话(不支持多线操作)异步通讯: 类似发邮件场景不需要马上回复并且可以多线操作(适合高并发场景)但是时效性弱响应…

电脑右下角出线白色弹窗的解决方法

电脑无缘无故,在右下角出现一个白色弹窗,无法关闭,非常恶心,后来经过查询,发现可能是360之类的弹bug,解决只需要: 1、鼠标左键 点击一下白框 2、键盘输入 AltF4 虽不是技术问题,但解…

day59 线程

创建线程的第二种方式 实现接口Runnable 重写run方法 创建线程的第三种方式 java.util.concurrent下的Callable重写call()方法 java.util.concurrent.FutureTask 创建线程类对象 获取返回值 线程的四种生命周期 线程的优先级1-10 default为5,优先级越高&#xff0c…

本地部署推理TextDiffuser-2:释放语言模型用于文本渲染的力量

系列文章目录 文章目录 系列文章目录一、模型下载和环境配置二、模型训练(一)训练布局规划器(二)训练扩散模型 三、模型推理(一)准备训练好的模型checkpoint(二)全参数推理&#xff…

数据结构(二)——顺序表和链表的比较

1、存取(读/写)方式 顺序表可以顺序存取,也可以随机存取,在第i个位置上执行存取操作,顺序表仅需一次访问. 链表只能从表头开始依次顺序存取,链表在第i个位置执行存取则需从表头开始依次访问i次. 2、逻辑结构与物理结…