公开/公告号CN113825124A
专利类型发明专利
公开/公告日2021-12-21
原文格式PDF
申请/专利权人 福建魔方电子科技有限公司;
申请/专利号CN202110959003.8
申请日2021-08-20
分类号H04W4/80(20180101);H04W4/70(20180101);
代理机构35212 福州市鼓楼区京华专利事务所(普通合伙);
代理人王美花
地址 350000 福建省福州市仓山区盖山镇盘屿路869号金山工业集中区福湾片标准厂房15号楼四层
入库时间 2023-06-19 13:46:35
技术领域
本发明涉及移动设备技术领域,特别一种Android平台上本机扩展硬件设备的蓝牙通讯方法及装置。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
在Android平台上本机集成的扩展硬件设备,一般都是通过SDK方式,为二次开发提供接口。二次开发的时候,需要事先熟悉SDK框架和实现方式等,然后再进行开发。目前在Android平台上是通过SDK接口调用来实现相关硬件设备的控制和操作,大大影响了项目集成速度。
发明内容
本发明要解决的技术问题,在于提供一种Android平台上本机扩展硬件设备的蓝牙通讯方法及装置,通过虚拟蓝牙设备,利用蓝牙通讯实现应用程序对扩展硬件设备的调用,从而大大提高项目集成速度。
第一方面,本发明提供了一种Android平台上本机扩展硬件设备的蓝牙通讯方法,包括:
在Android系统启动时,创建一后台服务器,用于监听接收数据,然后转发给客户端;
在原生Android框架中添加一虚拟设备节点,所述虚拟设备节点提供蓝牙设备的所有属性,并与后台服务器建立连接;
使Android蓝牙应用程序作为客户端连接至所述后台服务器,并为所述蓝牙应用程序添加数据处理和通讯的功能,用于与数据处理程序进行数据交互,数据处理程序接收到数据后,扩展硬件设备根据数据进行相应的处理。
进一步地,所述方法还包括:
使用户应用程序通过蓝牙通讯协议与所述虚拟设备节点连接,进行数据交互。
进一步地,所述后台服务器为socket后台服务器;所述虚拟设备节点连接socket后台服务器句柄,建立连接;所述socket后台服务器监听接收数据后,转发给客户端socket句柄。
进一步地,所述Android蓝牙应用以AIDL接口方式与数据处理程序进行数据交互。
第二方面,本发明提供了一种Android平台上本机扩展硬件设备的蓝牙通讯装置,包括:后台服务器模块、虚拟设备模块以及数据通讯模块;
所述后台服务器模块,用于在Android系统启动时,创建一后台服务器,用于监听接收数据,然后转发给客户端;
所述虚拟设备模块,用于在原生Android框架中添加一虚拟设备节点,所述虚拟设备节点提供蓝牙设备的所有属性,并与后台服务器建立连接;
所述数据通讯模块,用于使Android蓝牙应用程序作为客户端连接至所述后台服务器,并为所述蓝牙应用程序添加数据处理和通讯的功能,用于与数据处理程序进行数据交互,数据处理程序接收到数据后,扩展硬件设备根据数据进行相应的处理。
进一步地,还包括:用户应用模块,用于使用户应用程序通过蓝牙通讯协议与所述虚拟设备节点连接,进行数据交互。
进一步地,所述后台服务器为socket后台服务器,所述虚拟设备模块中,所述虚拟设备节点连接socket后台服务器句柄,建立连接;所述后台服务器模块中,所述socket后台服务器监听接收数据后,转发给客户端socket句柄。
进一步地,所述数据通讯模块中,Android蓝牙应用以AIDL接口方式与数据处理程序进行数据交互。
本发明实施例中提供的技术方案具有如下技术效果或优点:
将原先应用程序需要通过SDK API接口对扩展硬件设备进行调用的方式,改为通过虚拟蓝牙设备,利用蓝牙通讯来实现用户应用程序对扩展硬件设备的调用,从而大大提高项目集成速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法的流程图;
图2为本发明实施例二中的应用流程图;
图3为本发明实施例三中装置的结构示意图;
具体实施方式
本申请实施例通过提供一种Android平台上本机扩展硬件设备的蓝牙通讯方法及装置,通过虚拟蓝牙设备,利用蓝牙通讯实现应用程序对扩展硬件设备的调用,从而大大提高项目集成速度。
本申请实施例中的技术方案,总体思路如下:
将原先应用程序需要通过SDK API接口对扩展硬件设备进行调用的方式,改为通过虚拟蓝牙设备,利用蓝牙通讯来实现应用程序对扩展硬件设备的调用。具体地,在Android系统启动时,创建一socket后台服务器,用于监听接收数据并发送给客户端;然后虚拟一蓝牙设备节点,与用户应用程序进行数据交互;然后修改Android蓝牙应用,使其作为客户端从socket后台服务器接收数据,从而实现将从socket后台服务器获取到的用户应用程序的数据转发至数据处理程序,实现用户应用程序对扩展硬件设备的调用,从而大大缩短了项目集成速度。
实施例一
本实施例提供一种Android平台上本机扩展硬件设备的蓝牙通讯方法,如图1所示,包括;
在Android系统启动时,创建一后台服务器,用于监听接收数据,然后转发给客户端;
在原生Android框架中添加一虚拟设备节点,所述虚拟设备节点提供蓝牙设备的所有属性,并与后台服务器建立连接;
使Android蓝牙应用程序作为客户端连接至所述socket后台服务器,并为所述蓝牙应用程序添加数据处理和通讯的功能,用于与数据处理程序进行数据交互,数据处理程序接收到数据后,扩展硬件设备根据数据进行相应的处理。
具体地,所述方法还包括:
使用户应用程序通过蓝牙通讯协议与所述虚拟设备节点连接,进行数据交互。
具体地,所述后台服务器为socket后台服务器;所述虚拟设备节点连接socket后台服务器句柄,建立连接;所述socket后台服务器监听接收数据后,转发给客户端socket句柄。
具体地,所述Android蓝牙应用以AIDL接口方式与数据处理程序进行数据交互。
将原先应用程序需要通过SDK API接口对扩展硬件设备进行调用的方式,改为通过虚拟蓝牙设备,利用蓝牙通讯来实现用户应用程序对扩展硬件设备的调用,从而大大提高项目集成速度。
实施例二
现在很多应用程序是通过蓝牙打印机进行小票输出的。一般蓝牙打印机都是支持ESC脚本打印。如图2所示,本实施例具体采用如下方式采用蓝牙通讯实现应用程序通过蓝牙打印机进行小票输出。
S1、Android系统启动时,创建一个后台服务器,主要负责监听接收数据,然后转发给客户端。具体地,该后台服务器可以是一个socket后台服务器(socket server),socketserver监听接收数据后,转发给客户端socket句柄。
S2、在原生Android框架代码(Bluetooth Android Framework)里,添加相应的虚拟设备节点,提供蓝牙设备的所有属性,通过蓝牙通讯协议接收由用户应用程序发送的数据。
S3、蓝牙应用程序(Bluetooth.apk)连接socket后台服务器句柄,作为客户端连接后台服务器。
S4、修改原生安卓蓝牙应用程序(Bluetooth.apk)代码,添加数据处理以及通讯的功能。
S6、对AIDL接口进行定义,将数据传递给数据处理程序(比如,MFEscPrinter.apk),蓝牙应用程序(Bluetooth.apk)以AIDL接口方式把数据发送给数据处理程序,从而传递给应用层,应用层数据接收后,进行相应的处理(即实现数据的打印)。
当用户应用程序需要通过本机打印机打印小票时,流程如下:
1、用户应用程序连接对应的虚拟蓝牙设备节点,发送数据包;
2、Android框架代码(Bluetooth Android Framework)里的虚拟设备节点收到数据后,发送给socket后台服务器(socket server);
3、socket后台服务器监听接收数据后,转发给客户端的蓝牙应用程序(Bluetooth.apk);
4、蓝牙应用程序(Bluetooth.apk)收到数据包后,以AIDL接口方式把数据发送给数据处理程序(比如,MFEscPrinter.apk);
5、数据处理程序接收到数据后,进行相应的处理,实现小票打印。
此过程无需调用SDK接口即可实现用户应用程序通过本机打印机打印小票。
通过本实施例的方法,实现了设备端虚拟蓝牙设备的全过程。应用层实现ESC脚本小票打印的功能,使得操作本机的打印机更加方便。这样就可以通过蓝牙方式连接本机打印机,即可完成小票打印,大大缩短了项目集成速度,不需要通过SDK接口方式对接设备打印机接口来完成小票打印。
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例三。
实施例三
在本实施例中提供了一种Android平台上本机扩展硬件设备的蓝牙通讯装置,如图3所示,包括:后台服务器模块、虚拟设备模块以及数据通讯模块;
所述后台服务器模块,用于在Android系统启动时,创建一后台服务器,用于监听接收数据,然后转发给客户端;
所述虚拟设备模块,用于在原生Android框架中添加一虚拟设备节点,所述虚拟设备节点提供蓝牙设备的所有属性,并与后台服务器建立连接;
所述数据通讯模块,用于使Android蓝牙应用程序作为客户端连接至所述后台服务器,并为所述蓝牙应用程序添加数据处理和通讯的功能,用于与数据处理程序进行数据交互,数据处理程序接收到数据后,扩展硬件设备根据数据进行相应的处理。
具体地,还包括:用户应用模块,用于使用户应用程序通过蓝牙通讯协议与所述虚拟设备节点连接,进行数据交互。
具体地,所述后台服务器为socket后台服务器,所述虚拟设备模块中,所述虚拟设备节点连接socket后台服务器句柄,建立连接;所述后台服务器模块中,所述socket后台服务器监听接收数据后,转发给客户端socket句柄。
具体地,所述数据通讯模块中,Android蓝牙应用以AIDL接口方式与数据处理程序进行数据交互。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
机译: 一种方法包括在计算设备处接收由供应商为应用程序生成的中间语言相关机器码(MDIL),并且该应用程序安装在设备上以为该应用程序生成本机图像。代码MDIL与设备上的一个或多个库结合在一起,并将映像存储在本机设备中;提供安装包的设备计算方法
机译: 一种系统和方法,通过该系统和方法,手机可以在端到端安全管理应用程序中与低功耗蓝牙(BLE)设备进行通信,从而提供自动检入/检出功能,自动显示安全消息,自动数据收集,触发胁迫短信,能够通过BLE硬件监视远程人员或电子邮件的状态。该系统通过手机上的“应用”运行。手机应用程序连接到基于云的监视系统以跟踪上述任务。任务由BLE Beacon硬件激活。
机译: 当在不同指令集字段的本机硬件上执行时,用于重新创建模拟指令集的轨迹的方法和装置