技术新讯 > 电子通信装置的制造及其应用技术 > 一种基于MQTT协议的组网方法及相关装置与流程  >  正文

一种基于MQTT协议的组网方法及相关装置与流程

  • 国知局
  • 2024-10-09 15:26:51

本技术涉及通信,尤其涉及一种基于mqtt协议的组网方法及相关装置。

背景技术:

1、在现有的光伏跟踪系统中,各设备之间通常基于iec104(iec 60870-5-104)协议进行通信,iec104协议是一种广泛应用于电力系统中的通信协议,主要用于远程控制和监控。然而,尽管iec104协议在特定应用场景中表现良好,但在将其应用光伏跟踪系统中却存在传输效率低且可靠性较低的问题。

技术实现思路

1、有鉴于此,本技术实施例提供了一种基于mqtt协议的组网方法及相关装置。

2、第一方面,本技术实施例提供了一种基于mqtt协议的组网方法,应用于客户端,该方法包括:

3、获取云端服务器的第一地址和第一端口号,并获取本地服务器的第二地址和第二端口号;

4、根据所述第一地址和所述第一端口号创建第一网络套接字,并根据所述第二地址和所述第二端口号创建第二网络套接字;所述第一网络套接字用于与站端服务器通信,所述第二网络套接字用于与本地服务器通信;

5、基于所述第一网络套接字与所述云端服务器建立消息队列遥测传输mqtt连接,并基于所述第二网络套接字与所述站端服务器建立mqtt连接。

6、在一种可能的实现方式中,所述基于所述第一网络套接字与所述云端服务器建立消息队列遥测传输mqtt连接,包括:

7、基于所述第一网络套接字与所述云端服务器建立传输控制协议tcp连接;

8、基于tcp协议将第一验证信息发送给所述云端服务器建立mqtt连接;所述第一验证信息包括客户端标识、第一用户名和所述第一用户名对应的密码;

9、所述基于所述第二网络套接字与所述站端服务器建立mqtt连接,包括:

10、基于所述第二网络套接字与所述本地服务器建立tcp连接;

11、基于tcp协议将第二验证信息发送给所述本地服务器建立mqtt连接;所述第二验证信息包括客户端标识、第二用户名和所述第二用户名对应的密码。

12、在一种可能的实现方式中,所述方法还包括:

13、获取与所述客户端通信连接的多个子客户端的运行数据;

14、将多个所述运行数据基于mqtt协议同步发送给所述云端服务器和所述本地服务器。

15、在一种可能的实现方式中,所述本地服务器与所述云端服务器通信连接,所述方法还包括:

16、若所述客户端与所述云端服务器的mqtt连接断开,利用所述本地客户端将多个所述运行数据同步给所述云端服务器;

17、或者,

18、若所述客户端与所述本地服务器的mqtt连接断开,利用所述远端客户端将多个所述运行数据同步给所述本地服务器。

19、在一种可能的实现方式中,所述将多个所述运行数据基于mqtt协议同步发送给所述云端服务器和所述本地服务器,包括:

20、将多个所述运行数据加密封装为mqtt消息;

21、向所述云端服务器和所述本地服务器发布所述mqtt消息。

22、在一种可能的实现方式中,所述方法还包括:

23、接收所述云端服务器或所述本地服务器发布的控制指令;所述控制指令是基于多个所述运行数据生成的;

24、将所述控制指令广播给多个所述子客户端。

25、在一种可能的实现方式中,所述客户端为光伏跟踪系统总控制箱,所述子客户端为光伏跟踪系统控制箱;所述光伏跟踪系统控制箱用于采集光伏跟踪支架的运行数据,并用于控制所述光伏跟踪支架。

26、第二方面,本技术实施例提供了一种基于mqtt协议的组网装置,应用于客户端,所述装置包括:

27、获取模块,用于获取云端服务器的第一地址和第一端口号,并用于获取本地服务器的第二地址和第二端口号;

