CN114040341B - 一种蓝牙广播包上报处理方法及显示设备 - Google Patents
一种蓝牙广播包上报处理方法及显示设备 Download PDFInfo
- Publication number
- CN114040341B CN114040341B CN202010704414.8A CN202010704414A CN114040341B CN 114040341 B CN114040341 B CN 114040341B CN 202010704414 A CN202010704414 A CN 202010704414A CN 114040341 B CN114040341 B CN 114040341B
- Authority
- CN
- China
- Prior art keywords
- broadcast packet
- broadcast
- bluetooth
- matched
- display device
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明公开一种蓝牙广播包上报处理方法及显示设备,当启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;对接收到的多个第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与所述第一广播包相匹配的第二广播包,将所述第一广播包和匹配的第二广播包统一上报给蓝牙模块内的处理单元,以使所述处理单元根据第一广播包和与其匹配的第二广播包,处理显示设备和所述蓝牙设备的连接;其中,第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。本发明提高了显示设备对BLE设备扫描的准确性和效率,提高了蓝牙模块的工作性能。
Description
技术领域
本发明涉及蓝牙通信技术领域,尤其涉及一种蓝牙广播包上报处理方法及显示设备。
背景技术
电视、手机等显示设备可以与BLE(Bluetooth Low Energy,蓝牙低能耗)设备建立连接,以实现所需的功能或服务。在建立连接之前,显示设备需要扫描一定区域内可与本机连接的BLE设备,常用的扫描方式为主动扫描。
主动扫描是指BLE设备B发送广播包B1,广播包B1相当于广播信号,包括部分BLE设备B的相关信息,处于扫描状态的显示设备A接收广播包B1后,向BLE设备B发送扫描请求;BLE设备B接收扫描请求,向显示设备A再次发送广播包B2,广播包B2是在响应扫描请求后追加发送的,广播包B1和广播包B2可以组成相对完整的BLE设备B的设备信息;显示设备A的蓝牙模块的处理单元对接收到的广播包B1和广播包B2进行解析和其他处理,从而完成与BLE设备B的蓝牙连接。
由于蓝牙模块的处理单元一般为单线程的处理机制,因此必须连续接收到BLE设备B的广播包B1和广播包B2,才能正确处理。但是在显示设备A的扫描区域内,可能不只BLE设备B在发送广播包,比如BLE设备C正在发送广播包C1,那么处理单元可能依次接收到广播包B1、广播包C1和广播包B2,即在接收到广播包B2之前,先行接收到了BLE设备C发送的广播包C1,导致广播包B1和广播包B2之间被插入了广播包C1,处理单元没有连续接收到同一设备的两个广播包,也就无法处理对BLE设备B的扫描和连接。
发明内容
为解决上述技术问题,本发明提供一种蓝牙广播包上报处理方法及显示设备。
第一方面提供的显示设备包括蓝牙模块,所述蓝牙模块用于执行:
当启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的多个第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与所述第一广播包相匹配的第二广播包,将所述第一广播包和匹配的第二广播包统一上报给蓝牙模块内的处理单元,以使所述处理单元根据第一广播包和与其匹配的第二广播包,处理显示设备和所述蓝牙设备的连接;其中,第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
第二方面提供的显示设备包括蓝牙模块,所述蓝牙模块用于执行:
当启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的第一广播包进行解析,并对解析后的第一广播包进行缓冲暂存;
对接收到的第二广播包进行解析;在阈值时间内,响应于接收到与解析后的第一广播包相匹配的第二广播包,将解析后相匹配的第一广播包和第二广播包统一上报给蓝牙模块内的处理单元进行后处理;其中,所述第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
第三方面提供一种用于显示设备的蓝牙广播包上报处理方法,包括:
当蓝牙模块启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的多个第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与所述第一广播包相匹配的第二广播包,将所述第一广播包和匹配的第二广播包统一上报给蓝牙模块内的处理单元,以使所述处理单元根据第一广播包和与其匹配的第二广播包,处理显示设备和所述蓝牙设备的连接;其中,所述第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
第四方面提供另一种用于显示设备的蓝牙广播包上报处理方法,包括:
当蓝牙模块启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的第一广播包进行解析,并对解析后的第一广播包进行缓冲暂存;
对接收到的第二广播包进行解析;在阈值时间内,响应于接收到与解析后的第一广播包相匹配的第二广播包,将解析后相匹配的第一广播包和第二广播包统一上报给蓝牙模块内的处理单元进行后处理;其中,所述第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
本申请实施例中所述的蓝牙设备为BLE设备。显示设备与蓝牙设备建立蓝牙连接之前,显示设备启动主动扫描模式来扫描蓝牙设备时,由于同一个显示设备的扫描区域内可能存在多个蓝牙设备正在广播,容易导致广播包传输和上报时,蓝牙模块内的处理单元无法连续接收到同一个蓝牙设备的第一广播包和第二广播包,导致无法处理该蓝牙设备的广播包数据,对此,本申请中在蓝牙模块中增设预处理环节,蓝牙模块接收蓝牙设备的广播包数据后,不会直接上报给处理单元去处理数据,而是先对第一广播包进行缓冲暂存,比如蓝牙模块依次接收到蓝牙设备B的第一广播包B1和蓝牙设备C的第一广播包C1,则先暂存这两个第一广播包,等待各自匹配的第二广播包,比如之后接收到蓝牙设备B的第二广播包B2,则获取到了蓝牙设备B相匹配的一对广播包,则将蓝牙设备B的第一广播包B1和第二广播包B2统一上报给处理单元,处理单元接收后即可对蓝牙设备B的广播包数据进行解析等处理,以完成显示设备与蓝牙设备的连接,又比如之后又接收到蓝牙设备C的第二广播包C2,那么再将蓝牙设备C的第一广播包C1和第二广播包C2上报给处理单元处理即可,这样可以保证处理单元可以同时接收到同一个蓝牙设备相匹配的一对完整广播包数据,提高了显示设备对蓝牙设备扫描的准确性和效率,提高了蓝牙模块的工作性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了显示设备200与控制装置100之间操作场景的示意图;
图2中示例性示出了图1中显示设备200的硬件配置框图;
图3中示例性示出了图1中控制装置100的硬件配置框图;
图4中示例性示出了图1中显示设备200中软件配置示意图;
图5中示例性示出了显示设备200中应用程序的图标控件界面显示示意图;
图6中示例性示出了第一种蓝牙模块的结构示意图;
图7中示例性示出了第二种蓝牙模块的结构示意图;
图8中示例性示出了第三种蓝牙模块的结构示意图;
图9中示例性示出了一种蓝牙广播包上报处理方法的交互逻辑流程图;
图10中示例性示出了另一种蓝牙广播包上报处理方法的交互逻辑流程图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本申请中使用的术语“遥控器”,是指电子设备(如本申请中公开的显示设备)的一个组件,通常可在较短的距离范围内无线控制电子设备。一般使用红外线和/或射频(RF)信号和/或蓝牙与电子设备连接,也可以包括WiFi、无线USB、蓝牙、动作传感器等功能模块。例如:手持式触摸遥控器,是以触摸屏中用户界面取代一般遥控装置中的大部分物理内置硬键。
本申请中使用的术语“手势”,是指用户通过一种手型的变化或手部运动等动作,用于表达预期想法、动作、目的/或结果的用户行为。
图1中示例性示出了根据实施例中显示设备与控制装置之间操作场景的示意图。如图1中示出,用户可通过移动终端300和控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(UI)中为用户提供各种控制。
在一些实施例中,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以实现用移动终端300与显示设备200建立控制指令协议,将遥控控制键盘同步到移动终端300上,通过控制移动终端300上用户界面,实现控制显示设备200的功能。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。
如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
显示设备200,可以液晶显示器、OLED显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。
显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
图2中示例性示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200中包括控制器250、调谐解调器210、通信器220、检测器230、输入/输出接口255、显示器275,音频输出接口285、存储器260、供电电源290、用户接口265、外部装置接口240中的至少一种。
在一些实施例中,显示器275,用于接收源自第一处理器输出的图像信号,进行显示视频内容和图像以及菜单操控界面的组件。
在一些实施例中,显示器275,包括用于呈现画面的显示器组件,以及驱动图像显示的驱动组件。
在一些实施例中,显示视频内容,可以来自广播电视内容,也可以是说,可通过有线或无线通信协议接收的各种广播信号。或者,可显示来自网络通信协议接收来自网络服务器端发送的各种图像内容。
在一些实施例中,显示器275用于呈现显示设备200中产生且用于控制显示设备200的用户操控UI界面。
在一些实施例中,根据显示器275类型不同,还包括用于驱动显示的驱动组件。
在一些实施例中,显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如:通信器可以包括Wifi芯片221,蓝牙通信协议芯片,有线以太网通信协议芯片223等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。
在一些实施例中,显示设备200可以通过通信器220与外部控制装置100或内容提供设备之间建立控制信号和数据信号发送和接收。
在一些实施例中,用户接口265,可用于接收控制装置100(如:红外遥控器等)红外控制信号。
在一些实施例中,检测器230是显示设备200用于采集外部环境或与外部交互的信号。
在一些实施例中,检测器230包括光接收器,用于采集环境光线强度的传感器,可以通过采集环境光可以自适应性显示参数变化等。
在一些实施例中,检测器230还可以包括图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以及用于采集用户的属性或与用户交互手势,可以自适应变化显示参数,也可以识别用户手势,以实现与用户之间互动的功能。
在一些实施例中,检测器230还可以包括温度传感器等,如通过感测环境温度。
在一些实施例中,显示设备200可自适应调整图像的显示色温。如当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调,或当温度偏低的环境时,可以调整显示设备200显示图像偏暖色调。
在一些实施例中,检测器230还可包括声音采集器231等,如麦克风,可以用于接收用户的声音。示例性的,包括用户控制显示设备200的控制指令的语音信号,或采集环境声音,用于识别环境场景类型,使得显示设备200可以自适应适应环境噪声。
在一些实施例中,如图2所示,输入/输出接口255被配置为,可进行控制器250与外部其他设备或其他控制器250之间的数据传输。如接收外部设备的视频信号数据和音频信号数据、或命令指令数据等。
在一些实施例中,外部装置接口240可以包括,但不限于如下:高清多媒体接口(HDMI接口241)、模拟或数据高清分量输入接口243、复合视频输入接口242、USB输入接口244、RGB端口等任一个或多个接口。也可以是上述多个接口形成复合性的输入/输出接口。
在一些实施例中,如图2所示,调谐解调器210被配置为,通过有线或无线接收方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,从多多个无线或有线广播电视信号中解调出音视频信号,该音视频信号可以包括用户所选择电视频道频率中所携带的电视音视频信号,以及EPG数据信号。
在一些实施例中,调谐解调器210解调的频点受到控制器250的控制,控制器250可根据用户选择发出控制信号,以使的调制解调器响应用户选择的电视信号频率以及调制解调该频率所携带的电视信号。
在一些实施例中,广播电视信号可根据电视信号广播制式不同区分为地面广播信号、有线广播信号、卫星广播信号或互联网广播信号等。或者根据调制类型不同可以区分为数字调制信号,模拟调制信号等。或者根据信号种类不同区分为数字信号、模拟信号等。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。这样,机顶盒将接收到的广播电视信号调制解调后的电视音视频信号输出给主体设备,主体设备经过第一输入/输出接口接收音视频信号。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接或图标。与所选择的对象有关操作,例如:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。用于选择UI对象用户命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
如图2所示,控制器250包括随机存取存储器251(Random Access Memory,RAM)、只读存储器252(Read-Only Memory,ROM)、视频处理器270、音频处理器280、其他处理器253(例如:图形处理器(Graphics Processing Unit,GPU)、中央处理器254(CentralProcessing Unit,CPU)、通信接口(Communication Interface),以及通信总线256(Bus)中的至少一种。其中,通信总线连接各个部件。
在一些实施例中,RAM 251用于存储操作系统或其他正在运行中的程序的临时数据在一些实施例中,ROM 252用于存储各种系统启动的指令。
在一些实施例中,ROM 252用于存储一个基本输入输出系统,称为基本输入输出系统(Basic Input Output System,BIOS)。用于完成对系统的加电自检、系统中各功能模块的初始化、系统的基本输入/输出的驱动程序及引导操作系统。
在一些实施例中,在收到开机信号时,显示设备200电源开始启动,CPU运行ROM252中系统启动指令,将存储在存储器的操作系统的临时数据拷贝至RAM 251中,以便于启动或运行操作系统。当操作系统启动完成后,CPU再将存储器中各种应用程序的临时数据拷贝至RAM 251中,然后,以便于启动或运行各种应用程序。
在一些实施例中,CPU处理器254,用于执行存储在存储器中操作系统和应用程序指令。以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及一个或多个子处理器。主处理器,用于在预加电模式中执行显示设备200一些操作,和/或在正常模式下显示画面的操作。一个或多个子处理器,用于在待机模式等状态下一种操作。
在一些实施例中,图形处理器253,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象。以及包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器270被配置为将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2,则解复用模块进行解复用成视频信号和音频信号等。
视频解码模块,则用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对转换输入视频帧率,如将60Hz帧率转换为120Hz帧率或240Hz帧率,通常的格式采用如插帧方式实现。
显示格式化模块,则用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,图形处理器253可以和视频处理器可以集成设置,也可以分开设置,集成设置的时候可以执行输出给显示器的图形信号的处理,分离设置的时候可以分别执行不同的功能,例如GPU+FRC(Frame Rate Conversion))架构。
在一些实施例中,音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,视频处理器270可以包括一颗或多颗芯片组成。音频处理器,也可以包括一颗或多颗芯片组成。
在一些实施例中,视频处理器270和音频处理器280,可以单独的芯片,也可以于控制器一起集成在一颗或多颗芯片中。
在一些实施例中,音频输出,在控制器250的控制下接收音频处理器280输出的声音信号,如:扬声器286,以及除了显示设备200自身携带的扬声器之外,可以输出至外接设备的发生装置的外接音响输出端子287,如:外接音响接口或耳机接口等,还可以包括通信接口中的近距离通信模块,例如:用于进行蓝牙扬声器声音输出的蓝牙模块。
供电电源290,在控制器250控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以包括安装显示设备200内部的内置电源电路,也可以是安装在显示设备200外部电源,在显示设备200中提供外接电源的电源接口。
用户接口265,用于接收用户的输入信号,然后,将接收用户输入信号发送给控制器250。用户输入信号可以是通过红外接收器接收的遥控器信号,可以通过网络通信模块接收各种用户控制信号。
在一些实施例中,用户通过控制装置100或移动终端300输入用户命令,用户输入接口则根据用户的输入,显示设备200则通过控制器250响应用户的输入。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示器中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
存储器260,包括存储用于驱动显示设备200的各种软件模块。如:第一存储器中存储的各种软件模块,包括:基础模块、检测模块、通信模块、显示控制模块、浏览器模块、和各种服务模块等中的至少一种。
基础模块用于显示设备200中各个硬件之间信号通信、并向上层模块发送处理和控制信号的底层软件模块。检测模块用于从各种传感器或用户输入接口中收集各种信息,并进行数模转换以及分析管理的管理模块。
例如,语音识别模块中包括语音解析模块和语音指令数据库模块。显示控制模块用于控制显示器进行显示图像内容的模块,可以用于播放多媒体图像内容和UI界面等信息。通信模块,用于与外部设备之间进行控制和数据通信的模块。浏览器模块,用于执行浏览服务器之间数据通信的模块。服务模块,用于提供各种服务以及各类应用程序在内的模块。同时,存储器260还用存储接收外部数据和用户数据、各种用户界面中各个项目的图像以及焦点对象的视觉效果图等。
图3示例性示出了根据示例性实施例中控制装置100的配置框图。如图3所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
控制装置100被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。
在一些实施例中,控制装置100可是一种智能设备。如:控制装置100可根据用户需求安装控制显示设备200的各种应用。
在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制装置100类似功能。如:用户可以通过安装应用,在移动终端300或其他智能电子设备上可提供的图形用户界面的各种功能键或虚拟按钮,以实现控制装置100实体按键的功能。
控制器110包括处理器112和RAM 113和ROM 114、通信接口130以及通信总线。控制器用于控制控制装置100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:将接收到的用户输入信号发送至显示设备200上。通信接口130可包括WiFi芯片131、蓝牙模块132、NFC模块133等其他近场通信模块中至少之一种。
用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。如:用户可以通过语音、触摸、手势、按压等动作实现用户指令输入功能,输入接口通过将接收的模拟信号转换为数字信号,以及数字信号转换为相应指令信号,发送至显示设备200。
输出接口包括将接收的用户指令发送至显示设备200的接口。在一些实施例中,可以红外接口,也可以是射频接口。如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
在一些实施例中,控制装置100包括通信接口130和输入输出接口140中至少一者。控制装置100中配置通信接口130,如:WiFi、蓝牙、NFC等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至显示设备200.
存储器190,用于在控制器的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
供电电源180,用于在控制器的控制下为控制装置100各元件提供运行电力支持。可以电池及相关控制电路。
在一些实施例中,系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
参见图4,在一些实施例中,将系统分为四层,从上至下分别为应用程序(Applications)层(简称“应用层”),应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如嗨见程序、K歌程序、魔镜程序等。在具体实施时,应用程序层中的应用程序包不限于以上举例,实际还可以包括其它应用程序包,本申请实施例对此不做限制。
框架层为应用程序层的应用程序提供应用编程接口(Aplication PogrammingIterface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers)、内容提供者(Content Provider)和视图系统(View System)等,其中管理器包括以下模块中的至少一个:活动管理器(Activity Manager)用与和系统中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(Notification Manager)用于控制通知消息的显示和清除;窗口管理器(WindowManager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于:管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出(包括将显示窗口中当前显示的用户界面切换到系统桌面)、打开、后退(包括将显示窗口中当前显示的用户界面切换到当前显示的用户界面的上一级用户界面)等。
在一些实施例中,窗口管理器用于管理所有的窗口程序,比如获取显示器大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,触摸传感器、压力传感器等)等。
在一些实施例中,内核层还包括用于进行电源管理的电源驱动模块。
在一些实施例中,图4中的软件架构对应的软件程序和/或模块存储在图2或图3所示的第一存储器或第二存储器中。
在一些实施例中,以魔镜应用(拍照应用)为例,当遥控接收装置接收到遥控器输入操作,相应的硬件中断被发给内核层。内核层将输入操作加工成原始输入事件(包括输入操作的值,输入操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,根据焦点当前的位置识别该输入事件所对应的控件以及以该输入操作是确认操作,该确认操作所对应的控件为魔镜应用图标的控件,魔镜应用调用应用框架层的接口,启动魔镜应用,进而通过调用内核层启动摄像头驱动,实现通过摄像头捕获静态图像或视频。
在一些实施例中,对于具备触控功能的显示设备,以分屏操作为例,显示设备接收用户作用于显示器上的输入操作(如分屏操作),内核层可以根据输入操作产生相应的输入事件,并向应用程序框架层上报该事件。由应用程序框架层的活动管理器设置与该输入操作对应的窗口模式(如多窗口模式)以及窗口位置和大小等。应用程序框架层的窗口管理根据活动管理器的设置绘制窗口,然后将绘制的窗口数据发送给内核层的显示驱动,由显示驱动在显示器的不同显示区域显示与之对应的应用界面。
在一些实施例中,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播(Video On Demand,VOD)应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。
在一些实施例中,直播电视应用程序,可以通过不同的信号源提供直播电视。例如,直播电视应用程可以使用来自有线电视、无线广播、卫星服务或其他类型的直播电视服务的输入提供电视信号。以及,直播电视应用程序可在显示设备200上显示直播电视信号的视频。
在一些实施例中,视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。例如,视频点播可以来自云存储的服务器端、来自包含已存视频节目的本地硬盘储存器。
在一些实施例中,媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。例如,媒体中心,可以为不同于直播电视或视频点播,用户可通过媒体中心应用程序访问各种图像或音频所提供服务。
在一些实施例中,应用程序中心,可以提供储存各种应用程序。应用程序可以是一种游戏、应用程序,或某些和计算机系统或其他设备相关但可以在智能电视中运行的其他应用程序。应用程序中心可从不同来源获得这些应用程序,将它们储存在本地储存器中,然后在显示设备200上可运行。
以上实施例示出了一种显示设备,在实际应用中显示设备可以是智能手机、平板电脑、笔记本电脑、电视等设备,这些设备硬件中需要配置蓝牙模块,蓝牙模块支持BLE技术以及支持启用主动扫描模式对蓝牙设备进行扫描,并能与蓝牙设备进行蓝牙连接。
本申请中所述的蓝牙设备,在应用场景中是指BLE设备,即蓝牙低能耗设备,能够以一定周期发送广播包,广播包中包括一些设备相关信息,比如厂商、设备类型、设备名称、MAC(Media Access Control,媒体存取控制)地址等,显示设备的蓝牙模块启动设备扫描后,接收并解析广播包,然后进行设备识别、配对和连接等处理过程。蓝牙设备包括但不限于遥控器、鼠标、键盘、耳机等设备。
显示设备扫描蓝牙设备时,一般包括两种模式,一种是被动扫描(PassiveScanning)模式,即蓝牙设备发出广播包,蓝牙模块启动扫描窗口后可以检测和接收到广播包,然后将广播包直接上报给内部的处理单元去进行解析、设备识别、配对等处理,但由于广播包的字段有效长度较短,单独一个广播包能够包含的设备信息有限,即无法在一个广播包中携带有完整的设备信息,而在实际应用中,为了保证设备识别和配对的准确性,处理单元往往需要获取到完整的设备信息,因此可采用第二种主动扫描模式。
主动扫描(Active Scanning)模式是指:蓝牙设备发送第一广播包(Advert),显示设备的蓝牙模块接收到第一广播包后,自动触发向对应的蓝牙设备发送扫描请求(Scan-Require/SCAN-REQ);蓝牙设备接收并响应扫描请求后,向显示设备追加发送第二广播包(Scan-R esponse/SCAN-RSP),第一广播包和第二广播包的组合可以包括完整的设备信息,然后将第一广播包和第二广播包上报给上层的处理单元去处理。
蓝牙模块可以接收蓝牙设备发送的第一广播包和第二广播包等数据,还能通过内部预置的处理单元对广播包数据进行解析、设备识别、安全连接等处理。蓝牙模块接收扫描区域内各设备的第一广播包,并转发给处理单元,以及向蓝牙设备发送扫描请求,接收蓝牙设备响应扫描请求后发送的第二广播包,并将第二广播包转发给处理单元,处理单元接收第一广播包和第二广播包即可进行数据处理,完成广播包数据的解析、设备识别、配对、安全连接等。本实施例目的在于实现处理单元可以同时接收到一对相匹配的广播包,这里所述一对相匹配的广播包是指来源于同一个蓝牙设备的第一广播包和第二广播包,使得处理单元能够准确处理该蓝牙设备的数据,以准确完整地获取其设备信息。
在一些实施例中,对于图2所示的蓝牙模块222,蓝牙模块222被配置为执行:
当启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包。
然后是预处理环节:对接收到的多个第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与所述第一广播包相匹配的第二广播包,将所述第一广播包和匹配的第二广播包统一上报给蓝牙模块内的处理单元;其中,第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
预处理环节可以设置对应单元模块,如图6所示,在处理单元222-1的下层设置预处理单元222-2,预处理单元可以配置在蓝牙模块的HCI(Host Controller Interface,主机控制接口)层,HCI用于将从蓝牙设备接收到的广播包数据发送给处理单元,即在HCI向处理单元上报广播包数据之前,先在HCI层中对接收到的广播包数据进行预处理,这里所述的预处理是指广播包的匹配,只要有一个蓝牙设备发送的第一广播包和第二广播包匹配凑对成功,即可将这一对匹配的广播包上报给处理单元去处理;如果预处理单元中只接收到某个蓝牙设备的第一广播包,而还没接收到其第二广播包,则预处理单元需要缓冲暂存该蓝牙设备的第一广播包,待后续接收到该蓝牙设备发送的第二广播包,则再将其第一广播包和第二广播包同时上报给处理单元。
也就是说,当显示设备的扫描区域内有多个蓝牙设备正在发送广播,并且蓝牙模块222当前启用的扫描模式是主动扫描时,可以同时接收这些蓝牙设备发送的第一广播包,并将多个第一广播包都发送给预处理单元;预处理单元暂存多个蓝牙设备的第一广播包,相当于形成了数据上报队列,未满足匹配条件时,广播包不上报给处理单元,仍在队列中等待;满足匹配条件的第一广播包和第二广播包上报给处理单元,预处理单元对广播包数据只是暂存,当一对匹配的广播包上报处理单元后,预处理单元可以删除这一对匹配的广播包,从而将对应的蓝牙设备广播包上报进程从队列中撤销。
判断是否满足匹配条件需要在阈值时间内进行,即保证一对相匹配的广播包的接收时间间隔Tj小于或等于阈值时间Ty,这样才能保证这一对相匹配的广播包是有效数据,可以上报给处理单元。设预处理单元接收到蓝牙设备1的第一广播包的时间为T1,接收到蓝牙设备1的第二广播包的时间为T2,则Tj=T2-T1,如果Tj大于Ty,说明蓝牙设备1响应扫描请求超时,则认为蓝牙设备1的的第一广播包和第二广播包为无效数据,不能上报给处理单元,将蓝牙设备1的一对广播包丢弃。
在一些实施例中,第一广播包和第二广播包中可携带有设备的MAC地址,每个设备对应的MAC地址是唯一且固定的,因此可用于识别不同的蓝牙设备。
在一些实施例中,第一广播包中可以携带有阈值时间,不同蓝牙设备的第一广播包对应的阈值时间可能相同或不同,用于后续在接收到第二广播包时,确定一对匹配的广播包是否是可以向处理单元上报的有效数据。
在一些实施例中,在预处理环节中,可以创建一个设备广播列表,列表中每一项对应于一个广播数据,广播数据项至少包括一个蓝牙设备的MAC地址、阈值时间及其第一广播包,这样即可通过设备广播列表实现上报队列的管理,使队列中每个蓝牙设备的广播包上报进程能够准确可靠地进行。设备广播列表中可以按照接收时间的先后顺序来排序和插入每个广播数据项。蓝牙模块(进一步可以是预处理单元)具体用于执行:响应于接收到第一广播包,从第一广播包中获取MAC地址和阈值时间,根据MAC地址、阈值时间和第一广播包,得到对应的广播数据项,并将所述广播数据项暂存在设备广播列表中。当一个广播数据项插入设备广播列表中时,即在上报队列中加入了一个新的蓝牙设备广播包上报进程。
在一些实施例中,还提供如何确定是否满足匹配条件的方式,蓝牙模块(进一步可以是预处理单元)具体用于执行:响应于接收到第二广播包,从第二广播包中获取第一目标MAC地址;根据所述第一目标MAC地址,在所述设备广播列表中查找与所述第二广播包相匹配的第一广播包;判断第一广播包和与其相匹配的第二广播包的接收时间间隔是否大于阈值时间,如果判断结果为是,将所述第一广播包和匹配的第二广播包统一上报给处理单元进行处理;反之,则将所述第一广播包和匹配的第二广播包丢弃。
可以根据广播包中指定的字段,来识别接收到的是第一广播包或是第二广播包,预处理单元每接收到一个广播包,可以记录该广播包的接收时间,同一个设备的第一广播包的接收时间早于第二广播包的接收时间。预处理单元中已经具有设备广播列表,那么预处理单元每接收到一个第二广播包,就需要确定这个第二广播包与列表中哪一个设备的第一广播包匹配。当预处理单元接收到一个第二广播包时,获取第二广播包中记录的设备的MAC地址,这里命名为目标MAC地址,然后利用目标MAC地址在设备广播列表中查找同一个MAC地址对应的第一广播包,如果MAC地址对应的第一广播包和第二广播包的接收时间间隔小于或等于阈值时间,则可以将这两个广播包统一上报给处理单元,处理单元则用于根据第一广播包和与其匹配的第二广播包,处理显示设备和蓝牙设备的连接;反之,如果MAC地址对应的第一广播包和第二广播包的接收时间间隔大于阈值时间,则这两个广播包是无效的数据,将第一广播包和匹配的第二广播包丢弃,蓝牙模块之后还可以重新扫描被丢弃的广播包数据对应的蓝牙设备。
在一些实施例中,由于蓝牙设备在发送第一广播包之后,需要接收并响应扫描请求,才会发送第二广播包,因此预处理单元接收这对匹配的广播包时会具有接收时间的间隔,该接收时间间隔允许在阈值时间内。在接收时间间隔对应的时间段内,蓝牙设备的第一广播包可能发生更新,比如阈值时间或其他设备信息存在变更,则蓝牙设备可以再次发送更新后的第一广播包。对此,蓝牙模块(进一步可以是预处理单元)还被配置为执行:在接收到设备广播列表中第二目标MAC地址对应的第二广播包之前,响应于再次接收到所述第二目标MAC地址对应的第一广播包,则将设备广播列表中当前暂存的第二目标MAC地址对应的第一广播包删除,并将新接收的第二目标MAC地址对应的第一广播包暂存在设备广播列表中,同时对应的阈值时间。其中,第二目标MAC地址是设备广播列表中的任意一个MAC地址。
比如,第二目标MAC地址对应蓝牙设备3,预处理单元接收到蓝牙设备D的第一广播包D1之后,获取到其MAC地址1和阈值时间1,然后在设备广播列表中新增了蓝牙设备D对应的广播数据项D,广播数据项D包括MAC地址1、阈值时间1和第一广播包D1;在预处理单元接收到BLE设备D的第二广播包D2之前,如果又接收蓝牙设备D发送的更新后的第一广播包D1′,则可以将原来广播数据项D中的第一广播包D1删除,将更新后的第一广播包D1′暂存在广播数据项D中,同时将广播数据项D中的阈值时间1替换为阈值时间1′,MAC地址1不变,则更新后的广播数据项D包括MAC地址1、阈值时间1′和第一广播包D1′。
前一实施例是对原来的广播数据项进行更新,利用更新后的第一广播包覆盖替换旧的第一广播包,在其他实施例中,可以删除旧的广播数据项,插入新增的广播数据项,比如将广播数据项D从设备广播列表中整体删除,然后插入新的广播数据项D′,广播数据项D′中包括MAC地址1、阈值时间1′和第一广播包D1′。
显示设备与蓝牙设备建立蓝牙连接之前,显示设备启动主动扫描模式来扫描蓝牙设备时,由于同一个显示设备的扫描区域内可能存在多个蓝牙设备正在广播,容易导致广播包传输和上报时,处理单元无法连续接收到同一个蓝牙设备的第一广播包和第二广播包,导致处理单元无法处理该蓝牙设备的广播包数据,为解决该技术问题,本申请前述各实施例中在蓝牙模块中增设预处理环节,并可以设置对应的预处理单元,蓝牙模块222接收蓝牙设备的广播包数据后,不会直接上报给处理单元去处理数据,而是先发送给预处理单元进行缓冲暂存,比如预处理单元依次接收到蓝牙设备B的第一广播包B1和蓝牙设备C的第一广播包C1,则在预处理单元中先暂存这两个第一广播包,等待各自匹配的第二广播包,比如预处理单元之后接收到蓝牙设备B的第二广播包B2,则获取到了蓝牙设备B相匹配的一对广播包,则将蓝牙设备B的第一广播包B1和第二广播包B2统一上报给处理单元,处理单元接收后即可对蓝牙设备B的广播包数据进行解析等处理,以完成显示设备与蓝牙设备B的连接,又比如之后又接收到蓝牙设备C的第二广播包C2,那么再将蓝牙设备C的第一广播包C1和第二广播包C2上报给处理单元处理即可,这样可以保证处理单元可以同时接收到同一个蓝牙设备相匹配的一对完整广播包数据,提高了显示设备对蓝牙设备扫描的准确性和效率,提高了蓝牙模块的工作性能。
预处理单元222-2可以设置在HCI中,在实际应用中预处理单元222-2不限于图6设置的层面。在一些实施例中,如图7所示,预处理单元222-2可以设置在HCI的上层,即设置在处理单元222-1与HCI之间,HCI将接收到的广播包转发给其上层的预处理单元222-2,从而在处理单元222-1处理广播包数据之前,完成对广播包的缓冲暂存、匹配凑对和上报的预处理过程。
在一些实施例中,蓝牙模块222也可以先对广播包进行解析处理,并将解析后的一对匹配的广播包上报给处理单元进行后续处理。蓝牙模块还被配置为对接收到的第一广播包进行解析,并对解析后的第一广播包进行缓冲暂存;对接收到的第二广播包进行解析;在阈值时间内,响应于接收到与解析后的第一广播包相匹配的第二广播包,将解析后相匹配的第一广播包和第二广播包统一上报给处理单元进行后处理。
在一些实施例中,如图8所示,处理单元222-1的底层可以包括解析子单元222-1A,预处理单元222-2设置在解析子单元222-1A中,HCI将接收到的广播包转发给解析子单元222-1A进行解析处理,预处理单元222-2对解析后的广播包进行预处理过程。
解析子单元222-1A被配置为执行:对接收到的第一广播包进行解析,并将解析后的第一广播包发送给预处理单元;以及,对接收到的第二广播包进行解析,将解析后的第二广播包发送给预处理单元。
本实施例中,预处理单元222-2被配置为执行:对解析后的第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与解析后的第一广播包相匹配的第二广播包,将解析后相匹配的第一广播包和第二广播包统一上报给其他处理单元进行后处理。
前述各实施例是对先未解析的广播包进行缓冲暂存、匹配凑对和上报等预处理,然后上报给处理单元后,由处理单元进行解析、设备设备、安全连接等处理过程。本实施例是先由解析子单元222-1A对接收到的第一/第二广播包进行解析,然后将解析后的第一/第二广播包发送给预处理单元,预处理单元则是对解析后的广播包进行缓冲暂存、匹配凑对和上报等预处理,上报给其他处理单元的是一对解析后的匹配的广播包,这样处理单元无需再对这一对匹配的广播包进行解析,而是对解析后匹配的广播包进行后处理,这里所述的后处理是指除解析之外的其他处理流程。也就是说,只要在进行后处理之前完成广播包数据的预处理即可,因此预处理单元的位置可以相对灵活地设置,并不限于图6~图8的示例。
需要说明的是,对于上述各实施例中所述的广播包预处理,在预处理过程中,第一广播包和相匹配的第二广播包是既关联又相对独立的,关联是指第一广播包和与其匹配的第二广播包来源于同一个蓝牙设备,两者需要统一上报给处理单元进行同步处理;相对独立是指第一广播包和第二广播包是始终分为两包的,而不会整合为一个广播包进行上报,这是由于一个广播包的字段长度有限,无法容纳两个广播包包含的设备信息。
另外,对于传统的BLE主动扫描模式下的广播包上报过程,由于第一广播包和第二广播包之间存在接收时间间隔,因此上报给处理单元的时间也存在时间间隔,所以要求是处理单元连续接收到第一广播包和与其匹配的第二广播包才能进行正确处理;而本申请中由于设置了预处理单元及其配置的预处理逻辑,因此第一广播包和与其匹配的第二广播包是统一上报给处理单元,使得处理单元同时接收到一对匹配的广播包,这样可以同时对第一广播包和第二广播包进行处理,很好地适应了处理单元的单线程(单线程是蓝牙规范框架决定的)机制,使得数据处理更加准确,提高了扫描效率和扫描的准确性,进而提高了蓝牙连接的效率。本申请所述的蓝牙广播包上报机制可以适用于中、低、高性能的蓝牙模块,实现中低端蓝牙模块也能在主动扫描模式下准确上报和处理广播包数据。
蓝牙模块可能配置一种或多种扫描模式,并根据实际需要选择启用哪种扫描模式,常用的扫描模式一般为主动扫描模式和被动扫描模式,其中被动扫描模式下,是将第一广播包直接上报给处理单元进行处理,蓝牙模块不发送扫描请求,也不会接收到蓝牙设备的第二广播包。上述各实施例主要针对主动扫描,在一些实施例中,针对图6和图7的示例,蓝牙模块还被配置为执行:当启用被动扫描模式时,响应于接收到每个蓝牙设备发送的第一广播包,将所述第一广播包发送给所述预处理单元,以使所述第一广播包经预处理单元缓冲后上报给处理单元进行处理。也就是说,当蓝牙模块启用被动扫描模式时,预处理单元只对接收到的广播包起到缓冲的作用,不作实际处理,并将广播包直接向更上层的处理单元上报即可。
在一些实施例中,针对图8的示例,当蓝牙模块启用被动扫描模式时,蓝牙模块响应于接收到每个蓝牙设备发送的第一广播包,将所述第一广播包发送给解析子单元222-1A;解析子单元222-1A对第一广播包进行解析处理,并将解析后的第一广播包发送给预处理单元,以使解析后的第一广播包经预处理单元缓冲后上报给处理单元进行处理。也就是说,当蓝牙模块启用被动扫描模式时,预处理单元只对解析后的第一广播包起到缓冲的作用,不作实际处理,并将解析后的第一广播包直接向更上层上报即可。被动扫描模式下,蓝牙模块只被动接收蓝牙设备的一个广播包,即只接收第一广播包,而接收不到第二广播包。对于其他类型的扫描模式,也可以采用如上各实施例相似的方法。
图9中示例性示出了一种蓝牙广播包上报处理方法的交互逻辑流程图,方法包括:
当蓝牙模块启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,将所述第一广播包发送给预处理单元,以使所述第一广播包经预处理单元缓冲后直接上报给处理单元进行处理;
当蓝牙模块启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,将第一广播包发送给预处理单元,同时向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包,并将第二广播包发送给预处理单元;
预处理单元对接收到的多个第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与所述第一广播包相匹配的第二广播包,将所述第一广播包和匹配的第二广播包统一上报给处理单元;如果第一广播包和相匹配的第二广播包之间的接收时间间隔大于阈值时间,则丢弃这一对匹配的广播包;
处理单元根据第一广播包和与其匹配的第二广播包,处理显示设备和蓝牙设备的连接。
本实施例所述的方法还可包括前述显示设备实施例中涉及其他的相关程序步骤,可参照前述相关实施例,这里不再赘述。
图10中示例性示出了另一种蓝牙广播包上报处理方法的交互逻辑流程图,方法包括:
当蓝牙模块启用主动扫描模式时,响应于接收到每个蓝牙设备发送的第一广播包,将所述第一广播包发送给解析子单元,解析子单元对第一广播包进行解析处理,并将解析后的第一广播包发送给预处理单元,以使解析后的第一广播包经预处理单元缓冲后直接上报给处理单元进行后处理;
当蓝牙模块启用主动扫描模式时,响应于接收到每个蓝牙设备发送的第一广播包,将第一广播包发送给解析子单元,同时向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包,并将第二广播包发送给解析子单元;
解析子单元对接收到的第一广播包进行解析,并将解析后的第一广播包发送给预处理单元;以及,对接收到的第二广播包进行解析,将解析后的第二广播包发送给预处理单元;
解析子单元中的预处理单元对解析后的第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与解析后的第一广播包相匹配的第二广播包,将解析后相匹配的第一广播包和第二广播包统一上报给处理单元进行后处理;如果解析后相匹配的第一广播包和第二广播包之间的接收时间间隔大于阈值时间,则丢弃这一对匹配的广播包。
本实施例所述的方法还可包括前述显示设备实施例中涉及其他的相关程序步骤,可参照前述相关实施例,这里不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,当计算机存储介质位于显示设备中时,该程序执行时可包括蓝牙模块222被配置执行的蓝牙广播包上报处理方法。其中,计算机存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本说明书中各个实施例之间相同相似的部分互相参照即可,部分实施例中不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,并不构成对本发明保护范围的限定。本发明的真正范围和精神由所附的权利要求指出。
Claims (8)
1.一种显示设备,包括蓝牙模块,其特征在于,所述蓝牙模块用于执行:
当启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的多个第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与所述第一广播包相匹配的第二广播包,将所述第一广播包和匹配的第二广播包统一上报给蓝牙模块内的处理单元,以使所述处理单元根据第一广播包和与其匹配的第二广播包,处理显示设备和所述蓝牙设备的连接;其中,第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
2.根据权利要求1所述的显示设备,其特征在于,所述蓝牙模块具体用于:
响应于接收到第一广播包,从第一广播包中获取MAC地址和阈值时间;
根据MAC地址、阈值时间和第一广播包,得到对应的广播数据项,并将所述广播数据项暂存在设备广播列表中。
3.根据权利要求2所述的显示设备,其特征在于,所述蓝牙模块具体用于:
响应于接收到第二广播包,从第二广播包中获取第一目标MAC地址;
根据所述第一目标MAC地址,在所述设备广播列表中查找与所述第二广播包相匹配的第一广播包;
判断第一广播包和与其相匹配的第二广播包的接收时间间隔是否大于阈值时间,如果判断结果为否,将所述第一广播包和匹配的第二广播包统一上报给所述处理单元进行处理;反之,则将所述第一广播包和匹配的第二广播包丢弃。
4.根据权利要求2所述的显示设备,其特征在于,所述蓝牙模块还用于:
在接收到设备广播列表中第二目标MAC地址对应的第二广播包之前,响应于再次接收到所述第二目标MAC地址对应的第一广播包,则将设备广播列表中当前暂存的第二目标MAC地址对应的第一广播包删除,并将新接收的第二目标MAC地址对应的第一广播包暂存在设备广播列表中,同时更新对应的阈值时间。
5.根据权利要求2所述的显示设备,其特征在于,所述蓝牙模块还用于:
当启用被动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,将所述第一广播包上报给所述处理单元进行处理。
6.一种显示设备,包括蓝牙模块,其特征在于,所述蓝牙模块用于执行:
当启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的第一广播包进行解析,并对解析后的第一广播包进行缓冲暂存;
对接收到的第二广播包进行解析;在阈值时间内,响应于接收到与解析后的第一广播包相匹配的第二广播包,将解析后相匹配的第一广播包和第二广播包统一上报给蓝牙模块内的处理单元进行后处理;其中,所述第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
7.一种蓝牙广播包上报处理方法,其特征在于,包括:
当蓝牙模块启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的多个第一广播包进行缓冲暂存;在阈值时间内,响应于接收到与所述第一广播包相匹配的第二广播包,将所述第一广播包和匹配的第二广播包统一上报给蓝牙模块内的处理单元,以使所述处理单元根据第一广播包和与其匹配的第二广播包,处理显示设备和所述蓝牙设备的连接;其中,所述第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
8.一种蓝牙广播包上报处理方法,其特征在于,包括:
当蓝牙模块启用主动扫描模式时,响应于接收到蓝牙设备发送的第一广播包,向所述蓝牙设备发送扫描请求,以及接收所述蓝牙设备在响应所述扫描请求后发送的第二广播包;
对接收到的第一广播包进行解析,并对解析后的第一广播包进行缓冲暂存;
对接收到的第二广播包进行解析;在阈值时间内,响应于接收到与解析后的第一广播包相匹配的第二广播包,将解析后相匹配的第一广播包和第二广播包统一上报给蓝牙模块内的处理单元进行后处理;其中,所述第一广播包与其匹配的第二广播包来源于同一个蓝牙设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704414.8A CN114040341B (zh) | 2020-07-21 | 2020-07-21 | 一种蓝牙广播包上报处理方法及显示设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704414.8A CN114040341B (zh) | 2020-07-21 | 2020-07-21 | 一种蓝牙广播包上报处理方法及显示设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114040341A CN114040341A (zh) | 2022-02-11 |
CN114040341B true CN114040341B (zh) | 2023-03-24 |
Family
ID=80134028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010704414.8A Active CN114040341B (zh) | 2020-07-21 | 2020-07-21 | 一种蓝牙广播包上报处理方法及显示设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114040341B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105451184A (zh) * | 2014-09-30 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 无线通信方法及设备 |
CN105681846B (zh) * | 2016-01-29 | 2018-11-27 | 深圳创维数字技术有限公司 | 一种机顶盒进行蓝牙匹配的方法及机顶盒 |
WO2018076604A1 (zh) * | 2016-10-25 | 2018-05-03 | 华为技术有限公司 | 一种蓝牙配对方法以及终端设备 |
CN106878926B (zh) * | 2017-02-08 | 2020-11-06 | 泰凌微电子(上海)有限公司 | 一种基于低功耗蓝牙的数据传输方法、从主设备及系统 |
CN108093385B (zh) * | 2017-12-26 | 2021-06-01 | 海信视像科技股份有限公司 | 蓝牙控制器处理广播包的方法、蓝牙控制器和蓝牙设备 |
-
2020
- 2020-07-21 CN CN202010704414.8A patent/CN114040341B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114040341A (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935518B (zh) | 一种视频投屏方法及显示设备 | |
CN111752518A (zh) | 一种显示设备投屏方法及显示设备 | |
CN112055240B (zh) | 一种显示设备及其与遥控器配对的操作提示展示方法 | |
CN111970549B (zh) | 菜单显示方法和显示设备 | |
CN111897478A (zh) | 一种页面显示方法及显示设备 | |
CN112087671B (zh) | 一种输入法控件的操控提示信息的显示方法及显示设备 | |
CN112437334A (zh) | 一种显示设备 | |
CN112153440A (zh) | 一种显示设备及显示系统 | |
CN111954059A (zh) | 屏保的展示方法及显示设备 | |
CN112306604B (zh) | 一种传输文件的进度显示方法及显示设备 | |
CN112272331B (zh) | 一种节目频道列表快速展示的方法及显示设备 | |
CN112040535B (zh) | 一种Wifi处理方法及显示设备 | |
CN112269668A (zh) | 一种应用资源共享及显示设备 | |
CN112399217A (zh) | 显示设备及与功放设备建立通信连接的方法 | |
CN112040340A (zh) | 资源文件获取方法及显示设备 | |
CN111984167A (zh) | 一种快捷命名的方法及显示设备 | |
CN114040341B (zh) | 一种蓝牙广播包上报处理方法及显示设备 | |
CN114302197A (zh) | 一种语音分离控制方法及显示设备 | |
CN113971049A (zh) | 一种后台服务管理方法及显示设备 | |
CN114079827A (zh) | 菜单显示方法和显示设备 | |
CN111931692A (zh) | 显示设备及图像识别方法 | |
CN114390190A (zh) | 显示设备及监测应用启动摄像头的方法 | |
CN112231088B (zh) | 一种浏览器进程优化方法及显示设备 | |
CN112291600B (zh) | 一种缓存方法及显示设备 | |
CN112087651B (zh) | 显示询问信息的方法及智能电视 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |