本发明涉及物联网技术领域,特别是涉及应用于设备通信协议配置化实现方法和系统。
背景技术:
随着5g、大数据和人工智能等新技术的发展,物联网迎来了新的发展机遇。物联网与个人及家庭生活、工业生产不断融合,将为全社会带来深刻的变革。
当前仍处于物联网发展初期阶段,许多终端设备还采用的是旧的技术方案,不具备网络通信能力。而且,对于大部分具备通信能力的终端设备,由于应用场景的不同,往往具备不同的通信协议,云端在和终端设备对接的时候,只能分别与其进行适配,针对不同的设备终端制定相应的对接方案,工作量较大且可复用性差。
技术实现要素:
基于此,有必要针对云端和终端设备对接时由于终端设备的差异导致工作量大且可复用性差的问题,提供一种设备通信协议配置化实现方法和系统。
一种设备通信协议配置化实现系统,其特征在于,包括:设备能力配置数据库、协议库编解码组件及云端适配器;
设备能力配置数据库用于配置和记录设备的指令报文;
协议库编解码组件与设备能力配置数据库及云端适配器连接,用于将设备能力配置数据库下发的报文直接下发至云端适配器,或将设备能力配置数据库下发的报文解析封装后下发至云端适配器;并将云端适配器上传的报文解析封装后发送给所述设备能力配置数据库;
云端适配器与协议库编解码组件及设备连接,用于将协议库编解码组件下发的报文发送给设备,或将设备上传的报文传递给协议库编解码组件进行处理。
上述设备通信协议配置化实现系统,利用设备能力配置数据库将设备的各种功能存储为多个能力配置项,在报文下发阶段,只需将特定能力配置项对应的指令报文通过云端适配器下发至设备即可,方便快捷。并且,在指令报文格式与设备可识别的报文格式不一致的时候,可以通过协议库编解码组件对报文进行解析与封装,将指令报文配置成设备可识别的报文格式。此外,在报文上传阶段,协议库编解码组件也可将报文解析封装后与预存的指令报文进行适配,以快速识别报文,进行后续操作。本申请通过配置化的协议实现方式以及支持热部署的可插拔的云端的协议库方案,可实现设备与云端的协议快速对接与接入,减小了设备接入云端时的工作量,提高了可复用性。
在其中一个实施例中,指令报文包括:设备id和设备能力配置信息。
在其中一个实施例中,所述设备能力配置数据库还用于将新接收到的指令报文与已有的指令报文进行匹配,识别所述新接收到的指令报文的含义;以及在所述新接收到的指令报文无法找到匹配项时,将所述新接收到的指令报文添加到所述设备能力配置数据库。
在其中一个实施例中,所述协议库编解码组件将所述设备能力配置数据库下发的报文解析封装为所述设备可识别的格式。
在其中一个实施例中,上述实施例中的设备通信协议配置化实现系统还包括通信组件,安装于所述设备上,用于将所述设备与所述云端适配器的协议对接。
在其中一个实施例中,通信组件与所述设备之间的通信方式包括:串口通信。
一种基于上述任一实施例中的设备通信协议配置化实现系统的设备通信协议配置化实现方法,包括:获取设备报文;使用所述协议库编解码组件对所述设备报文进行解析与封装,以得到指令报文,所述指令报文包括:设备id和设备能力配置信息;使用所述协议库编解码组件将所述指令报文与现有的指令报文进行匹配,若未匹配到相同的指令报文,则所述设备能力配置数据库将所述指令报文存储为新的能力配置项。
在其中一个实施例中,如果所述设备报文与所述指令报文具有不同的格式,则将所述设备报文封装成所述指令报文的格式;如果所述设备报文与所述指令报文具有相同的格式,则直接将所述设备报文存储为新的能力配置项。
一种基于上述任一实施例中的设备通信协议配置化实现系统的设备通信协议配置化实现方法,包括:从所述设备能力配置数据库调取需要下发的能力配置项;使用所述协议库编解码组件将所述能力配置项中的指令报文封装成所述设备可以识别的报文格式;将封装后的指令报文下发给所述设备。
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一个方法实施例中的方法的步骤。
附图说明
图1为一实施例中设备通信协议配置化实现系统与设备连接的示意图;
图2为另一实施例中设备通信协议配置化实现系统与设备连接的示意图;
图3为一实施例中设备通信协议配置化实现方法的流程图;
图4为另一实施例中设备通信协议配置化实现方法的流程图。
附图标注说明:101、设备能力配置数据库;102、协议库编解码组件;103、云端适配器;104、通信组件。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在描述位置关系时,除非另有规定,否则当一元件例如层、膜或基板被指为在另一膜层“上”时,其能直接在其他膜层上或亦可存在中间膜层。进一步说,当层被指为在另一层“下”时,其可直接在下方,亦可存在一或多个中间层。亦可以理解的是,当层被指为在两层“之间”时,其可为两层之间的唯一层,或亦可存在一或多个中间层。
在使用本文中描述的“包括”、“具有”、和“包含”的情况下,除非使用了明确的限定用语,例如“仅”、“由……组成”等,否则还可以添加另一部件。除非相反地提及,否则单数形式的术语可以包括复数形式,并不能理解为其数量为一个。
在一个示例中,如图1所示,提供了一种设备通信协议配置化实现系统,包括:设备能力配置数据库101、协议库编解码组件102及云端适配器103,该系统与设备通过网络无线连接。其中,所述设备能力配置数据库101用于配置和记录设备的指令报文;所述协议库编解码组件102与所述设备能力配置数据库101及所述云端适配器103连接,用于将所述设备能力配置数据库101下发的报文直接下发至所述云端适配器103,或将所述设备能力配置数据库101下发的报文解析封装后下发至所述云端适配器103;并将所述云端适配器103上传的报文解析封装后与所述设备能力配置数据库101中记录的所述指令报文进行匹配;所述云端适配器103与所述协议库编解码组件102及所述设备连接,用于将所述协议库编解码组件102下发的报文发送给设备,或将所述设备上传的报文传递给所述协议库编解码组件102进行处理。
设备能力配置数据库101用于配置和记录设备的指令报文。其中,每一条指令报文对应于一个设备的一项功能。通过将已经连入云端的设备的各项功能进行记录,并配置为统一格式指令报文,便于快速准确地调用指令报文。可选的,指令报文包括:设备id和设备能力配置信息。可选的,指令报文还可以包括各项功能的中文名称以及每条设备能力配置信息的序号。为了更直观地理解设备能力配置数据库101,示例性的,以洗衣机为例,设备能力配置数据库101中的报文格式如表1所示:
表1
其中,id栏记录了指令报文的序号;name栏记录了设备具体的功能名称;device_type_id为设备id,比如,洗衣机的device_type_id可以记录为1,空调的device_type_id可以记录为2;cmd_args栏记录了能力配置参数,不同的能力配置参数代表了设备所要执行的不同功能。需要注意的是,上述表格中的指令报文格式不能理解为对本申请的范围的限制,本领域技术人员可以根据实际情况设计不同报文格式,本申请对此不做限定。
协议库编解码组件102分别与设备能力配置数据库101及云端适配器103连接。当从云端下发报文给设备,如果设备可以识别设备能力配置数据库101中指令报文的格式,则协议库编解码组件102可将报文直接发送至云端适配器103,由云端适配器103进一步发送至设备,无需对指令报文进行封装处理。如果设备无法识别上述指令报文的格式,则由协议库编解码组件102将指令报文封装成设备可以识别的格式,再将其发送至云端适配器103,由云端适配器103进一步发送至设备。
当设备向云端上传报文,如果协议库编码组件在接收到报文后,经过解析发现该报文与指令报文的格式一致,则无需进行封装处理,直接将报文发送至设备能力配置数据库101。如果协议库编码组件接收到设备的报文后,经过解析发现该报文与指令报文的格式不一致,则先由协议库编码组件对报文进行封装处理,将其调整成与指令报文一致的格式,然后再将其发送至设备能力配置数据库101。设备能力配置数据库101对设备上传的报文进行处理,并将获取的信息发送到系统后台进行响应。
云端适配器103分别与协议库编解码组件102和设备连接,其作为设备通信协议配置化实现系统的接收端与发送端,可以将协议库编解码组件102下发的报文发送给设备,或者将设备上传的报文传递给协议库编解码组件102进行处理。可选的,云端适配器103与设备之间可以采用物联网设备标准的通信协议,例如mqtt(messagequeuingtelemetrytransport,消息队列遥测传输协议)。通过采用标准的物联网通信协议,云端适配器103的通用性得以大大增强。当然,用户也可以根据实际情况选用其他合适的通信协议,以满足不同的需求。此外,本实施例中的设备可以理解为广义的物联网设备,既可以是已经具备网络通信能力的设备,也可以是经过一定的改装后具备网络通信能力的设备。
上述设备通信协议配置化实现系统,利用设备能力配置数据库101将设备的各种功能存储为多个能力配置项,在报文下发阶段,只需将特定能力配置项对应的指令报文通过云端适配器103下发至设备即可,方便快捷。并且,在指令报文格式与设备可识别的报文格式不一致的时候,可以通过协议库编解码组件102对报文进行解析与封装,将指令报文配置成设备可识别的报文格式。此外,在报文上传阶段,协议库编解码组件102也可将报文解析封装后与预存的指令报文进行适配,以快速识别报文,进行后续操作。本申请通过配置化的协议实现方式以及支持热部署的可插拔的云端的协议库方案,可实现设备与云端的协议快速对接与接入,减小了设备接入云端时的工作量,提高了可复用性。
在一个示例中,设备能力配置数据库101还用于将新接收到的指令报文与已有的指令报文进行匹配,识别新接收到的指令报文的含义;以及在新接收到的指令报文无法找到匹配项时,将所述新接收到的指令报文添加到设备能力配置数据库101中。
具体的,设备上传的报文经过协议库编解码组件102的解析封装处理后,格式与指令报文的格式一致,可以当作新接收到的指令报文。设备能力配置数据库101将新接收的指令报文与已有的指令报文进行匹配,如果匹配成功,说明该指令报文已经记录在设备能力配置数据库101中,可以直接读取出报文含义,并发送至系统后台进行响应,执行下一步处理。当设备上发的报文在经过解析封装后并不能从已有的设备能力配置数据库101中匹配到对应的指令报文,说明有新的设备接入云端,或者是原有的设备增加了新的功能。此时,只需将新接收到的指令报文添加到设备能力配置数据库101中,即可在下次再次接收到相同的指令报文时,快速识别并通知后台进行相应。示例性的,还是以洗衣机为例,当洗衣机添加了一项新的功能“桶自洁”(id为5),并向云端发送报文后,经过协议库编解码组件102对该报文的处理,可将新得到的指令报文添加到设备能力配置数据库101中。如表2所示:
表2
本实施例中的设备通信协议配置化实现系统,可以将设备上传的报文转化成指令报文的格式并进行快速识别,如果无法识别,则将其作为新的指令报文存储在设备能力配置数据库101中,等到再次接收到该报文时,进行快速识别。并且,通过不断的存储新的指令报文到设备能力配置数据库101中,越来越多的设备可以接入云端,并且在完成一次适配之后,云端即可记录该设备及其功能对应的指令报文,便于快速调用,提高了可复用性。并且,设备在与云端断开连接后,由于云端已经存储了该设备的能力配置信息,再次连接时可以大大减少协议适配的工作量,提高连接效率。
在一个示例中,如图2所示,在图1所示实施例的基础上,本申请中的设备通信协议配置化实现系统还包括通信组件104。通信组件104安装于设备上,用于为不具备网络通信能力的设备提供网络通信能力,例如4g或5g网络通信能力。通信组件104通过与云端适配器103的协议对接,可实现报文在设备与云端之间的传输。此外,通信组件104还用于将接收到的报文传输给设备,由设备的任务处理模块对接收到的报文进行解析,并控制设备做出响应。示例性的,通信组件104通过串口通信实现与设备之间的报文传输。通过添加通信组件104,可以将一些原本没有网络通信能力的设备接入云端,扩大可连接物联网的设备的种类和数量。
在一个示例中,如图3所示,本申请公开了一种设备通信协议配置化实现方法,该方法基于上述任一实施例中的设备通信协议配置化实现系统,具体的,该方法包括:
s11:获取设备报文;
s12:使用所述协议库编解码组件102对所述设备报文进行解析与封装,以得到指令报文,所述指令报文包括:设备id和设备能力配置信息;
s13:将所述指令报文与现有的指令报文进行匹配,若未匹配到相同的指令报文,则所述设备能力配置数据库101将所述指令报文存储为新的能力配置项。
在步骤s11中,示例性的,设备报文首先通过串口通信的方式传输到通信组件104,然后由通信组件104通过网络将设备报文传输给云端适配器103。为了提高通信组件104与云端适配器103之间的通用性,通信组件104与云端适配器103之间采用物联网设备标准的通信协议,例如mqtt。通信组件104只需将需要上传的报文封装成云端适配器103可以识别的报文格式即可,而无需考虑设备能力配置数据库101是否可以识别,这大大降低了云端与设备之间报文的传输成本。因为设备能力配置数据库101中只能识别和存储一种格式的报文,而云端适配器103可以设置为可识别不同设备的多种报文格式。
在步骤s12中,协议库编解码组件102通过对设备的报文的解析与封装,得到指令报文。对于接收到的报文,协议库编解码组件102的任务就是将其转化成设备能力配置数据库101可以识别的指令报文的格式。可选的,指令报文包括:设备id和设备能力配置信息。可选的,指令报文还可以包括各项功能的中文名称以及每条设备能力配置信息的序号。用户也可以根据自己需求在指令报文中设置其他参数。
在步骤s13中,协议库编解码组件102将处理得到的指令报文发送到设备能力配置数据库101,由设备能力配置数据库101对该指令报文进行下一步处理。具体的,当设备能力配置数据库101无法在现有的指令报文中找到与新收到的指令报文相同的匹配项,则将新的指令报文添加到设备能力配置数据库101中,作为新的能力配置项,并将该指令报文对应的能力信息发送给后台,以启动后续操作。如果可以在现有的指令报文中找到与新收到的指令报文相同的匹配项,则设备能力配置数据库101直接将该指令报文对应的能力信息发送给系统后台由后台进行响应,执行后续操作。
本实施例中的设备通信协议配置化实现方法,可以在云端未存储当前设备的能力配置项时,即时存储相应的指令报文,并针对该指令报文执行后台的响应。当同样的设备报文再次上传到云端时,系统后台可以快速识别并做出反应,提高了设备接入云端时协议适配的可复用性,降低了工作量,提高了连接效率。
在一个示例中,在上述实施例的基础上,该设备通信协议配置化实现方法包括:如果所述设备报文与所述指令报文具有不同的格式,则将所述设备报文封装成所述指令报文的格式;如果所述设备报文与所述指令报文具有相同的格式,则直接将所述设备报文存储为新的能力配置项。
具体的,所述指令报文具有固定的格式,设备报文的格式可能与该固定格式相同,也可能不同。当协议库接收到一个新的设备报文时,首先会对其进行解析,得到当前设备报文的格式信息和具体的内容信息。如果设备报文的格式与上述固定格式不同,则协议库编解码组件102将该设备报文里的内容信息封装成与上述固定格式相同的格式。如果经过解析发现设备报文的格式与上述固定格式相同,则直接将该设备报文发送给设备能力配置数据库101进行后续操作。
本实施例中的设备通信协议配置化实现方法,通过将对设备报文的解析,在获取设备报文的格式信息和内容信息后,将无需封装的报文直接发送给设备能力配置数据库101,提高了报文处理速度。并且,通过将设备报文的格式统一化处理,便于存储和查找,并且,在设备接入云端后,统一化的指令报文格式也有利于提高调用各种能力配置项时的系统响应速度。
在一个示例中,如图4所示,本申请还公开了一种设备通信协议配置化实现方法,该方法基于上述任一实施例中的设备通信协议配置化实现系统,具体的,该方法包括:
s21:从所述设备能力配置数据库101调取需要下发的能力配置项;
s22:使用所述协议库编解码组件102将所述能力配置项中的指令报文封装成所述设备可以识别的报文格式;
s23:将封装后的指令报文下发给所述设备。
在步骤s21中,一般的,设备能力配置数据库101中存储有已经接入云端的设备的能力配置项,当后台发来操作指令,需要唤醒某设备的某项功能时,设备能力配置数据库101选中相应的能力配置项对应的指令报文,并将其发送给协议编解码组件。
在步骤s22中,协议库编解码组件102将接收到的指令报文封装成目标设备可以识别的报文格式。由于设备在接入云端的时候已经通过协议编解码组件进行过解析与封装的操作,所以协议库编解码组件102中存储各个设备可以识别的报文格式。在执行报文下发的命令时,只需将指令报文封装成目标设备可以识别的报文格式即可。
在步骤s23中,经过封装的指令报文经由云端适配器103,通过网络传输给目标设备。云端适配器103与目标设备之间可以采用物联网设备标准的通信协议(比如mqtt),以提高通用性。
在一个示例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现图3至图4中任一实施例中的方法的步骤。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
1.一种设备通信协议配置化实现系统,其特征在于,包括:设备能力配置数据库、协议库编解码组件及云端适配器;
所述设备能力配置数据库用于配置和记录设备的指令报文;
所述协议库编解码组件分别与所述设备能力配置数据库及所述云端适配器连接,用于将所述设备能力配置数据库下发的报文直接下发至所述云端适配器,或将所述设备能力配置数据库下发的报文解析封装后下发至所述云端适配器;并将所述云端适配器上传的报文解析封装后发送给所述设备能力配置数据库;
所述云端适配器分别与所述协议库编解码组件及所述设备连接,用于将所述协议库编解码组件下发的报文发送给设备,或将所述设备上传的报文传递给所述协议库编解码组件进行处理。
2.根据权利要求1所述的设备通信协议配置化实现系统,其特征在于,所述指令报文包括:设备id和设备能力配置信息。
3.根据权利要求1所述的设备通信协议配置化实现系统,其特征在于,所述设备能力配置数据库还用于将新接收到的指令报文与已有的指令报文进行匹配,识别所述新接收到的指令报文的含义;以及在所述新接收到的指令报文无法找到匹配项时,将所述新接收到的指令报文添加到所述设备能力配置数据库。
4.根据权利要求1所述的设备通信协议配置化实现系统,其特征在于,所述协议库编解码组件将所述设备能力配置数据库下发的报文解析封装为所述设备可识别的格式。
5.根据权利要求1所述的设备通信协议配置化实现系统,其特征在于,还包括:
通信组件,安装于所述设备上,用于将所述设备与所述云端适配器的协议对接。
6.根据权利要求5所述的设备通信协议配置化实现系统,其特征在于,所述通信组件与所述设备之间的通信方式包括:串口通信。
7.一种基于如权利要求1至6中任一项所述的设备通信协议配置化实现系统的设备通信协议配置化实现方法,其特征在于,包括:
获取设备报文;
使用所述协议库编解码组件对所述设备报文进行解析与封装,以得到指令报文,所述指令报文包括:设备id和设备能力配置信息;
使用所述协议库编解码组件将所述指令报文与现有的指令报文进行匹配,若未匹配到相同的指令报文,则所述设备能力配置数据库将所述指令报文存储为新的能力配置项。
8.根据权利要求7所述的设备通信协议配置化实现方法,其特征在于,如果所述设备报文与所述指令报文具有不同的格式,则将所述设备报文封装成所述指令报文的格式;如果所述设备报文与所述指令报文具有相同的格式,则直接将所述设备报文存储为新的能力配置项。
9.一种基于如权利要求1至6中任一项所述的设备通信协议配置化实现系统的设备通信协议配置化实现方法,其特征在于,包括:
从所述设备能力配置数据库调取需要下发的能力配置项;
使用所述协议库编解码组件将所述能力配置项中的指令报文封装成所述设备可以识别的报文格式;
将封装后的指令报文下发给所述设备。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7至9中任一项的方法的步骤。
技术总结