基于消息队列遥测传输协议的通信方法、设备及存储介质技术

技术编号:37871852 阅读:8 留言:0更新日期:2023-06-15 21:01
本申请公开了一种基于消息队列遥测传输协议的通信方法、设备及存储介质。该方法包括:向设置有MQTT协议的服务器发送包含设备端标识以及设备端工作状态的第一消息;接收服务器基于MQTT协议发送的第二消息,第二消息是由一个遥控端根据第一消息生成并发送给服务器的,第二消息包含所述一个遥控端的遥控端标识以及设备端标识;若满足则存储遥控端标识并将遥控端标识加入后续发送给服务器的第一消息中。本申请实施例提供的基于消息队列遥测传输协议的通信方法,大大降低了一个设备端同时被多个遥控端控制这一情况的发生概率,支持设备端工作状态获取,降低了遥控端连接不在线设备端这一情况的发生概率,降低了系统通信混乱的发生概率,提高了工作效率。提高了工作效率。提高了工作效率。

【技术实现步骤摘要】
基于消息队列遥测传输协议的通信方法、设备及存储介质


[0001]本申请涉及通信
,具体涉及一种基于消息队列遥测传输协议的通信方法、设备及存储介质。

技术介绍

[0002]在工程机械设备远程遥控领域,在多遥控端、多设备端的应用场景下,遥控端需要在不同设备端之间来回切换连接。在协同作业环境下,会发生两个远程遥控端需要操控同一个设备端的情况(互斥不同时操作,一个操作时,另一个能访问但不能操作)。在相关技术中,经常出现一个设备端同时被多个遥控端控制这一情况,导致系统通信混乱,影响工作效率。

技术实现思路

