CN110366039A - 一种Android系统下不同蓝牙模组的兼容方法 - Google Patents
一种Android系统下不同蓝牙模组的兼容方法 Download PDFInfo
- Publication number
- CN110366039A CN110366039A CN201910629451.4A CN201910629451A CN110366039A CN 110366039 A CN110366039 A CN 110366039A CN 201910629451 A CN201910629451 A CN 201910629451A CN 110366039 A CN110366039 A CN 110366039A
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- protocol
- mould groups
- served
- different
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种Android系统下不同蓝牙模组的兼容方法,所述方法包括如下步骤:步骤1:将多个蓝牙模组的驱动、固件和蓝牙协议移植到代码库中;步骤2:更改各个蓝牙模组的蓝牙协议栈的编译文件中相同的模块名name;步骤3:将定制的蓝牙协议添加到蓝牙系统服务应用中,并在蓝牙系统服务应用的蓝牙协议配置文件中增加定制蓝牙协议对应蓝牙厂商的参数;步骤4:开机启动蓝牙系统服务应用时,根据蓝牙模组动态匹配蓝牙协议。通过本方法,将多个蓝牙模组的驱动、固件和蓝牙协议移植到代码库中,修改编译文件,让多个蓝牙模组的程序在编译的时候不会冲突,完善Android电视平台对蓝牙模组智能化管理,便于代码统一化管理。
Description
技术领域
本发明涉及无线通信技术领域,具体的说,是一种Android系统下不同蓝牙模组的兼容方法。
背景技术
随机电视软件技术和电视产品的发展:电视产品越来越多样化,型号也越来越丰富。为了满足不同客户群体的需求,同一机芯会采用不同的蓝牙模组,定制蓝牙功能。为了便于平台代码统一化管理,提高系统开发人员开发效率,软件上实现蓝牙模组智能化管理显得十分重要。当前同一平台实现不同蓝牙模组兼容比较常见的解决方案是:将蓝牙的固件、驱动、蓝牙协议栈和蓝牙系统服务移植到代码库中,根据不同的整机编译命令,选择对应蓝牙模组的代码生成不同的整机软件;然后根据整机软件升级对应型号的电视。这种方式对代码管控要求十分严格,且整机软件只能刷特定的蓝牙模组的电视产品,不能动态根据蓝牙模组动态选择驱动、协议栈等。若编译命令出错,编译出来的整机软件会导致整机蓝牙基础功能无法正常使用,造成无法估量的损失。另外一种方式可以将所需的代码单独编译,将生成的文件打包到整机软件中。这种方式代码同步管理比较困难,且若有特殊定制功能,这种方式无法满足需求。
发明内容
本发明的目的在于提供一种Android系统下不同蓝牙模组的兼容方法,用于解决现有技术中一套整机软件不兼容不同蓝牙模组的问题。
本发明通过下述技术方案解决上述问题:
一种Android系统下不同蓝牙模组的兼容方法,所述方法包括如下步骤:
步骤1:将多个蓝牙模组的驱动、固件和蓝牙协议移植到代码库中;
步骤2:更改各个蓝牙模组的蓝牙协议栈的编译文件中相同的模块名name;
步骤3:将定制的蓝牙协议添加到蓝牙系统服务应用中,并在蓝牙系统服务应用的蓝牙协议配置文件中增加定制蓝牙协议对应蓝牙厂商的参数;
步骤4:开机启动蓝牙系统服务应用时,根据蓝牙模组动态匹配蓝牙协议。
通过本方法,将多个蓝牙模组的驱动、固件和蓝牙协议移植到代码库中,修改编译文件,让多个蓝牙模组的程序在编译的时候不会冲突,完善Android电视平台对蓝牙模组智能化管理,便于代码统一化管理,避免重复性开发工作,提高程序员开发效率,降低开发和代码管控成本,很好的解决了一套整机软件不兼容不同蓝牙模组的问题。
优选地,所述定制蓝牙,包括蓝牙唤醒功能,用于交流上电进入待机模式。
优选地,若电视处于待机模式下,固定蓝牙USB扫描的端口,将第一次交流上电识别到蓝牙模组厂商写入环境变量中;第二次上电的时候,读取环境变量匹配蓝牙USB端口,成功之后下载蓝牙开机固件等待蓝牙开机报文。
优选地,第一次上电时写入环境变量中的数据包括产品识别码和PID、供应商识别码VID。
本发明与现有技术相比,具有以下优点及有益效果:
本发明将多个蓝牙模组的驱动、固件和蓝牙协议移植到代码库中,修改编译文件,让多个蓝牙模组的程序在编译的时候不会冲突,完善Android电视平台对蓝牙模组智能化管理,便于代码统一化管理,避免重复性开发工作,提高程序员开发效率,降低开发和代码管控成本,很好的解决了一套整机软件不兼容不同蓝牙模组的问题。
附图说明
图1为本发明的兼容蓝牙模组方案中使用的Android系统版本蓝牙架构图;
图2为本发明兼容蓝牙模组方案中交流上电蓝牙模块加载蓝牙固件的流程示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例1:
一种Android系统下不同蓝牙模组的兼容方法,所述方法包括如下步骤:
步骤1:将多个蓝牙模组的驱动、固件和蓝牙协议移植到代码库中;
步骤2:更改各个蓝牙模组的蓝牙协议栈的编译文件中相同的模块名name;
步骤3:将定制的蓝牙协议添加到蓝牙系统服务应用中,并在蓝牙系统服务应用的蓝牙协议配置文件中增加定制蓝牙协议对应蓝牙厂商的参数;
步骤4:开机启动蓝牙系统服务应用时,根据蓝牙模组动态匹配蓝牙协议。
一套整机软件不同蓝牙模组兼容方案,需要先梳理Android Bluetooth模块的架构,以及蓝牙定制功能的特点。Android 8.0的蓝牙架构如图1所示,分为蓝牙framework层、蓝牙系统服务、蓝牙JNI接口、蓝牙协议栈、蓝牙供应商接口等。然后需要根据产品所采用的Android版本编译环境,定制合适的编译文件。最后,根据电视蓝牙定制功能使用场景设计兼容方案。下面将从两个方面进行阐述:
一是编译方面:由于Android 7.0之后,google引入替代Android.mk编译文件的Android.bp。Android.bp文件中的模块以一个模块类型开始,后面跟着一组属性,以名值对(name:value)表示。每个模块必须有一个name属性,并且在所有的Android.bp文件中必须是唯一的。这点与.mk编译文件有差异。导致一个代码库如果编译两份蓝牙协议栈,会导致模块名字冲突而编译失败。且目前的解决方案主要是设置不同的编译参数,根据参数编译不同蓝牙协议栈生成不同的整机软件。或者将两份协议栈分开编译,将生成的文件直接预置到编译系统中。
这两种方案前一种需要用编译参数,来区分需要编译的文件,生成不同整机软件。后一种方式需要分开编译蓝牙协议栈不利于代码同步管理。而本申请针对不同蓝牙模组兼容方案编译问题主要通过更改协议栈所有.bp文件中模块的name,避免编译了冲突,这样就可以利用同一个编译命令编译出具有两套或者两套以上蓝牙模组协议栈的整机软件。运行时,根据蓝牙模组动态选择合适的蓝牙协议栈。
二是电视平台蓝牙定制功能方面,不同蓝牙厂商会涉及到不同的蓝牙协议。由于不同厂商根据自己蓝牙的硬件设计接口,定制蓝牙协议。针对这个问题,原解决方案是将蓝牙应用分开编译,根据编译命令预置不同的蓝牙应用。而本文方案将原生蓝牙协议配置静态管理改为动态管理,让同一个蓝牙服务应用能根据蓝牙模组启动不同蓝牙协议,实现了同一个蓝牙应用管理不同厂商定制的协议。具体实现的工作流程如下:
蓝牙定制功能还有一个比较特殊的功能蓝牙唤醒。如图2所示,该功能使用场景特殊,需要在交流上电进入待机模式即mboot下,实现蓝牙开机唤醒功能。该功能需要根据蓝牙模组加载不同蓝牙固件,而原来的蓝牙固件加载是根据检测设备PID(Product ID,产品识别码)、VID(Vendor ID,供应商识别码)实现,或者整机编译时,只选择特定的固件。前者方案耗时长,后者方案无法做到一套代码兼容。本方案针对该使用场景,在第一次上电时,将检测到的PID、VID写入环境变量,第二次交流上电时,就能根据环境变量匹配不同设备的蓝牙固件。该方案保证了蓝牙唤醒功能正常和不增加上电进入待机模式时间情况下,实现一套代码兼容不同蓝牙模组。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (4)
1.一种Android系统下不同蓝牙模组的兼容方法,其特征在于,所述方法包括如下步骤:
步骤1:将多个蓝牙模组的驱动、固件和蓝牙协议移植到代码库中;
步骤2:更改各个蓝牙模组的蓝牙协议栈的编译文件中相同的模块名name;
步骤3:将定制的蓝牙协议添加到蓝牙系统服务应用中,并在蓝牙系统服务应用的蓝牙协议配置文件中增加定制蓝牙协议对应蓝牙厂商的参数;
步骤4:开机启动蓝牙系统服务应用时,根据蓝牙模组动态匹配蓝牙协议。
2.根据权利要求1所述的Android系统下不同蓝牙模组的兼容方法,其特征在于,所述定制蓝牙,包括蓝牙唤醒功能,用于交流上电进入待机模式。
3.根据权利要求2所述的Android系统下不同蓝牙模组的兼容方法,其特征在于,若电视处于待机模式下,固定蓝牙USB扫描的端口,将第一次交流上电识别到蓝牙模组厂商写入环境变量中;第二次上电的时候,读取环境变量匹配蓝牙USB端口,成功之后下载蓝牙开机固件等待蓝牙开机报文。
4.根据权利要求3所述的Android系统下不同蓝牙模组的兼容方法,其特征在于,第一次上电时写入环境变量中的数据包括产品识别码和PID、供应商识别码VID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629451.4A CN110366039A (zh) | 2019-07-12 | 2019-07-12 | 一种Android系统下不同蓝牙模组的兼容方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910629451.4A CN110366039A (zh) | 2019-07-12 | 2019-07-12 | 一种Android系统下不同蓝牙模组的兼容方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110366039A true CN110366039A (zh) | 2019-10-22 |
Family
ID=68219033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910629451.4A Pending CN110366039A (zh) | 2019-07-12 | 2019-07-12 | 一种Android系统下不同蓝牙模组的兼容方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110366039A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711940A (zh) * | 2020-04-29 | 2020-09-25 | 杭州涂鸦信息技术有限公司 | 一种智能设备数据交互方法、智能设备和存储装置 |
CN111954039A (zh) * | 2020-07-02 | 2020-11-17 | 深圳市华曦达科技股份有限公司 | 机顶盒蓝牙配置方法、装置、电子设备及存储介质 |
CN113543097A (zh) * | 2021-06-02 | 2021-10-22 | 惠州市德赛西威智能交通技术研究院有限公司 | 一种用于Android系统的多蓝牙交互方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080248748A1 (en) * | 2007-04-05 | 2008-10-09 | Microsoft Corporation | Systems and methods for pairing Bluetooth devices |
CN105893038A (zh) * | 2016-03-30 | 2016-08-24 | 大连理工大学 | 一种安卓蓝牙协议栈向Mint17系统移植的方法 |
CN107231605A (zh) * | 2017-06-23 | 2017-10-03 | 中南大学 | 解决带闪存IoT设备与安卓设备间蓝牙通信兼容性的方法 |
US20180206276A1 (en) * | 2017-01-13 | 2018-07-19 | Primax Electronics Ltd. | Bluetooth pairing system and operating method thereof |
CN108738000A (zh) * | 2018-03-30 | 2018-11-02 | 晨星半导体股份有限公司 | 基于安卓(Android)系统的蓝牙适配方法及终端设备 |
CN109451472A (zh) * | 2018-10-08 | 2019-03-08 | 四川长虹电器股份有限公司 | Android智能设备上多蓝牙芯片的动态管理方法 |
CN109788330A (zh) * | 2018-12-25 | 2019-05-21 | 深圳康佳电子科技有限公司 | 电视蓝牙待机唤醒处理方法、电视及遥控器 |
CN208924233U (zh) * | 2018-06-27 | 2019-05-31 | 山东电子职业技术学院 | 一种超低功耗蓝牙-串口透传转换模块 |
-
2019
- 2019-07-12 CN CN201910629451.4A patent/CN110366039A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080248748A1 (en) * | 2007-04-05 | 2008-10-09 | Microsoft Corporation | Systems and methods for pairing Bluetooth devices |
CN105893038A (zh) * | 2016-03-30 | 2016-08-24 | 大连理工大学 | 一种安卓蓝牙协议栈向Mint17系统移植的方法 |
US20180206276A1 (en) * | 2017-01-13 | 2018-07-19 | Primax Electronics Ltd. | Bluetooth pairing system and operating method thereof |
CN107231605A (zh) * | 2017-06-23 | 2017-10-03 | 中南大学 | 解决带闪存IoT设备与安卓设备间蓝牙通信兼容性的方法 |
CN108738000A (zh) * | 2018-03-30 | 2018-11-02 | 晨星半导体股份有限公司 | 基于安卓(Android)系统的蓝牙适配方法及终端设备 |
CN208924233U (zh) * | 2018-06-27 | 2019-05-31 | 山东电子职业技术学院 | 一种超低功耗蓝牙-串口透传转换模块 |
CN109451472A (zh) * | 2018-10-08 | 2019-03-08 | 四川长虹电器股份有限公司 | Android智能设备上多蓝牙芯片的动态管理方法 |
CN109788330A (zh) * | 2018-12-25 | 2019-05-21 | 深圳康佳电子科技有限公司 | 电视蓝牙待机唤醒处理方法、电视及遥控器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111711940A (zh) * | 2020-04-29 | 2020-09-25 | 杭州涂鸦信息技术有限公司 | 一种智能设备数据交互方法、智能设备和存储装置 |
CN111711940B (zh) * | 2020-04-29 | 2023-10-31 | 杭州涂鸦信息技术有限公司 | 一种智能设备数据交互方法、智能设备和存储装置 |
CN111954039A (zh) * | 2020-07-02 | 2020-11-17 | 深圳市华曦达科技股份有限公司 | 机顶盒蓝牙配置方法、装置、电子设备及存储介质 |
CN113543097A (zh) * | 2021-06-02 | 2021-10-22 | 惠州市德赛西威智能交通技术研究院有限公司 | 一种用于Android系统的多蓝牙交互方法及系统 |
CN113543097B (zh) * | 2021-06-02 | 2024-03-29 | 惠州市德赛西威智能交通技术研究院有限公司 | 一种用于Android系统的多蓝牙交互方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110366039A (zh) | 一种Android系统下不同蓝牙模组的兼容方法 | |
CN110058863A (zh) | Docker容器的构建方法、装置、设备及存储介质 | |
CN105704234B (zh) | 智能设备的控制方法及装置 | |
EP2701059A1 (en) | Method and apparatus for loading application program | |
CN105516154B (zh) | 应用于SEAndroid系统的安全策略配置方法及装置 | |
CN103051525A (zh) | 网关服务中间件系统及方法、包含该系统的装置和系统 | |
CN109947482A (zh) | 一种usb设备的加载方法、存储介质及智能电视 | |
CN103761088A (zh) | 一种适用于arm架构移动设备的多操作系统切换方法 | |
CN110427385A (zh) | 区块链数据更新方法、相关节点及区块链 | |
CN108376078A (zh) | 设备的升级方法、装置以及家电设备 | |
CN109889377A (zh) | 基于Openstack的NFV系统中部署VNF的方法和装置 | |
CN103853586A (zh) | 一种在uefi层实现无线网卡驱动的方法 | |
CN101931603A (zh) | 一种在手持智能终端上实现远程调用的方法 | |
CN107122219A (zh) | 安装文件的获取方法和装置 | |
CN108345449A (zh) | 一种信息处理方法、装置、存储介质及计算机设备 | |
CN110119282A (zh) | 一种基于通用嵌入式计算机的物联网终端及系统 | |
CN102073524B (zh) | 一种无线通讯终端及其自启动的方法 | |
CN104579991A (zh) | 一种路由器、路由系统和路由方法 | |
CN112558903B (zh) | 一种基于组件的分布式仿真模型显控系统和交互方法 | |
CN106648805A (zh) | 一种智能装置、智能系统及智能安装应用的方法 | |
CN103916427B (zh) | 第一移动通信终端及通信方法、物联网系统 | |
CN101193010A (zh) | 家庭智能网络系统的模拟板固件升级方法 | |
WO2021057351A1 (zh) | 在glibc环境下控制安卓蓝牙的装置、方法及终端设备 | |
CN107528898A (zh) | 一种实现物联网模块的方法及装置 | |
Navas et al. | A component-based run-time evolution infrastructure for resource-constrained embedded systems |
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: 20191022 |