本申请涉及通信,具体涉及一种基于消息队列遥测传输协议的通信方法、设备及存储介质。
背景技术:
1、在工程机械设备远程遥控领域,在多遥控端、多设备端的应用场景下,遥控端需要在不同设备端之间来回切换连接。在协同作业环境下,会发生两个远程遥控端需要操控同一个设备端的情况(互斥不同时操作,一个操作时,另一个能访问但不能操作)。在相关技术中,经常出现一个设备端同时被多个遥控端控制这一情况,导致系统通信混乱,影响工作效率。
技术实现思路
1、本申请的目的是提供一种基于消息队列遥测传输协议的通信方法、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
2、根据本申请实施例的第一个方面,提供一种基于消息队列遥测传输协议的通信方法,应用于设备端,所述方法包括:
3、向设置有所述mqtt协议的服务器发送包含设备端标识以及设备端工作状态的第一消息,所述设备端预先订阅有由所述服务器预设的第一主题,所述第一消息的主题为由所述服务器预设的第二主题;
4、接收所述服务器基于所述mqtt协议发送的第二消息,所述第二消息是由一个遥控端根据所述第一消息生成并发送给所述服务器的,所述第二消息包含所述一个遥控端的遥控端标识以及所述设备端标识,所述第二消息的主题为所述第一主题;
5、确定所述遥控端标识是否满足预设条件;
6、若满足,则存储所述遥控端标识并将所述遥控端标识加入后续发送给所述服务器的所述第一消息中。
7、在本申请的一些实施例中,所述方法还包括:
8、周期性地向所述服务器发送加入所述遥控端标识的第一消息,并监测是否在预设时长内接收到所述第二消息。
9、在本申请的一些实施例中,所述方法还包括:
10、若未在预设时长内接收到所述第二消息,则清除本地存储的所述遥控端标识,从而解除与所述遥控端的通信连接关系。
11、在本申请的一些实施例中,所述确定所述遥控端标识是否满足预设条件,包括:
12、若所述遥控端标识与预存储遥控端标识一致或者本地无预存储遥控端标识,则确定为满足预设条件;
13、否则,确定为不满足所述预设条件。
14、根据本申请实施例的第二个方面,提供一种基于消息队列遥测传输mqtt协议的通信方法,应用于遥控端,所述方法包括:
15、接收由设备端生成并由服务器基于所述mqtt协议所发送的第一消息,所述第一消息的主题为由所述服务器所预设的第二主题,所述遥控端预先订阅有所述第二主题;
16、从所述第一消息中获取设备端标识以及设备端工作状态;
17、在所述工作状态为空闲状态的情况下向所述服务器发送包含遥控端标识以及所述设备端标识的第二消息,所述第二消息的主题为由所述服务器所预设的第一主题。
18、在本申请的一些实施例中,所述方法还包括:
19、在接收到由所述服务器发送的包含所述遥控端标识的第一消息后,向所述服务器发送所述第二消息;所述包含所述遥控端标识的第一消息是由所述设备端生成并由所述服务器发送的。
20、根据本申请实施例的第三个方面,提供一种基于消息队列遥测传输mqtt协议的通信方法,应用于设置有所述mqtt协议的服务器,所述方法包括:
21、将设备端发送的包含设备端标识以及设备端工作状态的第一消息发送给遥控端,所述设备端预先订阅有由所述服务器预设的第一主题,所述第一消息的主题为由所述服务器预设的第二主题;
22、将所述遥控端发送的包含遥控端标识以及所述设备端标识的第二消息发送给所述设备端,所述第二消息的主题为由所述服务器所预设的第一主题;
23、将所述设备端发送的加入所述遥控端标识的第一消息发送给所述遥控端。
24、在本申请的一些实施例中,所述方法还包括:
25、将所述设备端周期性发送的加入所述遥控端标识的第一消息发送给所述遥控端;
26、将所述遥控端发送的包含遥控端标识以及所述设备端标识的第二消息发送给所述设备端。
27、根据本申请实施例的第四个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现上述任一项所述的方法。
28、根据本申请实施例的第五个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现上述任一项所述的方法。
29、根据本申请实施例的第六个方面,提供一种基于消息队列遥测传输mqtt协议的通信系统,包括服务器以及分别与所述服务器通信连接的至少一个设备端和至少一个遥控端,所述设备端用于执行第一个方面所述的方法,所述遥控端用于执行第二个方面所述的方法,所述服务器用于执行第三个方面所述的方法。
30、本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
31、本申请实施例提供的基于消息队列遥测传输协议的通信方法,大大降低了一个设备端同时被多个遥控端控制这一情况的发生概率,支持设备端工作状态获取,大大降低了遥控端连接不在线设备端这一情况的发生概率,降低了系统通信混乱的发生概率,提高了工作效率。
32、本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。
1.一种基于消息队列遥测传输mqtt协议的通信方法,其特征在于,应用于设备端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述确定所述遥控端标识是否满足预设条件,包括:
5.一种基于消息队列遥测传输mqtt协议的通信方法,其特征在于,应用于遥控端,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种基于消息队列遥测传输mqtt协议的通信方法,其特征在于,应用于设置有所述mqtt协议的服务器,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现如权利要求1-8中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行,以实现如权利要求1-8中任一所述的方法。
11.一种基于消息队列遥测传输mqtt协议的通信系统,包括服务器以及分别与所述服务器通信连接的至少一个设备端和至少一个遥控端,所述设备端用于执行权利要求1-4任一项所述的方法,所述遥控端用于执行权利要求5或6任一项所述的方法,所述服务器用于执行权利要求7或8所述的方法。