28、创建模块,用于根据所述第一地址和所述第一端口号创建第一网络套接字,并用于根据所述第二地址和所述第二端口号创建第二网络套接字;所述第一网络套接字用于与站端服务器通信,所述第二网络套接字用于与本地服务器通信;

29、连接模块,用于基于所述第一网络套接字与所述云端服务器建立消息队列遥测传输mqtt连接,并用于基于所述第二网络套接字与所述站端服务器建立mqtt连接。

30、在一种可能的实现方式中,所述连接模块具体用于:

31、基于所述第一网络套接字与所述云端服务器建立传输控制协议tcp连接;

32、基于tcp协议将第一验证信息发送给所述云端服务器建立mqtt连接;所述第一验证信息包括客户端标识、第一用户名和所述第一用户名对应的密码;

33、所述连接模块具体用于包括:

34、基于所述第二网络套接字与所述本地服务器建立tcp连接;

35、基于tcp协议将第二验证信息发送给所述本地服务器建立mqtt连接;所述第二验证信息包括客户端标识、第二用户名和所述第二用户名对应的密码。

36、在一种可能的实现方式中,所述获取模块还用于:

37、获取与所述客户端通信连接的多个子客户端的运行数据;将多个所述运行数据基于mqtt协议同步发送给所述云端服务器和所述本地服务器。

38、在一种可能的实现方式中,所述本地服务器与所述云端服务器通信连接,所述装置还包括:

39、同步模块,用于若所述客户端与所述云端服务器的mqtt连接断开,利用所述本地客户端将多个所述运行数据同步给所述云端服务器;

40、或者,

41、若所述客户端与所述本地服务器的mqtt连接断开,利用所述远端客户端将多个所述运行数据同步给所述本地服务器。

42、在一种可能的实现方式中,所述获取模块具体用于:

43、将多个所述运行数据加密封装为mqtt消息;

44、向所述云端服务器和所述本地服务器发布所述mqtt消息。

45、在一种可能的实现方式中,所述获取模块还用于:

46、接收所述云端服务器或所述本地服务器发布的控制指令;所述控制指令是基于多个所述运行数据生成的;

47、将所述控制指令广播给多个所述子客户端。

48、在一种可能的实现方式中,所述客户端为光伏跟踪系统总控制箱,所述子客户端为光伏跟踪系统控制箱;所述光伏跟踪系统控制箱用于采集光伏跟踪支架的运行数据,并用于控制所述光伏跟踪支架。

49、第三方面,本技术实施例提供了一种设备,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行前述第一方面中任一项所述的基于mqtt协议的组网方法。

50、第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现前述第一方面中任一项所述的基于mqtt协议的组网方法。

51、本技术实施例提供了一种基于mqtt协议的组网方法及相关装置。在执行所述方法时,先获取云端服务器和本地服务器各自的地址和端口号;然后,针对云端服务器和本地服务器分别创建网络套接字;最后,基于网络套接字分别与云端服务器和本地服务器创建mqtt连接,以实现客户端与本地服务器以及远端服务器之间进行高效且高可靠的数据传输。mqtt采用发布/订阅模型,客户端可以发布数据到一个主题,订阅该主题的本地服务器和远端服务器都可以接收到数据。这种模型比传统的请求/响应模型更高效,特别适用于需要频繁数据更新的场景,如光伏跟踪系统。并且,mqtt协议头非常小,数据包的开销极低,适合带宽受限的环境,可以在低带宽环境下高效传输大量数据。另外,mqtt支持持久会话功能,即使在客户端与云端服务器和本地服务器断开连接后,消息仍会被存储,直到客户端与云端服务器和本地服务器重新连接,继续进行对存储的消息进行传输,确保信息不会遗失,提高数据传输的可靠性。

本文地址:https://www.jishuxx.com/zhuanli/20241009/308778.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。