CN109873837A - 基于Android系统的中心设备及多协议适配系统 - Google Patents
基于Android系统的中心设备及多协议适配系统 Download PDFInfo
- Publication number
- CN109873837A CN109873837A CN201910294401.5A CN201910294401A CN109873837A CN 109873837 A CN109873837 A CN 109873837A CN 201910294401 A CN201910294401 A CN 201910294401A CN 109873837 A CN109873837 A CN 109873837A
- Authority
- CN
- China
- Prior art keywords
- peripheral equipment
- submodule
- data
- communication
- broadcast
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明实施例公开了一种基于Android系统的中心设备及多通信协议适配系统。其中,在中心设备中,预先将异构通信协议API进行封装后,构成多协议通信框架,该多协议通信框架可包括通信服务模块、数据解析与转化模块和通信状态广播模块。中心设备基于多协议通信框架预先为与之待连接的各外围设备注册广播接收者并重写其中的广播接收方法,根据外围设备的通信状态启动并绑定相应通信服务模块,根据外围设备的数据包为其创建相应的专用数据解析与转化模块;专用数据解析与转化模块将外围设备的数据包解析转化为适用于相应通信协议的字节流,并调用相应通信服务模块发送,实现了基于Android系统的多协议外围设备间通讯。
Description
技术领域
本发明实施例涉及Android系统数据传输技术领域,特别是涉及一种基于Android系统的中心设备及多通信协议适配系统。
背景技术
在控制系统中,中心设备常常需要与大量的外围设备进行通信,外围设备一般种类繁多且使用的通信协议和所包含的数据信息也可能各不相同。而进行数据通信的双方若使用通信协议不兼容往往会导致两者之间的操作和信息交换难以进行,为了解决中心设备与多协议多标准的外围设备通信时存在的问题,实现中心设备与多协议多标准的外围设备间的正常通信,相关技术一般采用所有的设备均使用统一的标准协议进行通信。
Android系统为谷歌公司开发的一款基于Linux系统的半开源操作系统。其主要应用于移动设备,当下大部分的智能手机采用的便是Android系统。其开源的特性让开发者和研究组织可以根据需求对系统进行扩展和裁剪,因此Android系统的应用范围渐渐扩展到平板电脑、游戏设备,智能网关等领域。Android系统支持多种通信协议,如WI-FI、蓝牙、USB和UART等,谷歌针对这些异构的通信协议设计了多种应用程序接口(Application ProgramInterface,API),开发者只需要在系统的应用层调用这些API来组织通信逻辑,即可实现与各种外围设备的通信。因此,可基于Android系统设计一种多协议适配的方法。
基于统一协议的适配方法,是通过定义统一的国际标准协议,使所有的使用该标准协议的设备均可以进行互联互通。但不同的通信协议具有各自的特点,并适用于不同的应用场景,因此难以制定一个适用于所有应用场景的统一标准协议,且将现存的所有非统一标准的协议改为标准形式,存在着许多困难。因此该形式目前只能满足部分设备的通信要求。而且Android系统并没有提供相应的统一协议API供开发者使用,所以统一协议标准的适配方式目前不适用于Android设备。
发明内容
本公开实施例提供了一种基于Android系统的中心设备及多通信协议适配系统,实现了基于Android系统的多种协议之间的相互转化。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例提供了一种基于Android系统的中心设备,包括将异构通信协议API封装后构成的多协议通信框架,所述多协议通信框架包括通信服务模块、数据解析与转化模块和通信状态广播模块;
其中,所述多协议通信框架用于预先为各外围设备注册广播接收者并设置相应广播接收方法,根据外围设备的通信状态启动并绑定相应通信服务模块,根据外围设备的数据包内容为其创建相应的专用数据解析与转化模块;
所述多协议通信框架通过所述通信服务模块实现所述中心设备与各外围设备进行连接操作与读写操作;通过所述数据解析与转化模块解析外围设备数据包中各字节的含义以得到相应的参数,或将外围设备的各参数转换为相应的数据包;通过所述通信状态广播模块广播设备通信状态信息。
可选的,所述通信状态广播模块包括广播注册方法子模块、广播接收者和广播发送方法子模块;
其中,所述多协议通信框架通过所述广播注册方法子模块实现广播接收者的注册;通过所述广播发送方法子模块用于在通信流程中的特定阶段发送广播信息;所述广播接收者为Andorid提供的广播接收类,经过重写广播接收方法,以对接收到的广播事件进行相应的处理。
可选的,所述通信状态广播模块还包括广播消息过滤器;
所述多协议通信框架通过所述广播消息过滤器对所述中心设备广播信息池中的广播消息进行过滤,并向过滤所得信息对应的广播接收者发送触发指令信息。
可选的,所述通信服务模块包括用于与各外围设备建立通信连接的连接子模块、用于写数据到各外围设备的写数据子模块、用于读取各外围设备数据的读数据子模块、用于断开与各外围设备所建立连接的断开连接子模块及用于周期性检测所述中心设备是否与各外围设备保持正常连接的连接检测子模块。
可选的,所述通信服务模块还包括MethodAgent模块;
所述MethodAgent模块用于通过MethodAgent对象实现间接调用所述连接子模块、所述写数据子模块、所述读数据子模块、所述断开连接子模块或所述连接检测子模块;所述MethodAgent对象通过绑定相应通信服务模块以获取。
可选的,所述通信服务模块还包括通信状态定义子模块;
所述多协议通信框架通过所述通信状态定义子模块定义通信状态,所述通信状态可为连接、断开,通信成功或通信失败,且各外围设备的通信状态通过调用所述通信状态广播模块进行广播。
本发明实施例最后还提供了一种基于Android系统的多通信协议适配系统,
操作系统为Android系统的中心设备,与所述中心设备相连的多个外围设备,至少两个外围设备使用不同的通信协议;
所述中心设备设置包括将异构通信协议API封装后构成的多协议通信框架,所述多协议通信框架包括通信服务模块、数据解析与转化模块和通信状态广播模块;所述多协议通信框架用于预先为各外围设备注册广播接收者并设置相应广播接收方法,启动通讯服务模块后自动连接外围设备,根据外围设备的通信状态绑定相应通信服务模块,根据外围设备的数据包内容为其创建相应的专用数据解析与转化模块;
所述多协议通信框架通过所述通信服务模块实现所述中心设备与各外围设备进行连接操作与读写操作;通过所述数据解析与转化模块将数据包解析外围设备数据包中各字节的含义以得到相应的参数,或将外围设备的各参数转换为相应的数据包;通过所述通信状态广播模块广播通信的状态信息。
可选的,所述数据解析与转化模块包括数据协议解析转化子模块和设备参数配置子模块,相应的,所述中心设备为与之相连的第一外围设备创建的专用数据解析与转化模块包括相匹配的数据协议解析转化子模块和设备参数配置子模块,所述第一外围设备和所述中心设备间通讯包括:
所述第一外围设备的数据协议解析转化子模块解析字节流中的各字节的含义得到相应的参数,或将各参数转换为字节流的形式,并调用所述第一外围设备的通信服务模块发送所述字节流。
可选的,所述数据解析与转化模块包括数据协议解析转化子模块和设备参数配置子模块,相应的,所述中心设备为与之相连的第一外围设备和第二外围设备创建的专用数据解析与转化模块均包括相匹配的数据协议解析转化子模块和设备参数配置子模块,所述第一外围设备和所述第二外围设备进行不同通信协议间通讯包括:
所述第一外围设备的数据协议解析转化子模块解析发送至所述第二外围设备的数据包,得到第一外围设备参数;
利用所述第一外围设备的设备参数配置子模块将所述第一外围设备参数组合为符合所述第二外围设备对应通信协议B的第二外围设备参数;
利用所述第二外围设备的数据协议解析转化子模块转换所述第二外围设备参数,得到适应于所述通信协议B的字节流,并调用所述第二外围设备的通信服务模块发送所述字节流。
本申请提供的技术方案的优点在于,基于Android系统对多种通信协议的支持,将通信服务模块、数据解析与转化模块和通信状态广播模块的功能统一到Android设备上,开发者可在应用层中使用该多协议通信框架的各个模块来组织通信逻辑,利用通信服务模块进行数据包的收发,并利用数据解析与转化模块,解析外围设备数据包中各字节的含义以得到相应的参数,或将外围设备的各参数转换为相应的数据包,实现不同外围设备与中心设备之间的正常通信、以及使用不同通信协议的各外围设备之间的正常通信,解决了相关技术中存在难以实现多种协议之间相互转换的问题;此外,由于通信框架由多个模块组成,可根据通信需求对通信框架进行裁剪、扩展或组合,提高了多协议适配的灵活性,有利于实现多协议之间的互相转换,降低程序维护的难度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于Android系统的中心设备的结构框架示意图;
图2为本发明实施例提供的一种基于Android系统的多通信协议适配系统的结构框架示意图;
图3为本发明实施例提供的中心设备与外围设备通信的流程示意图;
图4为本发明实施例提供的使用不同通信协议的外围设备间通信的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
本申请的发明人经过研究发现,为了实现中心设备与多协议多标准的外围设备进行通信,相关技术还可通过基于协议转换器的适配方式来实现。该方法是在外围设备与中心设备之间设置一个协议转换器。协议转换器具有多种接口,能同时与多种外围设备进行通信,并将数据包转换为统一的形式。中心设备只需使用某种标准通信协议与协议转换器进行通信,即可获取各外围设备的数据包。中心设备可在应用层编写相应的程序逻辑对数据包进行解析和转换。该方式需要额外的设备进行多协议适配,会增加系统的复杂性。同时,由于协议转换器与中心设备均含有通信、解析和转换的程序逻辑,但协议转换器与中心设备的架构往往是不同的,因此需要维护两套程序逻辑,增加了程序维护的难度。且常用的协议转换器只能完成点对点的转换,多种协议之间的相互转换依然存在困难。
鉴于此,本申请通过将协议转换器与中心设备的功能统一到Android设备上,解决了多协议适配的过程中由于需要额外的协议转换设备而导致系统复杂,维护难度高的现状。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的基于Android系统的中心设备在一种具体实施方式中的结构框架示意图,本发明实施例可包括以下内容:
在本实施例中,中心设备1的操作系统为Android系统,将Android系统提供的异构通信协议API进行封装后构成多协议通信框架,该框架包括通信服务模块11、数据解析与转化模块12和通信状态广播模块13,也就是说,将协议转化器的功能和中心设备功能统一到安卓系统设备上。
其中,通信服务模块11用于实现中心设备与各外围设备进行连接操作与读写操作;数据解析与转化模块12用于解析外围设备数据包中各字节的含义以得到相应的参数,或将外围设备的各参数转换为相应的数据包;通信状态广播模块13用于广播通信的状态信息,状态广播贯穿整个通讯流程。
中心设备1中的通讯框架开始运行后,首先注册相应的广播接收者,其中的广播接收方法在编写多协议通信框架时便针对待通讯的外围设备编写好了,然后启动通信服务模块11,通信服务模块11启动后会自动调用内部的connect方法主动连接外围设备,在进行数据操作或通讯时,使用中心设备1基于多协议通信框架预先针对每个待连接外围设备为其建立异构外围设备的专用通讯框架,整个过程包括如下描述的内容:
首先,利用通信状态广播模块13为待连接外围设备注册一个广播接收者并设置相应广播接收方法,广播接收方法与待连接外围设备的类型相对应,举例来说,待连接外围设备为蓝牙,中心设备1重写蓝牙的广播接收方法为适用于蓝牙的方法。还可对其相应的通信状态广播进行处理,如接收到连接断开的广播信息,则进行重连和连接次数统计。
然后,启动通讯服务模块11,模块启动成功后,会自动调用内部的connect方法连接外围设备。需要说明的是,绑定是在需要与外围设备进行交互的时候,由用户程序逻辑进行绑定。连接成功后该模块会创建两个子线程分别包含writeData(写数据)方法与readData(读数据)方法,还可定时检测连接是否正常,并对连接状态进行广播。通讯服务模块11会在后台运行,当需要与外围设备进行数据交换时,通过绑定通讯服务模块11,获取到MethodAgent对象,然后就可以间接调用其中的读写方法了。
最后,根据外围设备的数据包内容为其创建相应的专用数据解析与转化模块;中心设备1可通过重写数据解析与转换模块2抽象类中的方法并实例化为每个外围设备生成适用于该外围设备的专用数据解析与转化模块。在绑定启动的通信服务模块后,可传入专用数据解析与转换模块实例,用于数据包的处理。
需要说明的是,专用通讯框架同样是架构在中心设备上的,每个外围设备的专用数据解析与转化模块的功能与中心设备1的通信框架中的数据解析与转化模块相同,本申请是为了避免歧义,更加清楚的阐述技术方案,将中心设备1为每个外围设备创建的数据解析与转化模块命名为专用数据解析与转化模块。在进行数据读写时需要通过数据解析与转换模块,该模块也是在编写多协议通信框架的时候就编写好的,在启动服务的时候会使用默认的数据解析与转换模块,也可以通过MethodAgent为通讯服务模块设置新的数据解析与转换模块。这里所谓新的数据解析与转换模块还是预先编写好的,如有一个用蓝牙进行通讯的外围设备,在不同的场景下会发送不同类型的数据包,可预先准备两个数据解析与转换模块,以便在不同的场景下都能对该外围设备的数据包进行正确的解析与转换。
在本发明实施例提供的技术方案中,基于Android系统对多种通信协议的支持,将通信服务模块、数据解析与转化模块和通信状态广播模块的功能统一到Android设备上,开发者可在应用层中使用该多协议通信框架的各个模块来组织通信逻辑,利用通信服务模块进行数据包的收发,并利用数据解析与转化模块,解析外围设备数据包中各字节的含义以得到相应的参数,或将外围设备的各参数转换为相应的数据包,实现不同外围设备与中心设备之间的正常通信、以及使用不同通信协议的外围设备之间的正常通信,解决了相关技术中存在难以实现多种协议之间相互转换的问题;此外,由于通信框架由多个模块组成,可根据通信需求对通信框架进行裁剪、扩展或组合,提高了多协议适配的灵活性,有利于实现多协议之间的互相转换,降低程序维护的难度。
可以理解的是,通信服务模块11是多协议通信框架的核心模块,其继承了Android的Service类,并包含了通信的基本逻辑。Service是一个应用程序组件,它可以在后台执行长时间运行的操作,并且不提供用户界面。另一个应用程序组件可以启动服务,并可通过绑定服务的方式与其进行交互。在一种具体实施方式中,通信服务模块11可由用于与外围设备建立通信连接的连接子模块、用于写数据到外围设备的写数据子模块、用于读取外围设备数据的读数据子模块、用于断开与外围设备所建立连接的断开连接子模块及用于周期性检测中心设备是否与外围设备保持着正常连接的连接检测子模块的构成。也就是说,通信服务模块11中通信基本逻辑由模块中的5个方法组成,分别为:connect方法,用于与外围设备建立通信连接;writeData方法,用于写数据到外围设备;readData方法,用于读取外围设备的数据;disconnect方法,用于与断开与外围设备所建立的连接;checkConnect方法,用于周期性检测中心设备是否与外围设备保持着正常的连接。
当特定的通信服务模块被启动后,该模块会自动调用connect方法与相应的外围设备进行连接,连接成功后模块会创建两个子线程分别包含writeData方法与readData方法。writeData子线程为被动线程,当上层的程序逻辑有相应的数据下发时,线程才被激活,并调用writeData方法将数据发送到外围设备。readData子线程为主动线程,其会不断执行readData方法,当读到来自外围设备的数据时便上传至上层的程序逻辑。若中心设备1与外围设备没有频繁的通信需求时,可在数据交换结束后采用disconnect方法断开彼此的连接,反之,可采用checkConnect方法定时检测连接是否正常,以便及时执行重连操作保证通信的稳定性。
在一种实施方式中,通信服务模块11还可包括MethodAgent模块,MethodAgent模块基于MethodAgent对象实现间接调用通信服务模块11中的基本通信方法。为了保持通信框架的模块结构,可通过绑定通信服务模块11获取其内部特定的MethodAgent对象,从而实现调用连接子模块、写数据子模块、读数据子模块、断开连接子模块或连接检测子模块的其中一个或全部,以使用相应的通信方法。MethodAgent模块用于使得各外围设备通过用户界面绑定相应通信服务模块后获取相应的MethodAgent对象,从而可调用通信服务模块11的各子模块(例如连接子模块、写数据子模块、读数据子模块、断开连接子模块或连接检测子模块)。即用户界面可通过绑定相应的通信服务模块来获取特定MethodAgent对象,并使用其中的接口来对模块中的通信方法进行间接调用。MethodAgent模块可包含两类接口,一类是数据解析与转换模块接口,另一类是上述的基本通信方法接口。前者用于获取或设置该通信服务模块所使用的数据解析与转换模块,后者用于间接调用通信服务模块中的通信方法。
在本实施例中,数据解析与转换模块12位于用户界面与通信服务模块11之间,用于数据包的解析与转换。外围设备与中心设备1通信的数据包是以字节流的形式存在的,因此针对不同的外围设备,需要不同的数据解析与转换模块来解析字节流中各字节的含义,或将具体的参数转换为字节流的形式。为了适应各种异构的外围设备,数据解析与转换模块12包含了两个抽象类:一个为DataProtocol、另一个为ParameterBean,其中,DataProtocol为实现数据协议解析转化子模块功能的算法,ParameterBean为实现设备参数配置子模块功能的算法。开发者需要重写其中的方法来实现具有针对性的数据解析与转换功能。DataProtocol包含了数据解析与转换的方法,ParameterBean包含了外围设备的参数列表与获取或设置参数的方法。也就是说,数据解析与转换模块12中可包含数据协议解析转化子模块和设备参数配置子模块,且中心设备1在为每个外围设备创建通信框架时,每个外围设备的专用数据解析与转换模块也均包括与之相对应的数据协议解析转化子模块和设备参数配置子模块。数据协议解析转化子模块基于DataProtocol抽象类,包含了数据解析与转换的方法,以及会预先存储的通信协议数据转化方法和外围设备参数间的对应关系,设备参数配置子模块基于ParameterBean抽象类,用于获取或设置外围设备的参数。
在本实施例中,数据解析与转换模块12作为多协议相互转换的关键模块。如对一种协议的数据包使用其DataProtocol中的解析方法进行解析后,可获取到相应的ParameterBean。开发者可从中获取所需的参数,并组合成另一种协议的ParameterBean,通过调用其DataProtocol的转换方法进行转换后,所获得的字节流可利用该协议的通信服务模块所提供的方法进行发送。从而实现了两种异构通信协议之间的信息交换。同理,若一种协议的ParameterBean被组合成多种协议的ParameterBean并进行转换,则可实现多种异构通信协议之间的信息交换。
在另外一种实施方式中,通信状态广播模块13用于广播通信的状态信息,以便开发者根据通信状态信息调整通信逻辑。其可包含3个主要的方法或类,分别可为:broadcastRegister、BroadcastReceiver和broadcastSender。broadcastRegister为广播注册方法,用于广播事件的过滤,以及广播接收者的注册。BroadcastReceiver为广播接收者,其为Andorid提供的一个广播接收类,通过重写其中的广播接收方法,可对接收到的广播事件进行相应的处理。broadcastSender为广播发送者,用于在通信流程中的特定阶段发送广播信息。也就是说,通信状态广播模块13可包括广播注册方法子模块、广播接收者和广播发送方法子模块。广播注册方法子模块用于广播接收者的注册;广播接收者为Andorid提供的广播接收类,通过重写广播接收方法,以对接收到的广播事件进行相应的处理;广播发送方法子模块用于在通信流程中的特定阶段发送广播信息。
对一般的通信而言,通信连接建立与否、信息交换成功与否为通信流程中的关键状态信息。而这些状态均可在通信服务模块的通信逻辑中反映。
因此,通信服务模块11还可包括通信状态定义子模块,通信状态定义子模块用于定义通信状态。通信服务模块定义了4类基本的通信状态行为,分别为:连接、断开,通信成功和通信失败,通信状态行为本质是按照特定规则组合而成的字符串,可用于标识通信状态广播的含义。可在通信服务模块的特定通信流程中调用broadcastSender方法将通信状态action广播到Android系统的广播信息池中。上层程序逻辑可调用broadcastRegister方法注册相应的广播接收者处理信息池中的广播信息。
由于中心设备1往往会与多种外围设备同时连接,针对不同的通信协议会有相应的通信状态行为。因此,广播信息池中会含有多种协议的通信状态广播信息,为了提高广播消息的处理效率,通信状态广播模块还可包括广播消息过滤器,广播消息过滤器用于对中心设备广播信息池中的广播消息进行过滤,并向过滤所得信息对应的广播接收者发送触发指令信息。进一步的,可在broadcastRegister中设置广播信息过滤器,能对广播信息池中的信息进行过滤,并触发相应的广播接收者。
此外,本申请还提供了一个实施例,请参见图2,图2为本发明实施例提供的一种基于Android系统的多通信协议适配系统,本发明实施例可包括以下内容:
基于Android系统的多通信协议适配系统可包括中心设备1和外围设备组2。
可以理解的是,中心设备1的操作系统为安卓系统,外围设备组1包含多个外围设备,各外围设备可与中心设备1相连。各外围设备使用的通信协议可全不同,也可部分不同,当然也可相同,但至少应包含两个外围设备使用的通信协议不同,本申请要解决的问题就是多协议设备间的通信问题。
自然地,在中心设备1与外围设备连接后,且每个外围设备通过用户界面成功绑定相应通信服务模块后,涉及中心设备1与外围设备间通讯以及各外围设备间的通讯这两种通信模式。而对于使用相同通信协议的外围设备间的通信不需要进行协议之间的转化,可参阅相关技术的描述,本实施例阐述使用不同通信协议的外围设备间的通讯。
其中,外围设备(以第一外围设备为例)与中心设备1间通讯,请参阅图3所示,也即第一外围设备在启动的通信服务模块,获取MethodAgent对象,使用其中的接口进行数据的读写操作的过程可包括:
第一外围设备的数据协议解析转化子模块解析字节流中的各字节的含义得到相应的参数,或将各参数转换为字节流的形式,并调用第一外围设备的通信服务模块发送字节流。数据解析与转换模块12可解析字节流中各字节的含义来得到相应的参数,或将具体的参数转换为字节流的形式。举例来说,外围设备来的字节流,中心设备将其变为参数,如字节流中有时间、温度等信息,中心设备就提取字节流中的这些信息,字节流和参数的区别是:前者是连续的,而且不全为实用数据,如字节流中开始位,停止位,校验位等等字节,可通过剥去这些辅助字节后的实用数据,如温度数据,时间数据等。反之,中心设备的参数通过数据解析与转换模块转换为字节流并发送到外围设备上,转换的过程就是将各参数整合到一起,加上开始位,停止位,校验位等的过程,是解析的逆过程。
中心设备1与使用某种协议的外围设备进行通信时,由于该方式下数据读写均使用同种协议,所以使用该协议的数据解析与转换模块中的DataProtocol与ParameterBean即可完成通信。
此外,第一外围设备(使用通信协议A)与第二外围设备(使用通信协议B)间通讯,请参阅图4所示,也即第一外围设备和第二外围设备在启动的通信服务模块,获取MethodAgent对象,使用其中的接口进行数据的读写操作的过程可包括:
第一外围设备的数据协议解析转化子模块解析发送至第二外围设备的数据包,得到第一外围设备参数;
利用第一外围设备的设备参数配置子模块将第一外围设备参数组合为符合第二外围设备对应通信协议B的第二外围设备参数;
利用第二外围设备的数据协议解析转化子模块转换第二外围设备参数,得到适应于通信协议B的字节流,并调用第二外围设备的通信服务模块发送字节流。
也就是说,两种异构外围设备之间进行通讯涉及两种以上的协议,因此对通信协议A的数据包使用其DataProtocol中的解析方法进行解析后,获取到相应的ParameterBean,并可组合成通信协议B的ParameterBean,通过调用协议B的DataProtocol中的转换方法进行转换后,所获得的字节流可利用协议B的通信服务模块所提供的方法进行发送。从而实现了两种异构通信协议之间的信息交换。同理,若一种协议的ParameterBean被组合成多种协议的ParameterBean并进行转换,则可实现多种异构通信协议之间的信息交换。
由上可知,本发明实施例实现了基于Android系统的多种协议之间的相互转化。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种基于Android系统的中心设备、与之相连的外围设备及多通信协议适配系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (9)
1.一种基于Android系统的中心设备,其特征在于,包括将异构通信协议API封装后构成的多协议通信框架,所述多协议通信框架包括通信服务模块、数据解析与转化模块和通信状态广播模块;
其中,所述多协议通信框架用于预先为各外围设备注册广播接收者并设置相应广播接收方法,根据外围设备的通信状态启动并绑定相应通信服务模块,根据外围设备的数据包内容为其创建相应的专用数据解析与转化模块;
所述多协议通信框架通过所述通信服务模块实现所述中心设备与各外围设备进行连接操作与读写操作;通过所述数据解析与转化模块解析外围设备数据包中各字节的含义以得到相应的参数,或将外围设备的各参数转换为相应的数据包;通过所述通信状态广播模块广播设备通信状态信息。
2.根据权利要求1所述的基于Android系统的中心设备,其特征在于,所述通信状态广播模块包括广播注册方法子模块、广播接收者和广播发送方法子模块;
其中,所述多协议通信框架通过所述广播注册方法子模块实现广播接收者的注册;通过所述广播发送方法子模块用于在通信流程中的特定阶段发送广播信息;所述广播接收者为Andorid提供的广播接收类,经过重写广播接收方法,以对接收到的广播事件进行相应的处理。
3.根据权利要求1所述的基于Android系统的中心设备,其特征在于,所述通信状态广播模块还包括广播消息过滤器;
所述多协议通信框架通过所述广播消息过滤器对所述中心设备广播信息池中的广播消息进行过滤,并向过滤所得信息对应的广播接收者发送触发指令信息。
4.根据权利要求1至3任意一项所述的基于Android系统的中心设备,其特征在于,所述通信服务模块包括用于与各外围设备建立通信连接的连接子模块、用于写数据到各外围设备的写数据子模块、用于读取各外围设备数据的读数据子模块、用于断开与各外围设备所建立连接的断开连接子模块及用于周期性检测所述中心设备是否与各外围设备保持正常连接的连接检测子模块。
5.根据权利要求4所述的基于Android系统的中心设备,其特征在于,所述通信服务模块还包括MethodAgent模块;
所述MethodAgent模块用于通过MethodAgent对象实现间接调用所述连接子模块、所述写数据子模块、所述读数据子模块、所述断开连接子模块或所述连接检测子模块;所述MethodAgent对象通过绑定相应通信服务模块以获取。
6.根据权利要求5所述的基于Android系统的中心设备,其特征在于,所述通信服务模块还包括通信状态定义子模块;
所述多协议通信框架通过所述通信状态定义子模块定义通信状态,所述通信状态可为连接、断开,通信成功或通信失败,且各外围设备的通信状态通过调用所述通信状态广播模块进行广播。
7.一种基于Android系统的多通信协议适配系统,其特征在于,包括操作系统为Android系统的中心设备,与所述中心设备相连的多个外围设备,至少两个外围设备使用不同的通信协议;
所述中心设备设置包括将异构通信协议API封装后构成的多协议通信框架,所述多协议通信框架包括通信服务模块、数据解析与转化模块和通信状态广播模块;所述多协议通信框架用于预先为各外围设备注册广播接收者并设置相应广播接收方法,启动通讯服务模块后自动连接外围设备,根据外围设备的通信状态绑定相应通信服务模块,根据外围设备的数据包内容为其创建相应的专用数据解析与转化模块;
所述多协议通信框架通过所述通信服务模块实现所述中心设备与各外围设备进行连接操作与读写操作;通过所述数据解析与转化模块解析外围设备数据包中各字节的含义以得到相应的参数,或将外围设备的各参数转换为相应的数据包;通过所述通信状态广播模块广播通信的状态信息。
8.根据权利要求7所述的基于Android系统的多通信协议适配系统,其特征在于,所述数据解析与转化模块包括数据协议解析转化子模块和设备参数配置子模块,相应的,所述中心设备为与之相连的第一外围设备创建的专用数据解析与转化模块包括相匹配的数据协议解析转化子模块和设备参数配置子模块,所述第一外围设备和所述中心设备间通讯包括:
所述第一外围设备的数据协议解析转化子模块解析字节流中的各字节的含义得到相应的参数,或将各参数转换为字节流的形式,并调用所述第一外围设备的通信服务模块发送所述字节流。
9.根据权利要求7所述的基于Android系统的多通信协议适配系统,其特征在于,所述数据解析与转化模块包括数据协议解析转化子模块和设备参数配置子模块,相应的,所述中心设备为与之相连的第一外围设备和第二外围设备创建的专用数据解析与转化模块均包括相匹配的数据协议解析转化子模块和设备参数配置子模块,所述第一外围设备和所述第二外围设备进行不同通信协议间通讯包括:
所述第一外围设备的数据协议解析转化子模块解析发送至所述第二外围设备的数据包,得到第一外围设备参数;
利用所述第一外围设备的设备参数配置子模块将所述第一外围设备参数组合为符合所述第二外围设备对应通信协议B的第二外围设备参数;
利用所述第二外围设备的数据协议解析转化子模块转换所述第二外围设备参数,得到适应于所述通信协议B的字节流,并调用所述第二外围设备的通信服务模块发送所述字节流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910294401.5A CN109873837A (zh) | 2019-04-12 | 2019-04-12 | 基于Android系统的中心设备及多协议适配系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910294401.5A CN109873837A (zh) | 2019-04-12 | 2019-04-12 | 基于Android系统的中心设备及多协议适配系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109873837A true CN109873837A (zh) | 2019-06-11 |
Family
ID=66922578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910294401.5A Pending CN109873837A (zh) | 2019-04-12 | 2019-04-12 | 基于Android系统的中心设备及多协议适配系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109873837A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711940A (zh) * | 2020-04-29 | 2020-09-25 | 杭州涂鸦信息技术有限公司 | 一种智能设备数据交互方法、智能设备和存储装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2214382A1 (en) * | 2009-01-30 | 2010-08-04 | Thomson Licensing SA | Method of reception of device logging information and method of transmission of device logging information |
CN103227784A (zh) * | 2013-04-07 | 2013-07-31 | 杭州泽大仪器有限公司 | 用在多参数食品安全快速检测仪上的通用外设接口系统 |
CN106254348A (zh) * | 2016-08-08 | 2016-12-21 | 中国地质大学武汉 | 一种基于Android的无线局域网通信方法 |
CN207070087U (zh) * | 2017-03-20 | 2018-03-02 | 深圳市华能智创科技有限公司 | 一种多协议接口安卓移动终端 |
CN108696552A (zh) * | 2017-04-06 | 2018-10-23 | 北京算云联科科技有限公司 | 一种基于物联网的弱电控制系统及方法 |
CN109587660A (zh) * | 2018-11-22 | 2019-04-05 | 权冉(银川)科技有限公司 | 一种物联网信息采集互动与物物互控的中端及其方法 |
-
2019
- 2019-04-12 CN CN201910294401.5A patent/CN109873837A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2214382A1 (en) * | 2009-01-30 | 2010-08-04 | Thomson Licensing SA | Method of reception of device logging information and method of transmission of device logging information |
CN103227784A (zh) * | 2013-04-07 | 2013-07-31 | 杭州泽大仪器有限公司 | 用在多参数食品安全快速检测仪上的通用外设接口系统 |
CN106254348A (zh) * | 2016-08-08 | 2016-12-21 | 中国地质大学武汉 | 一种基于Android的无线局域网通信方法 |
CN207070087U (zh) * | 2017-03-20 | 2018-03-02 | 深圳市华能智创科技有限公司 | 一种多协议接口安卓移动终端 |
CN108696552A (zh) * | 2017-04-06 | 2018-10-23 | 北京算云联科科技有限公司 | 一种基于物联网的弱电控制系统及方法 |
CN109587660A (zh) * | 2018-11-22 | 2019-04-05 | 权冉(银川)科技有限公司 | 一种物联网信息采集互动与物物互控的中端及其方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711940A (zh) * | 2020-04-29 | 2020-09-25 | 杭州涂鸦信息技术有限公司 | 一种智能设备数据交互方法、智能设备和存储装置 |
CN111711940B (zh) * | 2020-04-29 | 2023-10-31 | 杭州涂鸦信息技术有限公司 | 一种智能设备数据交互方法、智能设备和存储装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103902390B (zh) | 基于Android的应用层的进程间通信方法及基础应用通信系统 | |
CN104079492B (zh) | 一种OpenFlow网络中流表配置的方法、装置和系统 | |
CN103259920B (zh) | 用于具有双用户识别模块卡的便携式终端的装置和方法 | |
CN104216761B (zh) | 一种在能够运行两种操作系统的装置中使用共享设备的方法 | |
CN106790217A (zh) | 基于sim卡认证模式的物联网设备的认证鉴权系统 | |
CN106507341B (zh) | 智能识别配置文件的方法、系统及移动终端 | |
CN111245714B (zh) | 家庭网关模组的接入方法、装置、存储介质及电子装置 | |
CN102299834A (zh) | 局域网数据共享方法、设备及系统 | |
CN108322437A (zh) | 用于多规约设备之间的自适应通讯方法和装置 | |
US8469267B2 (en) | Method for implementing a wireless personal communication protocol for an IC card | |
CN103731401A (zh) | 手机网络游戏运营平台系统与方法 | |
CN106941501A (zh) | 一种数据通信方法及装置 | |
CN101277199A (zh) | 自动部署嵌入式ip-pbx及其通信方法 | |
CN105978606B (zh) | 蓝牙设备远程通信方法、蓝牙设备及客户端 | |
CN109873837A (zh) | 基于Android系统的中心设备及多协议适配系统 | |
CN110460984A (zh) | 基于分布式存储的多蓝牙控制方法、系统、终端及存储 | |
CN110933015B (zh) | 数据传输方法、装置和系统 | |
CN110515762A (zh) | 数据恢复方法、装置、终端设备及存储介质 | |
CN104796328B (zh) | 基于knx/eib总线的多接口或协议的数据通信装置的网关主机 | |
CN103546873B (zh) | 一键通业务处理方法及装置 | |
CN106604247A (zh) | 一种利用北斗短信息通道智能开通二代卫星网络的方法 | |
CN104902476B (zh) | 一种蓝牙安全管理的控制方法 | |
CN109819064A (zh) | 模块间通信的方法、操作系统模块和会议平板 | |
CN103077078A (zh) | 定义在软件及应用控制管理对象中状态转换的方法 | |
CN205883594U (zh) | 一种提供动态下载号码的单Modem双卡登网系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190611 |