对于文中涉及的MQTT服务器及MQTT客户端的源码,大家可以点击上方公众号,关注后发送关键词:MQTT通信源码。
随着5G时代的来临,物联网开始加速盛行,慢慢地融入到我们的生活当中,万物互联互通将不再只是纸上谈兵。
现在各大物联网平台层出不穷,看似离我们很遥远,其实只要我们敢于去研究,敢于去发现,万物互联,近在咫尺之间。
今天给大家介绍一下,作为一个普通的.NET开发人员,如何不借助第三方的物联网平台,搭建一个简单实用的物联网平台框架。
一、物联网框架
此物联网框架是在上位机框架的基础上,结合物联网通信协议MQTT实现。上位机本身就集成有采集、归档及日志等功能,只需要在这个基础上,连接MQTT服务器之后,并向指定的主题Topic中发布相关的数据,相关的WEB、APP只需要订阅相应的主题,即可获取到数据。
整体软件框架如下图示所示:
图表 1 整体软件框架实现
从上图可以看出,整体软件基于MQTT协议搭建,依据此软件框架搭建的MQTT物联网拓扑图如下图所示:
图表 2 MQTT物联网平台拓扑图
二、框架实现
为了测试方便,这里选择西门子S7-1200 PLC作为下位机,采用西门子S7进行通信,上位机先与PLC进行通信,同时连接MQTT服务器,并向指定主题发布数据。
(1)首先创建一个新的Windows窗体应用,从NuGet上下载xktComm.dll:
图表 3 xktComm下载
(2)开发UI界面开发,按照功能设计如下图所示:
图表 4 MQTT客户端UI界面