一.生产现场有仪器A\B\C多台,仪器之间要相互访问,访问终端有PC,WEB,APP
二.下位机为嵌入式
三.方案设想:
1、用MQTT.NET创建消息服务器转发层
2、为仪器A创建一个.NET6.0框架的控制台程序,首先获取到设备基础数据。再将实时采集数据发布到MQTT.NET,由订阅该主题的WPF客户端处理业务逻辑。
3、WPF客户端的操作,以指令的方式,下发到MQTT.NET服务器,由订阅该主题的控制台程序下发给下位机执行;WEB端或APP以同样方式访问。
4、仪器之间的访问,即MQTT.NET之间的访问,例如仪器B访问A时,B作为A的客户端,订阅仪器A的相关主题,实现设备之间互联。
基于Monster 组和GPT的调写:
- 设想是可行的,MQTT是一种轻量级的、高效的、可扩展的通信协议,非常适合物联网场景下的设备间通信。下面我就提出的问题逐一给出建议:
- 消息服务器转发层
可用MQTT.NET创建一个消息服务器转发层,它将负责消息的发布和订阅,以及消息的转发。这样,不同的设备就可以通过消息服务器转发层来相互通信了。 - 仪器A的控制台程序
为仪器A创建一个.NET6.0框架的控制台程序是可行的,您可以在该程序中获取设备基础数据,并将实时采集数据发布到MQTT.NET。这样,订阅该主题的WPF客户端就能够处理业务逻辑了。不过,要确保设备A能够与消息服务器转发层进行通信,以便发布和订阅消息。 - WPF客户端、WEB端和APP的操作
对于WPF客户端、WEB端和APP,可以通过向消息服务器转发层发送指令的方式,下发命令到控制台程序,然后由控制台程序下发给下位机执行。同样地,要确保这些客户端能够与消息服务器转发层进行通信。 - 仪器之间的访问
为实现设备之间的互联,可以让仪器B作为仪器A的客户端,订阅仪器A的相关主题。这样,仪器B就可以获取仪器A发布的消息了。同样地,要确保仪器B能够与消息服务器转发层进行通信。
- 总体而言,设想是可行的,但是要注意的是,在实际实现中,要确保各个设备能够互相通信,并且消息传递的稳定性和安全性
不知道你这个问题是否已经解决, 如果还没有解决的话:
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^