stevenjin 2023-04-16 09:39 采纳率: 98.2%
浏览 29
已结题

请教mqtt物联方案

一.生产现场有仪器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的相关主题,实现设备之间互联。

  • 写回答

2条回答 默认 最新

  • 社区专家-Monster-XH 2023-04-16 10:03
    关注

    基于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能够与消息服务器转发层进行通信。
    • 总体而言,设想是可行的,但是要注意的是,在实际实现中,要确保各个设备能够互相通信,并且消息传递的稳定性和安全性
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月16日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么