[0003]本申请的目的是提供一种基于消息队列遥测传输协议的通信方法、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
[0004]根据本申请实施例的第一个方面,提供一种基于消息队列遥测传输协议的通信方法,应用于设备端,所述方法包括:
[0005]向设置有所述MQTT协议的服务器发送包含设备端标识以及设备端工作状态的第一消息,所述设备端预先订阅有由所述服务器预设的第一主题,所述第一消息的主题为由所述服务器预设的第二主题;
[0006]接收所述服务器基于所述MQTT协议发送的第二消息,所述第二消息是由一个遥控端根据所述第一消息生成并发送给所述服务器的,所述第二消息包含所述一个遥控端的遥控端标识以及所述设备端标识,所述第二消息的主题为所述第一主题;
[0007]确定所述遥控端标识是否满足预设条件;
[0008]若满足,则存储所述遥控端标识并将所述遥控端标识加入后续发送给所述服务器的所述第一消息中。
[0009]在本申请的一些实施例中,所述方法还包括:
[0010]周期性地向所述服务器发送加入所述遥控端标识的第一消息,并监测是否在预设时长内接收到所述第二消息。
[0011]在本申请的一些实施例中,所述方法还包括:
[0012]若未在预设时长内接收到所述第二消息,则清除本地存储的所述遥控端标识,从而解除与所述遥控端的通信连接关系。
[0013]在本申请的一些实施例中,所述确定所述遥控端标识是否满足预设条件,包括:
[0014]若所述遥控端标识与预存储遥控端标识一致或者本地无预存储遥控端标识,则确定为满足预设条件;
[0015]否则,确定为不满足所述预设条件。
[0016]根据本申请实施例的第二个方面,提供一种基于消息队列遥测传输MQTT协议的通信方法,应用于遥控端,所述方法包括:
[0017]接收由设备端生成并由服务器基于所述MQTT协议所发送的第一消息,所述第一消息的主题为由所述服务器所预设的第二主题,所述遥控端预先订阅有所述第二主题;
[0018]从所述第一消息中获取设备端标识以及设备端工作状态;
[0019]在所述工作状态为空闲状态的情况下向所述服务器发送包含遥控端标识以及所述设备端标识的第二消息,所述第二消息的主题为由所述服务器所预设的第一主题。
[0020]在本申请的一些实施例中,所述方法还包括:
[0021]在接收到由所述服务器发送的包含所述遥控端标识的第一消息后,向所述服务器发送所述第二消息;所述包含所述遥控端标识的第一消息是由所述设备端生成并由所述服务器发送的。
[0022]根据本申请实施例的第三个方面,提供一种基于消息队列遥测传输MQTT协议的通信方法,应用于设置有所述MQTT协议的服务器,所述方法包括:
[0023]将设备端发送的包含设备端标识以及设备端工作状态的第一消息发送给遥控端,所述设备端预先订阅有由所述服务器预设的第一主题,所述第一消息的主题为由所述服务器预设的第二主题;
[0024]将所述遥控端发送的包含遥控端标识以及所述设备端标识的第二消息发送给所述设备端,所述第二消息的主题为由所述服务器所预设的第一主题;
[0025]将所述设备端发送的加入所述遥控端标识的第一消息发送给所述遥控端。
[0026]在本申请的一些实施例中,所述方法还包括:
[0027]将所述设备端周期性发送的加入所述遥控端标识的第一消息发送给所述遥控端;
[0028]将所述遥控端发送的包含遥控端标识以及所述设备端标识的第二消息发送给所述设备端。
[0029]根据本申请实施例的第四个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序,以实现上述任一项所述的方法。
[0030]根据本申请实施例的第五个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现上述任一项所述的方法。
[0031]根据本申请实施例的第六个方面,提供一种基于消息队列遥测传输MQTT协议的通信系统,包括服务器以及分别与所述服务器通信连接的至少一个设备端和至少一个遥控端,所述设备端用于执行第一个方面所述的方法,所述遥控端用于执行第二个方面所述的方法,所述服务器用于执行第三个方面所述的方法。
[0032]本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
[0033]本申请实施例提供的基于消息队列遥测传输协议的通信方法,大大降低了一个设备端同时被多个遥控端控制这一情况的发生概率,支持设备端工作状态获取,大大降低了遥控端连接不在线设备端这一情况的发生概率,降低了系统通信混乱的发生概率,提高了工作效率。
[0034]本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。
附图说明
[0035]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0036]图1示出了相关技术中订阅与发布的消息模型的原理示意图。
[0037]图2示出了本申请一个实施例的基于消息队列遥测传输MQTT协议的通信方法01的流程图。
[0038]图3示出了本申请一个实施例的基于消息队列遥测传输MQTT协议的通信方法02的流程图。
[0039]图4示出了本申请一个实施例的基于消息队列遥测传输MQTT协议的通信方法03的流程图。
[0040]图5示出了一个具体示例中遥控端展示当前在线设备端配对情况的示意图。
[0041]图6示出了本申请一个实施例的基于消息队列遥测传输MQTT协议的通信系统的结构示意图。
[0042]图7示出了本申请一个示例中的设备端功能流程图。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于消息队列遥测传输MQTT协议的通信方法,其特征在于,应用于设备端,所述方法包括:向设置有所述MQTT协议的服务器发送包含设备端标识以及设备端工作状态的第一消息,所述设备端预先订阅有由所述服务器预设的第一主题,所述第一消息的主题为由所述服务器预设的第二主题;接收所述服务器基于所述MQTT协议发送的第二消息,所述第二消息是由一个遥控端根据所述第一消息生成并发送给所述服务器的,所述第二消息包含所述一个遥控端的遥控端标识以及所述设备端标识,所述第二消息的主题为所述第一主题;确定所述遥控端标识是否满足预设条件;若满足,则存储所述遥控端标识并将所述遥控端标识加入后续发送给所述服务器的所述第一消息中。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:周期性地向所述服务器发送加入所述遥控端标识的第一消息,并监测是否在预设时长内接收到所述第二消息。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:若未在预设时长内接收到所述第二消息,则清除存储的所述遥控端标识,从而解除与所述遥控端的通信连接关系。4.根据权利要求1所述的方法,其特征在于,所述确定所述遥控端标识是否满足预设条件,包括:若所述遥控端标识与预存储遥控端标识一致或者本地无预存储遥控端标识,则确定为满足预设条件;否则,确定为不满足所述预设条件。5.一种基于消息队列遥测传输MQTT协议的通信方法,其特征在于,应用于遥控端,所述方法包括:接收由设备端生成并由服务器基于所述MQTT协议所发送的第一消息,所述第一消息的主题为由所述服务器所预设的第二主题,所述遥控端预先订阅有所述第二主题;从所述第一消息中获取设备端标识以及设备端工作状态;在所述工作状态为空闲状态的情况下向所述服务器发送包含遥控端标识以及所述设备端标识的第二消息,所述第二消息的主题为由所述服务器所预设的第一主题。6.根据权利要...

【专利技术属性】
技术研发人员:卓才华隋少龙张越
申请(专利权)人:北京拓疆者智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1