一种多协议通信方法及装置制造方法及图纸

技术编号:18623441 阅读:27 留言:0更新日期:2018-08-08 01:34
本发明专利技术提供一种多协议通信方法及装置,所述方法包括:获取设备触发事件;基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。本发明专利技术提供的多协议通信方法及装置,通过伪终端技术将一路物理串口根据支持的不同协议虚拟出相同数量的虚拟串口,不同的协议进程通过虚拟串口进行读写操作,就像操作真实的物理串口一样,无需额外提供接口,避免不必要的依赖,并且提高了进程代码的可移植性。

A multi protocol communication method and device

The invention provides a multi protocol communication method and device. The method includes: obtaining a device trigger event, triggering events based on the device, obtaining the target protocol data, and sending the target protocol data. The multi protocol communication method and device provided by the invention provides the virtual serial port based on the different protocols supported by the pseudo terminal technology, and the different protocol processes read and write through the virtual serial port. It is like operating a real physical serial port, without the need to provide an additional interface. Necessary dependencies and improved portability of process code.

【技术实现步骤摘要】
一种多协议通信方法及装置
本专利技术涉及计算机
,尤其涉及一种多协议通信方法及装置。
技术介绍
行驶记录仪按照国标的要求提供一路对外的物理串口,串口通讯协议采用GB19056-2012标准协议,随着产品集成越来越多的其他标准的功能,要求该对外的物理串口能自适应支持不同标准的串口协议,从而避免为每种协议增加一路物理串口,同时根据模块化的软件设计原则设计,可能会将不同协议的处理划分为不同的进程,但多进程不能同时操作一个串口设备。现有技术中的做法是采用一个串口通信代理服务,负责消息的转发,来实现多个进程同时操作一个串口设备。现有技术中的方法会构成依赖,且不利于移植。
技术实现思路
(一)要解决的技术问题本专利技术的目的是提供一种多协议通信方法,解决了现有技术中的通信方法依赖性强,进程代码可移植性差的技术问题。(二)技术方案为了解决上述技术问题,一方面,本专利技术提供一种多协议通信方法,包括:获取设备触发事件;基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。进一步地,所述获取设备触发事件之前,还包括:获取多个协议解析插件;创建每个协议解析插件对应的虚拟串口。进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:若判断获知所述设备触发事件是由物理串口触发,则通过所述物理串口获取目标协议数据;遍历获取到的每个协议解析插件;根据遍历到的协议解析插件X对所述目标协议数据进行解析;将解析后的目标协议数据发送到所述协议解析插件X对应的虚拟串口。进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:若判断获知所述设备触发事件是由虚拟串口触发,则通过所述虚拟串口获取目标协议数据;将所述目标协议数据发送到物理串口。另一方面,本专利技术提供一种多协议通信装置,包括:获取模块,用于获取设备触发事件;数据处理模块,用于基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。再一方面,本专利技术提供一种用于多协议通信的电子设备,包括:存储器和处理器,所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。又一方面,本专利技术提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述的方法。又一方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。(三)有益效果本专利技术提供的多协议通信方法及装置,通过伪终端技术将一路物理串口根据支持的不同协议虚拟出相同数量的虚拟串口,不同的协议进程通过虚拟串口进行读写操作,就像操作真实的物理串口一样,无需额外提供接口,避免不必要的依赖,并且对虚拟串口操作进程屏蔽了硬件细节,只需要通过系统接口操作系统设备,无需关心操作的串口是虚拟串口的还是物理串口,以及根本不知道系统中存在一个串口多路复用服务进程,如果将来新版硬件专门为操作进程增加一个物理串口,也无需修改进程代码,提高了进程代码的可移植性。附图说明图1为依照本专利技术实施例的多协议通信方法示意图;图2为依照本专利技术实施例的多协议通信方法的逻辑流程图;图3为依照本专利技术实施例的多协议通信装置示意图;图4为本专利技术实施例提供的用于多协议通信的电子设备的结构示意图。具体实施方式为了使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1:图1为依照本专利技术实施例的多协议通信方法示意图,如图1所示,本专利技术实施例提供一种多协议通信方法,包括:步骤S10、获取设备触发事件;步骤S20、基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。进一步地,所述获取设备触发事件之前,还包括:获取多个协议解析插件;创建每个协议解析插件对应的虚拟串口。进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述标协议数据,具体为:若判断获知所述设备触发事件是由物理串口触发,则通过所述物理串口获取目标协议数据;遍历获取到的每个协议解析插件;根据遍历到的协议解析插件X对所述目标协议数据进行解析;将解析后的目标协议数据发送到所述协议解析插件X对应的虚拟串口。进一步地,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:若判断获知所述设备触发事件是由虚拟串口触发,则通过所述虚拟串口获取目标协议数据;将所述目标协议数据发送到物理串口。具体的,图2为依照本专利技术实施例的多协议通信方法的逻辑流程图,如图2所示,首先,启动服务进程,该服务进程为ttyMuxd进程,是一种后台服务进程,是唯一操作物理串口的进程,负责物理串口数据到虚拟串口的数据路由,以及收集虚拟串口数据转发到物理串口。虚拟串口是系统提供的逻辑设备,无实际物理串口关联,由master和slave两部分组成,创建后在系统设备目录会出现一对master、slave设备,对master进行的写操作,数据会进入slave的输入队列,反之亦然。协议解析插件,是一个针对特定协议进行解析的组件,被服务进程加载和适时调用,用于识别串口数据属于何种协议。启动服务进程后,以读写方式打开物理串口,例如/dev/ttyS1。根据配置加载协议解析插件,并创建与协议解析插件数量等同的虚拟串口,并打开虚拟串口,例如/dev/ttyM1~/dev/ttMn。确保所有预设的协议解析插件全部加载完毕。同时监听物理串口和指定数量的虚拟串口的输入事件,等待获取设备触发事件。基于设备触发事件,获取目标协议数据,并发送目标协议数据。具体分为以下两种情况。第一种情况:设备外程序产生目标协议数据,并通过物理串口输入事件。若判断获知设备触发事件是由物理串口触发,则通过物理串口获取目标协议数据。然后,遍历获取到的每个协议解析插件。若遍历到协议解析插件X能够解析目标协议数据,则根据遍历到的协议解析插件X对目标协议数据进行解析。将解析后的目标协议数据发送到协议解析插件X对应的虚拟串口。最后,通过虚拟串口将目标协议数据发送到对应的应用程序。第二种情况:应用程序产生目标协议数据,并通过虚拟串口输入事件。若判断获知设备触发事件是由虚拟串口触发,则通过虚拟串口获取解析后的目标协议数据;将所述解析后的目标协议数据发送到物理串口。最后,通过物理串口将目标协议数据发送到对应的设备外程序。本专利技术提供的多协议通信方法,通过伪终端技术将一路物理串口根据支持的不同协议虚拟出相同数量的虚拟串口,不同的协议进程通过虚拟串口进行读写操作,就像操作真实的物理串口一样,无需额外提供接口,避免不必要的依赖,并且对虚拟串口操作进程屏蔽了硬件细节,只需要通过系统接口操作系统设备,无需关心操作的串口是虚拟串口的还是物理串口,以及根本不知道系统中存在一个串口多路复用服务进程,如果将来新版硬件专门为操作进程增加一个物理串口,也无需修改进程代码本文档来自技高网...

【技术保护点】
1.一种多协议通信方法,其特征在于,包括:获取设备触发事件;基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。

【技术特征摘要】
1.一种多协议通信方法,其特征在于,包括:获取设备触发事件;基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据。2.根据权利要求1所述的方法,其特征在于,所述获取设备触发事件之前,还包括:获取多个协议解析插件;创建每个协议解析插件对应的虚拟串口。3.根据权利要求2所述的方法,其特征在于,所述基于所述设备触发事件,获取目标协议数据,并发送所述目标协议数据,具体为:若判断获知所述设备触发事件是由物理串口触发,则通过所述物理串口获取目标协议数据;遍历获取到的每个协议解析插件;根据遍历到的协议解析插件X对所述目标协议数据进行解析;将解析后的目标协议数据发送到所述协议解析插件X对应的虚拟串口。4.根据权利要求2所述的方法,其特征在于,所述基于所述设备触发事件,获...

【专利技术属性】
技术研发人员:何军强刘沾林
申请(专利权)人:杭州鸿泉物联网技术股份有限公司
类型:发明
国别省市:浙江,33

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

1