CN115022852B - 控制蓝牙传输速率的方法及电子设备 - Google Patents
控制蓝牙传输速率的方法及电子设备 Download PDFInfo
- Publication number
- CN115022852B CN115022852B CN202111544242.3A CN202111544242A CN115022852B CN 115022852 B CN115022852 B CN 115022852B CN 202111544242 A CN202111544242 A CN 202111544242A CN 115022852 B CN115022852 B CN 115022852B
- Authority
- CN
- China
- Prior art keywords
- ble
- electronic device
- connection
- screen
- interface
- 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
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/22—Negotiating communication rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
本申请提供了一种控制蓝牙传输速率的方法及电子设备,涉及通信技术领域。针对PC向智慧屏发起投屏的场景,本申请在PC侧自主开发BLE驱动程序并对通信模块提供BLE驱动接口API,PC侧通信模块可以调用BLE驱动接口设置BLE驱动参数,例如BLE连接事件间隔;并调用BLE驱动接口发起连接。在建立BLE连接后,PC侧通信模块按照设置的BLE连接事件间隔向智慧屏发送设备绑定、认证及Wi‑Fi P2P参数协商数据。由于通过BLE驱动接口可将BLE连接事件间隔设置为BEL规范定义中的较小值(7.5ms),因此可以提升蓝牙传输速率,降低PC到智慧屏的投屏连接时延,有效提升PC投屏体验。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种控制蓝牙传输速率的方法及电子设备。
背景技术
在多屏互动场景(例如投屏场景)中,可以通过多屏互动功能将某一电子设备(例如手机或个人电脑PC)上的屏幕画面,共享到其他电子设备(例如智慧屏或智慧屏等大屏设备)上显示,从而实现多个设备之间的互联互通,满足用户使用需求。
以PC的屏幕显示内容投射到智慧屏上显示为例,在建立投屏连接的过程中,PC与智慧屏之间先建立蓝牙连接,并且基于该蓝牙连接通道,PC和智慧屏之间进行绑定、认证以及协商Wi-Fi P2P参数。在完成绑定、认证以及协商Wi-Fi P2P参数之后,才能进一步建立投屏连接。
然而,对于安装Windows操作系统的PC等设备,当用户在PC等设备上触发投屏后,PC等设备与其他设备之间建立投屏连接需要较长时间。这是由于Windows操作系统是一个闭源封闭的系统,其提供的应用程序接口限制较多,导致了设备绑定、认证以及协商Wi-FiP2P参数的时间较长,从而导致建立投屏连接需要较长时间,因此会影响用户投屏体验。
发明内容
针对上述技术问题,本申请提供一种控制蓝牙传输速率的方法及电子设备,解决了在安装Windows操作系统的电子设备向其他电子设备投屏时,建立投屏连接需要较长时间的问题。
第一方面,本申请提供一种控制蓝牙传输速率的方法,应用于具有Windows操作系统的第一电子设备,该第一电子设备设置有第一低功耗蓝牙(bluetooh low energy,BLE)驱动接口,该方法可以包括:第一电子设备调用第一BLE驱动接口设置BLE连接事件间隔;然后第一电子设备与第二电子设备建立蓝牙连接;然后,第一电子设备以设置的BLE连接事件间隔向第二电子设备发送数据。
通过本申请方案,针对BLE蓝牙连接场景(例如PC向智慧屏发起投屏的场景),本申请在PC侧自主开发BLE驱动程序并对通信模块提供BLE驱动接口API,PC侧通信模块可以调用BLE驱动接口设置BLE驱动参数,例如BLE连接事件间隔;并调用BLE驱动接口发起连接。在建立BLE连接后,PC侧通信模块按照设置的BLE连接事件间隔向智慧屏等设备发送数据,例如设备绑定、认证及Wi-Fi P2P参数协商数据。由于通过BLE驱动接口可将BLE连接事件间隔设置为BEL规范定义中的较小值(7.5ms),因此可提升蓝牙传输速率,降低PC到智慧屏的投屏连接时延,有效提升PC投屏体验。
在一些可能的实现方式中,第一电子设备可以包括第一通信模块、与上述第一BLE驱动接口对应的第一BLE驱动,以及第一BLE硬件;
其中,上述第一电子设备调用第一BLE驱动接口设置BLE连接事件间隔,可以包括:
第一电子设备通过第一通信模块调用第一BLE驱动接口;
通过该第一BLE驱动接口设置第一BLE驱动的BLE连接事件间隔;
通过该第一BLE驱动将BLE连接事件间隔设置到第一BLE硬件。
在一些可能的实现方式中,上述第一电子设备调用BLE驱动接口设置BLE连接事件间隔,可以包括:
第一电子设备调用第一BLE驱动接口,将BLE连接事件间隔设置为第一值,该第一值的取值范围为[7.5毫秒,4秒]。
在一些可能的实现方式中,上述第一值可以为7.5毫秒。
在一些可能的实现方式中,上述第一电子设备与第二电子设备建立蓝牙连接,具体可以包括:第一电子设备通过第一BLE驱动接口调用第一BLE驱动,以发起BLE连接。
通过本申请方案,在PC侧自主开发BLE驱动程序并对通信模块提供BLE驱动接口API,通信模块可以调用BLE驱动接口设置BLE驱动参数,例如BLE连接事件间隔;并调用BLE驱动接口发起连接。
在一些可能的实现方式中,在第一电子设备通过第一BLE驱动接口调用第一BLE驱动,以发起BLE连接之后,上述方法还包括:
第一电子设备通过第一BLE驱动,触发第一BLE硬件向第二电子设备发送BLE连接请求;
第一BLE硬件接收到BLE连接响应消息,该BLE连接响应消息是第二电子设备的第二BLE硬件根据BLE连接请求发送的确认连接消息;
其中,第一电子设备与第二电子设备建立蓝牙连接,包括:第一BLE硬件与第二BLE硬件建立蓝牙连接。
在一些可能的实现方式中,第一电子设备以BLE连接事件间隔向第二电子设备发送数据,可以包括:
第一电子设备通过第一BLE硬件,以BLE连接事件间隔向第二电子设备发送数据。
在一些可能的实现方式中,在第一电子设备通过第一BLE硬件,以BLE连接事件间隔向第二电子设备发送数据之前,上述方法还可以包括:
第一电子设备通过第一通信模块调用第一BLE驱动接口;
通过第一BLE驱动,触发第一BLE硬件向第二电子设备发送数据。
在一些可能的实现方式中,上述方法还可以包括:第一电子设备调用第一BLE驱动接口,将BLE驱动参数中的BLE连接地址设置为第二电子设备的物理地址;
其中,上述通过第一BLE驱动,触发第一BLE硬件向第二电子设备发送数据,包括:
通过第一BLE驱动,触发第一BLE硬件按照BLE连接地址向第二电子设备发送数据。
在一些可能的实现方式中,第一BLE驱动与第一BLE硬件之间通过主机控制接口HCI命令进行交互。
在一些可能的实现方式中,上述第一电子设备以BLE连接事件间隔向第二电子设备发送数据,具体可以包括:
第一电子设备以设置的BLE连接事件间隔向第二电子设备发送设备绑定请求数据;
第一电子设备以设置的BLE连接事件间隔向第二电子设备发送设备认证请求数据;以及,
第一电子设备以设置的BLE连接事件间隔向第二电子设备发送设备直连P2P参数协商数据。
在一些可能的实现方式中,在第一电子设备以BLE连接事件间隔向第二电子设备发送设备绑定请求数据之后,上述方法还可以包括:
第二电子设备根据接收到的设备绑定请求数据,显示第一提示信息,该第一提示信息用于提示是否同意第一电子设备连接至第二电子设备;
第二电子设备在接收到用户的确认操作后,将第一电子设备与第二电子设备成功绑定;
第二电子设备向第一电子设备发送用于指示设备绑定成功的消息。
在一些可能的实现方式中,上述方法还可以包括:在第一电子设备接收到用于指示P2P参数协商完成的消息之后,第一电子设备与第二电子设备建立Wi-Fi P2P连接。
在一些可能的实现方式中,上述第一电子设备与第二电子设备建立Wi-Fi P2P连接,可以包括:
第一电子设备生成服务集标识(service set identifier,SSID)和密码,并根据SSID和密码创建模拟热点SoftAP;
第一电子设备向第二电子设备发送上述SSID和密码;
第二电子设备根据上述SSID和密码,连接至第一电子设备创建的模拟热点。
在一些可能的实现方式中,上述方法还可以包括:
在第一电子设备每次与第二电子设备建立蓝牙连接后,第一电子设备均以设置的BLE连接事件间隔向第二电子设备发送数据。
在一些可能的实现方式中,第一电子设备还可以包括投屏应用。在第一电子设备调用第一BLE驱动接口设置BLE连接事件间隔之前,可以包括:
第一电子设备接收到用户在投屏应用上的操作,该操作用于触发第一电子设备向第二电子设备投屏;
响应于上述操作,投屏应用指示第一通信模块向第二电子设备发起投屏连接;
其中,该投屏连接可以为Wi-Fi P2P连接。
在一些可能的实现方式中,上述方法还可以包括:
第一电子设备基于Wi-Fi P2P连接,建立业务层的TCP连接;
第一电子设备基于TCP连接,向第二电子设备传输投屏数据。
在一些可能的实现方式中,上述方法还可以包括:第一电子设备通过扫描发现流程,发现具有投屏能力的第二电子设备。
在一些可能的实现方式中,上述第一电子设备通过扫描发现流程,发现具有投屏能力的第二电子设备,可以包括:
第一电子设备通过BLE广播第一扫描信号,第一扫描信号用于发现第一电子设备周围的具有投屏能力的电子设备;
第一电子设备接收第二电子设备发送的响应消息,该响应消息包括第二电子设备的设备信息;
其中,第二电子设备的设备信息可以包括第二电子设备的物理地址、设备名称和设备标识。
在一些可能的实现方式中,在第一电子设备接收第二电子设备发送的响应消息之后,上述方法还可以包括:第一电子设备在投屏应用的界面中显示第二电子设备的设备信息;
其中,上述第一电子设备接收到用户在投屏应用上的操作,可以包括:
第一电子设备接收到用户对第二电子设备的设备信息的选择操作。
在一些可能的实现方式中,第一电子设备中安装有电脑管家应用(application,APP),该电脑管家APP设置有投屏应用功能;上述方法还可以包括:
第一电子设备接收到用户开启电脑管家APP的操作;
响应于上述操作,第一电子设备显示电脑管家APP的界面,该电脑管家APP的界面中包括用于触发开启投屏业务的立即连接控件;
其中,上述第一电子设备通过扫描发现流程,发现具有投屏能力的第二电子设备,包括:
第一电子设备接收到用户对立即连接控件的操作;
响应于上述操作,第一电子设备开始扫描,并通过扫描发现流程发现具有投屏能力的第二电子设备。
在一些可能的实现方式中,上述方法还可以包括:第二电子设备接收到第一电子设备发送的投屏数据;然后,第二电子设备通过显示屏显示投屏数据。
在建立BLE连接后,通信模块按照设置的BLE连接事件间隔向智慧屏发送设备绑定、认证以及Wi-Fi P2P参数协商数据。由于可以通过BLE驱动接口将BLE连接事件间隔设置为BEL规范定义中的较小值(例如7.5ms),可提升蓝牙传输速率,因此降低了PC到智慧屏的投屏连接时延,有效提升PC投屏体验。
第二方面,本申请提供一种控制蓝牙传输速率的装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、收发模块或单元等。
第三方面,本申请提供一种电子设备,所述电子设备包括处理器,处理器与存储器耦合,存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第一方面中的方法被执行。
例如,处理器用于执行存储器存储的计算机程序或指令,使得该装置执行第一方面中的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面中的方法的计算机程序(也可称为指令或代码)。
例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面中的方法。
第五方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线连接。
第六方面,本申请提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选地,所述芯片系统还包括存储器,存储器与处理器通过电路或电线连接。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序(也可称为指令或代码),所述计算机程序被计算机执行时使得所述计算机实现第一方面中的方法。
可以理解的是,上述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请的各个示例性实施例所涉及的场景架构示意图;
图2为PC中各模块与智慧屏中各模块之间进行数据交互以实现PC与智慧屏建立投屏连接的过程示意图;
图3为本申请实施例提供的PC与智慧屏建立投屏连接的界面示意图之一;
图4为本申请实施例提供的PC与智慧屏建立投屏连接的界面示意图之二;
图5为本申请实施例提供的PC与智慧屏建立投屏连接的界面示意图之三;
图6为本申请实施例中涉及的一种设备软硬件架构示意图;
图7为本申请实施例提供的控制蓝牙传输速率的方法的流程示意图;
图8为本申请实施例中PC与智慧屏之间建立蓝牙连接以及基于蓝牙连接建立设备间直连的框架示意图;
图9为本申请方案中PC与智慧屏在建立投屏连接时所采用的各个模块以及交互关系的示意图;
图10为PC在投屏过程中通过调用BLE驱动接口设置BLE连接参数以及调用BLE驱动接口发起BLE连接的过程示意图;
图11示出了现有方案中PC和智慧屏在投屏场景中的系统架构示意图;
图12示出了本申请方案中PC和智慧屏的系统架构示意图;
图13为本申请的各个示例性实施例适用的另一场景架构示意图;
图14为本申请实施例提供的一种控制蓝牙传输速率的装置的结构示意图;
图15为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一操作和第二操作等是用于区别不同的操作,而不是用于描述操作的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
图1示出了本申请的各个示例性实施例所涉及的系统架构示意图。如图1所示,该系统架构包括电子设备1和电子设备2(或者称为大屏设备)。其中,电子设备1和电子设备2之间可以通过无线通信技术建立并保持无线连接。当电子设备1和电子设备2处于同一局域网中时,电子设备1可以发起向电子设备2进行投屏。
示例性地,假设电子设备1和电子设备2均处于开机状态且处于同一局域网(例如Wi-Fi网络)中,在电子设备1开启投屏功能后,电子设备1可以搜索所有支持投屏的设备,在电子设备1发现电子设备2后,电子设备1可以基于投屏协议与电子设备2进行协商,在协商完成后建立投屏连接,电子设备1可以基于投屏连接将电子设备1的屏幕显示内容投射到电子设备2的屏幕上进行显示。
其中,上述电子设备1可以为个人计算机(personal computer,PC)等使用Windows操作系统的电子设备,例如电子设备1为笔记本电脑或者台式计算机。
其中,上述电子设备2可以为智慧屏、智能电视、平板电脑或手机等具有显示屏且支持投屏的电子设备。
本申请实施例对电子设备1和电子设备2的设备类型不予具体限定。为了便于描述,本申请实施例中以电子设备1为PC,电子设备2为智慧屏,即PC向智慧屏投屏为例,对本申请方案进行示例性说明。
需要说明的是,本申请实施例提供的在Windows操作系统下控制BLE传输速率的方法,不仅可以适用于Windows设备基于BLE与支持投屏的设备之间建立投屏连接的场景,而且还可以适用于Windows设备基于BLE连接其他设备的场景。
还需要说明的是,发起投屏的电子设备1的操作系统为Windows操作系统。接受投屏的电子设备2的操作系统可以是Windows操作系统,也可以是安卓操作系统,还可以是其他任意满足使用需求的操作系统,具体可以根据实际使用需求确定,本申请实施例不作限定。
可选地,电子设备1中可以安装有电脑管家应用程序(application,APP),该电脑管家APP可以设置有用于开启电脑投屏功能的入口或控件,例如立即连接控件,当用户点击该立即连接控件时电子设备1将发起投屏。
需要说明的是,电子设备1中还可以安装有用于电脑投屏的其他任意可能的APP,也可以设置用于开启电脑投屏功能的其他入口或控件,具体可以根据实际使用需求确定,本申请实施例不作限定。
在投屏场景中,用户可以触发将PC的屏幕显示内容投射到智慧屏上显示,从而实现PC与智慧屏的互联互通,满足用户使用需求。示例性地,图2为PC中各模块与智慧屏中各模块之间进行数据交互,以实现PC与智慧屏建立投屏连接的过程示意图。下面参考图2对PC与智慧屏建立投屏连接的过程进行说明。如图2所示,PC包括电脑管家APP、第一通信模块、第一蓝牙芯片和第一Wi-Fi芯片;智慧屏包括第二通信模块、协同服务模块,第二蓝牙芯片和第二Wi-Fi芯片。
S1,PC中的电脑管家APP接收到用户输入的“立即连接”投屏操作。
如图3中的(a)所示,当用户需要使用电脑投屏功能时,用户可以点击PC中的电脑管家APP,以触发打开电脑管家APP。如图3中的(b)所示,电子设备打开电脑管家APP后,电脑管家APP的界面中显示有电脑投屏功能项,电脑投屏功能项的界面中显示有立即连接控件或按钮。当用户需要将PC的屏幕显示内容投射到智慧屏上显示时,用户可以点击该立即连接控件,以发起投屏。由此,PC中的电脑管家APP接收到用户输入的“立即连接”投屏操作。
S2,电脑管家APP向第一通信模块发送消息,该消息用于指示第一通信模块扫描发现附近支持投屏的设备。
可选地,上述消息可以为进程间通信(inter-process communication,IPC)消息,该IPC消息可以携带扫描指示指令,该扫描指示指令用于指示第一通信模块调用第一蓝牙芯片的能力扫描发现附近支持投屏的设备。
S3,第一通信模块在接收到电脑管家APP发送的消息后,指示或调用第一蓝牙芯片的能力扫描发现附近支持投屏的设备。
需要说明的是,当PC的蓝牙功能和Wi-Fi功能没有开启的情况下,当第一通信模块在接收到电脑管家APP发送的消息时,第一通信模块将打开PC的蓝牙功能和Wi-Fi功能。
如图3中的(c)所示,PC可以显示提示信息:正在打开蓝牙和Wi-Fi;确保要连接的设备蓝牙和Wi-Fi已开启,并保持亮屏;设备间距小于10米。
S4,第一蓝牙芯片广播用于扫描发现设备的信号(简称为扫描信号)。
例如,第一蓝牙芯片可以采用BLE技术,相应地第一蓝牙芯片广播扫描信号的过程可以简称为BLE广播。
需要说明的是,在BLE广播时,附近支持投屏的一个或多个设备的蓝牙芯片均可以接收到PC的扫描信号。
S5,智慧屏的第二蓝牙芯片在接收到PC的扫描信号之后,将该扫描信号发送给智慧屏的第二通信模块。
S6,第二通信模块解析该扫描信号,并确认自身具有投屏能力。
S7,第二通信模块向PC的第一通信模块反馈智慧屏的基本信息。
需要说明的是,智慧屏的基本信息会预先存储在智慧屏的存储器中,这样,第一通信模块可以从智慧屏的存储器中获取智慧屏的基本信息(或者称为智慧屏的设备信息)。
例如,智慧屏的基本信息可以包括智慧屏是否支持投屏能力的信息。
再例如,智慧屏的基本信息还可以包括智慧屏的互联网协议地址(internetprotocol address,IP地址)、媒体存取控制地址(media access control address,MAC地址)、通用唯一识别码(universally unique identifier,UUID)、设备标识以及设备名称等。这里为示例性地列举,基本信息具体可以根据实际使用需求确定,本申请实施例不作限定。
其中,当PC的第一通信模块扫描到支持投屏的设备后,第一通信模块可以获取到支持投屏的设备的基本信息。
S8,第一通信模块将扫描发现的支持投屏的设备的基本信息(如设备名称、MAC地址)发送至电脑管家APP。
S9,电脑管家APP将这些支持投屏的设备的基本信息展示在可用设备列表中,以显示给用户查看。
如图3中的(d)所示,PC显示可用设备列表,该可用设备列表包含通过扫描发现的支持投屏的设备的标识,供用户选择。其中,可用设备列表中包括智慧屏标识。
在一些实施例中,鉴于PC显示屏的显示大小,电脑管家APP可能无法将支持投屏的设备的上述信息都显示在可用设备列表上。因此,可用设备列表上可以仅显示支持投屏的设备的设备名称。若用户想要查看某一设备的其它信息,则可以对设备名称进行长按操作或双击操作,电脑管家APP接收到长按操作或双击操作后,可显示出该设备的其他信息。
在一些实施例中,电脑管家APP所显示的可用设备列表中,包括了PC附近已开启蓝牙功能的所有设备,比如智慧屏、手机或穿戴设备。在另一些实施例中,电脑管家APP在接收到已开启蓝牙功能的所有设备的信息后,可以筛选出支持投屏的设备以进行显示,比如穿戴设备不支持PC投屏,则电脑管家APP在可用设备列表中不再显示穿戴设备。
S10,当用户点击可用设备列表中的智慧屏标识时,电脑管家APP可以接收到用户对智慧屏标识的点击操作。
S11,电脑管家APP向第一通信模块发送IPC消息,用于指示与智慧屏建立连接的消息。
其中,该IPC消息可以携带智慧屏的基本信息。
S12,第一通信模块根据IPC消息,调用第一蓝牙芯片的能力与智慧屏建立蓝牙连接。
S13,PC与智慧屏建立蓝牙连接,例如BLE连接。
其中,PC的第一蓝牙芯片与智慧屏的第二蓝牙芯片之间建立了BLE连接通道。
S14,PC与智慧屏之间基于BLE连接,传输关于设备绑定、设备认证、Wi-Fi P2P参数协商的数据。
可选地,上述设备绑定、设备认证、Wi-Fi P2P参数协商的过程,双方设备在默认开放权限的情况下可以自动完成,无需用户参与操作。
可选地,在设备绑定的过程中,智慧屏侧需要用户授权,才能完成设备绑定。
示例性地,如图4中的(a)所示,PC可以基于BLE连接向智慧屏发送设备绑定请求,PC可以显示提示信息:正在连接智慧屏。相应地,如图4中的(b)所示,在智慧屏接收到PC发送的设备绑定请求之后,智慧屏可以显示提示信息:是否允许PC与本身连接;是同意还是拒绝。
如果用户选择同意选项,那么进一步地,PC与智慧屏之间可以基于BLE连接,传输关于设备认证、Wi-Fi P2P参数协商的数据,后续过程无需用户参与。
S15,第一蓝牙芯片向第一通信模块通知已完成绑定、认证和协商的消息。
S16,第一通信模块生成SSID和密码。
S17,第一通信模块指示第一Wi-Fi芯片建立模拟热点(soft access point,SoftAP)。
其中,模拟热点SoftAP也可以被称为虚拟热点。
S18,第一Wi-Fi芯片创建模拟热点SoftAP,该模拟热点SoftAP具有上述SSID和密码。
S19,第一通信模块通过建立的BLE连接通道将模拟热点SoftAP的SSID和密码发送至智慧屏的第二通信模块。
S20,第二通信模块指示第二Wi-Fi芯片根据接收到的SSID和密码,与PC建立Wi-FiP2P连接。
S21,第二Wi-Fi芯片根据模拟热点SoftAP的SSID和密码,连接至模拟热点SoftAP。
由此,智慧屏的第二Wi-Fi芯片连接至PC的第一Wi-Fi芯片。
S22,PC与智慧屏之间建立Wi-Fi P2P连接。
如上所述,PC与智慧屏成功建立Wi-Fi P2P连接(或者称为投屏连接)。
其中,Wi-Fi P2P(peer-to-peer,端对端或点对点)是Wi-Fi联盟推出的一项技术规范,也称为Wi-Fi直连(Wi-Fi direct),该规范支持多个Wi-Fi设备在没有AP的情况下也能构成一个点对点网络并相互通信。
S23,智慧屏的第二Wi-Fi芯片向协同服务模块通知智慧屏与PC成功建立连接的消息。
S24,PC的第一Wi-Fi芯片向第一通信模块反馈PC与智慧屏成功建立连接的消息。
其中,本申请实施例不限定S23和S24的先后执行顺序。
需要说明的是,PC和智慧屏之间还需要基于Wi-Fi P2P连接,建立业务层的传输控制协议(transmission control protocol,TCP)连接,以供后续PC与智慧屏相互传输数据。
在PC与智慧屏建立了投屏连接之后,PC可以将显示屏上的图像数据发送至智慧屏进行显示。在此,本申请实施例将需要投屏的图像数据称为待投屏图像。
至此,经过上述过程,完成了PC将显示内容投屏至智慧屏的过程。
如图5中的(a)和(b)所示,在PC和智慧屏之间建立投屏连接之后,在PC的当前投屏模式为镜像模式时,PC和智慧屏同步显示相同的内容。另外,在PC的当前投屏模式为扩展模式时,PC在将显示内容投屏至智慧屏的同时可以显示其他内容,即投屏时PC和智慧屏的屏幕显示内容可以不同。
如图5中的(a)所示,在PC和智慧屏之间建立投屏连接之后,电脑管家APP的界面上点击“立即连接”按钮更新显示为“断开连接”按钮。在一些场景中,若用户不再需要将PC投屏至智慧屏,用户可以在电脑管家APP的界面上点击“断开连接”按钮,电脑管家APP接收到断开操作后,向PC的通信模块发送断开消息,PC的通信模块可以调用Wi-Fi芯片的能力断开与智慧屏的Wi-Fi P2P连接。
在上述投屏过程中,PC首先通过BLE广播发现智慧屏,然后PC和智慧屏之间建立BLE连接;进一步地,基于该BLE连接通道,PC和智慧屏之间进行绑定、认证以及协商Wi-FiP2P参数。由于Windows操作系统是一个闭源封闭的系统,因此如果需要调用BLE驱动,那么需要基于Windows操作系统应用程序接口(application programming interface,API)实现调用。
参考如图6所示的设备软硬件架构,说明上述图2中的步骤S12中第一通信模块调用蓝牙能力与智慧屏建立蓝牙连接的具体过程:在PC投屏过程中,PC中位于软件层的第一通信模块需要通过Windows操作系统提供的BLE驱动接口,调用BLE驱动,以触发PC中位于硬件层的第一蓝牙芯片发起与智慧屏的第二蓝牙芯片建立蓝牙连接。
然而,Windows操作系统提供的BLE接口并不灵活,诸如BLE的连接事件间隔(connection interval)等部分关键的BLE连接参数是随机的、无法设置的。规范定义的BLE的连接事件间隔通常规定在7.5毫秒至4秒的范围内。目前微软内部的BLE连接事件间隔远大于BLE规范中定义的最小值7.5ms。例如,Windows操作系统的BLE的连接事件间隔通常会达到几十毫秒甚至上百毫秒。由于BLE的连接事件间隔这一参数直接影响了BLE连接的数据传输速率,因此将直接导致PC在投屏过程中设备绑定,设备认证以及协商Wi-Fi P2P参数(参考上述图2中的步骤S14)的时间较长,相应地会导致建立Wi-Fi P2P投屏连接的时间会较长,因此会影响用户投屏体验。
本申请实施例提供了一种控制蓝牙传输速率的方法,针对PC向智慧屏发起投屏的场景,本申请在PC侧自主开发BLE驱动程序并对通信模块提供BLE驱动接口API,通信模块可以调用BLE驱动接口设置BLE驱动参数,例如BLE连接事件间隔;并调用BLE驱动接口发起连接。在建立BLE连接后,通信模块按照设置的BLE连接事件间隔向智慧屏发送设备绑定、认证以及Wi-Fi P2P参数协商数据。由于可以通过BLE驱动接口将BLE连接事件间隔设置为BEL规范定义中的较小值(7.5ms),可提升蓝牙传输速率,因此降低了PC到智慧屏的投屏连接时延,有效提升PC投屏体验。
本申请实施例提供的控制蓝牙传输速率的方法的执行主体可以为上述的电子设备,也可以为该电子设备中能够实现该控制蓝牙传输速率的方法的功能模块和/或功能实体,并且本申请方案能够通过硬件和/或软件的方式实现,具体的可以根据实际使用需求确定,本申请实施例不作限定。下面以电子设备为例,结合附图对本申请实施例提供的控制蓝牙传输速率的方法进行示例性的说明。
图7是本申请实施例提供的控制蓝牙传输速率的方法的流程示意图。参照图7所示,该方法包括下述的步骤S101-S108。
S101,第一电子设备接收到用户触发开启投屏业务的操作。
其中,第一电子设备中安装有电脑管家APP,由于该电脑管家APP包括投屏功能,因此可以将电脑管家APP视为一种投屏应用。上述S101具体可以包括下述S101A-S101C。
S101A,第一电子设备接收到用户开启电脑管家APP的第一子操作(例如点击操作)。
S101B,响应于该操作,第一电子设备显示电脑管家APP的界面,该电脑管家APP的界面中包括用于触发开启投屏业务的立即连接控件。
S101C,第一电子设备接收到用户对立即连接控件的第二子操作(例如点击操作)。
其中,上述用户触发开启投屏业务的操作(称为第二操作)可以包括上述第一子操作和第二子操作,或者仅包括第二子操作,还可以是其他可能的用于触发开启投屏业务的操作,具体可以根据实际使用需求确定,本申请实施例不作限定。
S102,响应于该操作,第一电子设备通过扫描发现流程,发现具有投屏能力的第二电子设备,并显示第二电子设备的设备信息。
在本申请实施例中,第一电子设备包括通信模块,该通信模块作为手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基础,为设备之间的互联互通提供了统一的分布式通信能力,比如通信模块可以应用于屏幕共享,设备共享,数据互通等设备互动场景。这些设备通过通信模块可以共享一个数据通道,因此通信模块可以理解成硬件里的总线,相应地通信模块可以被称为软总线。
具体到本申请方案,第一电子设备和第二电子设备均包括通信模块,通过通信模块这两个设备之间可以建立蓝牙连接通道,进而可以基于蓝牙连接通道建立设备间直连通道,并通过该设备间直连通道传输业务数据。
在投屏过程中首先需要发现设备,上述扫描发现流程可以采用蓝牙扫描发现流程,或者采用Wi-Fi扫描发现流程。示例性地,PC通过通信模块发现智慧屏,通信模块发现智慧屏的方式可以为BLE发现(即蓝牙扫描发现流程),也可以为CoAP发现(即Wi-Fi扫描发现流程)。其中,CoAP发现需要PC和智慧屏处于同一个局域网,而BLE发现则无此限制。
这里以BLE发现为例进行说明,第一电子设备可以通过BLE广播第一扫描信号,该第一扫描信号用于发现第一电子设备周围的具有投屏能力的电子设备。具有投屏能力的第二电子设备在接收到第一扫描信号后,可以向第一电子设备发送响应消息,该响应消息包括第二电子设备的设备信息。进一步地,第一电子设备可以接收到第二电子设备发送的响应消息。如此,第一电子设备通过扫描发现流程,发现具有投屏能力的第二电子设备。
可选地,上述第二电子设备的设备信息可以包括第二电子设备的物理地址、设备名称和设备标识,或者与第二电子设备有关的其他任意可能的设备信息。例如,第一电子设备可以显示第二电子设备的设备标识。
S103,第一电子设备接收到用户对第二电子设备的设备标识的操作。
其中,上述用户对第二电子设备的设备标识的操作(称为第一操作)用于触发建立蓝牙连接并基于蓝牙连接与第二电子设备建立设备间直连。
S104,响应于第一操作,第一电子设备调用BLE驱动接口设置BLE驱动参数,该BLE驱动参数中的BLE连接事件间隔被设置为第一BLE连接事件间隔。
在本申请实施例中,上述第一电子设备调用BLE驱动接口设置BLE驱动参数的具体过程可以为:第一电子设备通过通信模块调用BLE驱动接口,并通过BLE驱动接口设置BLE驱动参数。
需要说明的是,在BEL规范中,BLE连接事件间隔通常取值范围可以为[7.5毫秒,4秒],其取值可能是随机的。与此不同的是,本申请方案可以根据实际使用需求设置BLE连接事件间隔,将BLE连接事件间隔设置为某一数值。在实际实现时,BLE连接事件间隔越小,则蓝牙传输速率越大。
基于此,在本申请实施例中,可以将BLE连接事件间隔设置为[7.5毫秒,4秒]取值范围内的较小数值,以提升蓝牙传输速率。例如,第一BLE连接事件间隔的取值可以为7.5毫秒。这样,通过将BLE连接事件间隔设置为最小值,可以大大提升蓝牙传输速率,降低时延。
可选地,在本申请实施例中,第一电子设备除了可以调用BLE驱动接口设置BLE连接事件间隔,还可以调用BLE驱动接口设置BLE驱动参数中的BLE连接地址。
S105,第一电子设备向第二电子设备发起蓝牙连接。
可选地,第一电子设备还可以包括第一BLE驱动和第一BLE硬件。上述S105中第一电子设备向第二电子设备发起蓝牙连接,具体可以包括下述S105A-S105D。
S105A,第一电子设备通过通信模块调用BLE驱动接口。
S105B,第一电子设备通过BLE驱动接口,调用第一BLE驱动。
S105C,第一电子设备通过BLE驱动,将BLE驱动参数设置到第一BLE硬件。
S105D,第一电子设备通过BLE驱动,触发第一BLE硬件向第二电子设备发送BLE连接请求。
其中,第一电子设备向第二电子设备发起蓝牙连接以及建立蓝牙连接的过程,具体可以参见上述图2中的S11-S12的过程。
S106,在第一电子设备与第二电子设备建立蓝牙连接的情况下,第一电子设备按照第一BLE连接事件间隔,基于蓝牙连接向第二电子设备发送用于建立无线局域网设备直连Wi-Fi P2P的第一数据。
在本申请实施例中,上述第一数据可以包括用于设备绑定、设备认证以及所述Wi-Fi P2P参数协商的数据。
在本申请实施例中,上述第一数据还可以包括第一电子设备创建的模拟热点的SSID和密码。
其中,上述S106中关于第一电子设备按照上述第一BLE连接事件间隔,基于蓝牙连接向第二电子设备发送第一数据的过程,具体可以参见上述图2中的S14的过程,此处不再赘述。
在本申请实施例中,第一BLE硬件可以按照第一BLE连接事件间隔,基于蓝牙连接向BLE连接地址指示的第二电子设备发送第一数据。
可选地,在传输完第一数据后,第一电子设备的蓝牙芯片会向通信模块通知第一数据已完成传输的消息,具体可以参见上述图2中的S15的过程,此处不再赘述。
S107,第一电子设备根据用于建立Wi-Fi P2P连接的第一数据,与第二电子设备建立Wi-Fi P2P连接。
在本申请实施例中,第一电子设备生成SSID和密码,并根据SSID和密码创建模拟热点SoftAP;然后,第一电子设备向第二电子设备发送SSID和密码。第二电子设备在接收到SSID和密码之后,可以根据SSID和密码连接至第一电子设备创建的模拟热点。由此,实现第一电子设备根据用于建立Wi-Fi P2P连接的第一数据,与第二电子设备建立Wi-Fi P2P连接
S108,第一电子设备基于Wi-Fi P2P连接,向第二电子设备传输投屏数据。
在本申请实施例中,在第一电子设备与第二电子设备建立Wi-Fi P2P连接之后,第一电子设备可以基于Wi-Fi P2P连接,建立业务层的TCP连接。进一步地,第一电子设备通过TCP连接,向第二电子设备传输投屏数据(也称为待投屏图像)。
在本申请实施例中,第二电子设备接收到第一电子设备发送的待投屏图像,然后第二电子设备可以在显示屏上显示待投屏图像,现实投屏业务。
图8示出了第一电子设备(以PC为例)与第二电子设备(以智慧屏为例)之间建立蓝牙连接以及基于蓝牙连接建立设备间直连的框架图。PC和智慧屏之间通过各自的通信模块(软总线服务)进行信息交互,依次完成BLE广播,建立BLE连接,绑定、认证及协商P2P参数,以及建立Wi-Fi P2P连接。其中,通信模块对应一个通信进程,上层业务A(例如投屏应用业务)对应一个业务进程A(例如投屏应用进程),这两个进程之间通过进程间通信(interprocess communication,IPC)进行数据交互。
在第一电子设备中,上层业务A通过API接口调用通信模块客户端,与通信模块进行数据交互。需要说明的是,这里的API接口,在相关技术中通常只能调用Windows操作系统提供的接口,其中Windows操作系统提供的接口是不支持设置或者调整的,限制性较强。本申请方案与相关技术不同,在本申请实施例中,在设备间建立连接过程中,并非全部调用Windows操作系统提供的接口(也称为Windows操作系统接口或Windows系统接口)。
具体地,与相关技术不同的是,本申请实施例为了满足提升蓝牙传输速率的需求,设计开发了BLE专用接口,例如BLE驱动接口,该BLE驱动接口能够支持设置。
通过本申请方案,在某些常规场景中调用的是Windows操作系统提供的BLE驱动接口,该BLE驱动接口不支持设置或者调整;而在一些情况下,为了满足提升蓝牙传输速率的特定需求,可以调用能够支持设置的BLE驱动接口,以提升蓝牙传输速率。
如图8所示,PC侧的通信模块在通过BLE广播扫描发现智慧屏后会上报给PC侧的投屏应用,PC侧投屏应用的界面上会显示已扫描发现的设备。当用户在界面上选择智慧屏后,PC侧的投屏应用可以调用BLE驱动接口,对BLE驱动程序进行参数设置。然后,通过BLE驱动接口,调用BLE驱动程序以驱动BLE芯片工作,与智慧屏建立BLE连接。进一步地,PC侧的通信模块与智慧屏侧的通信模块通过BLE连接进行数据报文交互,完成PC和智慧屏的绑定,认证以及Wi-Fi P2P参数协商。进一步地,PC侧的通信模块与智慧屏侧的通信模块在PC和智慧屏之间建立Wi-Fi P2P连接。PC侧的投屏应用程序与智慧屏侧的投屏应用程序基于Wi-Fi P2P建立业务层的TCP连接,PC侧的投屏应用程序将投屏数据通过该TCP连接发送到智慧屏侧的投屏应用程序,智慧屏侧的应用程序显示投屏数据,即完成了投屏。
图9为本申请方案中第一电子设备(例如PC)与第二电子设备(例如智慧屏)在建立投屏连接时所采用的各个模块以及交互关系。可以理解的是,图9仅示出了与本申请方案相关的部分模块,作为示例性地说明,在实际实现时第一电子设备和第二电子设备分别还可以包括其他模块。
与上述图6不同的是,图9中发起投屏的PC侧除了可以采用Windows操作系统提供的BLE驱动接口,还可以采用另一BLE驱动接口,该BLE驱动接口不同于Windows系统接口,该BLE驱动接口可以支持对BLE驱动参数进行设置。当PC向智慧屏发起投屏时,PC的第一通信模块可以调用BLE驱动接口对BLE驱动参数(也称为BLE连接参数)进行设置,例如将BLE驱动参数中的BLE连接事件间隔设置为某一数值,如7.5毫秒(ms)或者20ms,或者其他可能的数值。关于BLE连接事件间隔的取值,具体可以根据实际使用需求确定,本申请实施例不作限定。
通过本申请方案,通过开发BLE驱动程序以及对通信模块提供驱动接口(BLEdriver API),从而可以绕过Windows操作系统接口的限制,实现对BLE连接参数完全可控。通过将BLE连接事件间隔设置为BLE规范取值范围中的较小值或最小值(例如7.5ms),从而可以使得BLE连接通道的数据传输速率更快。
下面结合图10,仍然以PC向智慧屏投屏的场景为例,详细说明本申请实施例中何时调用Windows操作系统提供的BLE驱动接口,何时调用预设的能够支持设置的BLE驱动接口,以及如何通过本申请方案提升蓝牙传输速率。
为了便于说明,图10中以BLE连接事件间隔设置为7.5ms为例进行说明。图10中,PC侧包括第一投屏应用、第一通信模块、Windows系统接口(该系统接口中的BLE驱动接口不支持参数设置)、BLE驱动接口(支持参数设置)、第一BLE驱动(即驱动程序)以及第一BLE硬件。智慧屏侧包括第二投屏应用、第二通信模块、系统接口、第二BLE驱动以及第二BLE硬件;其中,PC的操作系统可以是Windows操作系统,Windows操作系统提供的接口简称为Windows系统接口;智慧屏的操作系统可以是Windows操作系统或者安卓操作系统,在图10中将智慧屏的操作系统提供的接口简称为系统接口。
A1,智慧屏中存储有智慧屏的设备信息。
其中,智慧屏的设备信息包括智慧屏是否支持投屏能力的信息以及智慧屏的基本信息(如设备名称、MAC地址、设备ID等)。
其中,智慧屏发布投屏能力。示例性地,智慧屏的第二投屏应用可以调用第二通信模块发布投屏能力,其中第二通信模块存储有智慧屏是否支持投屏能力的信息。
可选地,第二通信模块向智慧屏的操作系统设置BLE参数:1)设置连接成功回调函数;2)设置接收数据的回调函数;3)设置BLE连接状态改变回调函数。在BLE参数设置完成后,智慧屏启动BLE服务。
A2,PC的第一投屏应用接收到用户对立即连接的操作。
A3,第一投屏应用调用第一通信模块请求发现支持投屏能力的设备。
A4,第一通信模块通过Windows系统接口调用BLE驱动发送BLE广播。
其中,BLE广播用于发现支持投屏能力的设备。
A5,BLE驱动通过主机控制接口(host controller interface,HCI)命令向第一BLE硬件下发指示或控制命令。
A6,BLE硬件收到控制命令后开始BLE广播,以发现具有投屏能力的设备。
A7,在智慧屏的第二BLE硬件接收到BLE广播后,第二BLE硬件通过HCI命令向第二BLE驱动上报BLE广播中的请求数据。
其中,请求数据用于请求发现支持投屏能力的设备。
A8,第二BLE驱动将请求数据上报给系统接口,系统接口再将请求数据通上报给第二通信模块。
A9,第二通信模块解析请求数据,并确认自身具有投屏能力。
A10,第二通信模块通过BLE广播向PC侧发送响应消息,该响应消息中可以包含智慧屏的BLE MAC地址、名称、设备ID等。
PC侧接收智慧屏发送的BLE广播响应消息,即发现了支持投屏的电子设备,具体过程如下:
首先,第一BLE硬件在接收到响应消息后,通过HCI命令将响应消息上报给第一BLE驱动,第一BLE驱动将响应消息上报给Windows系统接口,Windows系统接口再将响应消息上报给第一通信模块。
其次,第一通信模块在解析响应消息之后可以获取到智慧屏的设备信息,例如智慧屏的BLE MAC地址,名称,设备ID等。
然后,第一通信模块将智慧屏的设备信息上报给第一投屏应用。
A11,第一投屏应用展示可用设备列表,其中包括智慧屏的设备信息。
用户可以通过选择可用设备列表中的智慧屏的设备信息(例如设备名称),发起投屏。
A12,第一投屏应用接收到用户对智慧屏设备信息的操作。
A13,第一投屏应用调用第一通信模块,请求发起投屏。
A14,第一通信模块调用BLE驱动接口设置BLE驱动参数。
可选地,可以调用BLE驱动接口设置以下BLE驱动参数:1)设置BLE连接地址(智慧屏的MAC地址);2)设置BLE连接事件间隔(例如7.5ms);3)设置发送数据包大小(MTU);4)设置连接成功回调函数;5)设置接收数据的回调函数;6)设置BLE连接状态改变回调函数。
需要说明的是,上述调用BLE驱动接口设置的BLE驱动参数为示例性列举,在实际实现时,还可以设置其他BLE驱动参数,具体可以根据实际使用需求确定,本申请实施例不作限定。
A15,第一BLE驱动通过HCI命令设置BLE连接事件间隔到第一BLE硬件。
此外,第一BLE驱动还通过HCI命令设置BLE连接地址到第一BLE硬件。
A16,第一通信模块调用BLE驱动接口发起连接。
具体地,第一通信模块通过BLE驱动接口调用第一BLE驱动以发起连接。
A17,第一BLE驱动触发第一BLE硬件发起BLE连接。
A18,第一BLE硬件与第二BLE硬件建立蓝牙连接。
A19,对于PC侧,第一BLE硬件在确认连接成功之后,通过HCI命令向第一BLE驱动通知连接成功,进而第一BLE驱动通过BLE接口调用BLE连接成功回调函数向第一通信模块通知连接成功。
A20,对于智慧屏侧,第二BLE硬件在确认连接成功之后,通过HCI命令向第二BLE驱动通知连接成功,进而第二BLE驱动通过系统接口调用BLE连接成功回调函数向通信模块连接成功。
本申请实施例不限定上述A19和A20的先后执行顺序。
在PC和智慧屏建立蓝牙连接之后,PC的第一BLE硬件按照7.5ms的BLE连接事件间隔依次发送设备绑定、设备认证、P2P参数协商数据给智慧屏。相应地,智慧屏依次接收到PC发送的设备绑定,设备认证,P2P参数协商数据并处理。下面步骤示例性地说明按照设置的BLE连接事件间隔发送数据的可能实现方式。
A21,第一通信模块调用BLE驱动接口发送数据,如设备绑定请求。
具体地,第一通信模块通过BLE驱动接口调用第一BLE驱动以发送数据。
A22,第一BLE驱动通过HCI命令将数据发送到第一BLE硬件。
A23,第一BLE硬件按照7.5ms的BLE连接事件间隔发送设备绑定请求。
A24,智慧屏的第二BLE硬件接收到设备绑定请求,并依次通过第二BLE驱动,系统接口和第二通信模块将设备绑定请求传递给第二投屏应用。
A25,第二投屏应用在屏幕上弹框提示:是否允许PC与本设备连接。
A26,第二投屏应用接收到用户的确认操作,即允许PC与本设备连接,完成设备绑定。
A27,第二投屏应用依次通过第二通信模块、系统接口、第二BLE驱动和第二BLE硬件向PC发送设备绑定响应消息。PC的第一硬件接收到该设备绑定响应消息,依次通过第一BLE驱动、BLE接口将设备绑定响应消息上报给第一通信模块。
其中,设备绑定响应消息用于指示已完成设备绑定。
A28,第一通信模块调用BLE驱动接口发送数据,如设备认证请求。
具体地,第一通信模块通过BLE驱动接口调用第一BLE驱动以发送该数据。
A29,第一BLE驱动通过HCI命令将数据发送到第一BLE硬件。
A30,第一BLE硬件按照7.5ms的BLE连接事件间隔发送设备认证请求。
A31,智慧屏的第二BLE硬件接收到设备认证请求,并依次通过第二BLE驱动、系统接口和第二通信模块将设备认证请求传递给第二投屏应用。
A32,第二投屏应用完成设备认证。
A33,第二投屏应用通过第二通信模块、系统接口、第二BLE驱动和第二BLE硬件向PC发送设备认证响应消息。PC的第一硬件接收到该设备认证响应消息,依次通过第一BLE驱动、BLE接口将设备认证响应消息上报给第一通信模块。
其中,设备认证响应消息用于指示已完成设备认证。
A34,第一通信模块调用BLE驱动接口发送数据,如P2P参数协商数据。
具体地,第一通信模块通过BLE驱动接口调用第一BLE驱动以发送该数据。
A35,第一BLE驱动通过HCI命令将数据发送到第一BLE硬件。
A36,第一BLE硬件按照7.5ms的BLE连接事件间隔发送P2P参数协商数据。
A37,智慧屏的第二BLE硬件接收到P2P参数协商数据,并依次通过第二BLE驱动,系统接口和第二通信模块将P2P参数协商数据传递给第二投屏应用。
A38,第二投屏应用完成P2P参数协商。
A39,第二投屏应用依次通过第二通信模块、系统接口、第二BLE驱动和第二BLE硬件向PC发送参数协商响应消息。PC的第一硬件接收到该参数协商响应消息,依次通过第一BLE驱动、BLE接口将参数协商响应消息上报给第一通信模块。
其中,参数协商响应消息用于指示已完成P2P参数协商。
A40,第一通信模块与第二通信模块建立P2P连接,即PC与智慧屏建立P2P连接。
A41,第一通信模块向第一投屏模块通知已完成绑定、认证以及P2P参数协商。
在PC与智慧屏建立蓝牙过程中,本申请方案可以通过BLE驱动接口设置BLE驱动参数,例如BLE连接事件间隔。也就是说,区别于现有Windows系统接口不支持设置BLE连接事件间隔,本申请方案可以支持通过调用BLE驱动接口设置BLE驱动参数。
在PC与智慧屏每次建立蓝牙连接后,PC以设置好的BLE连接事件间隔向智慧屏发送数据。并且,在PC与智慧屏每次建立蓝牙连接后,BLE连接事件间隔不再发生变化,也就是说,区别于现有Windows系统接口在调用时BLE连接事件间隔是随机变化的(可能是50ms,也可能是1s)而无法保证高传输速率,本申请方案中在建立蓝牙连接后PC均以设置好的BLE连接事件间隔(例如7.5ms)向智慧屏发送数据,可以大大提升蓝牙传输速率。
为了更清楚地理解本申请方案,下面再结合图4中的界面交互图对上述步骤进行说明,在用户选择智慧屏以发起投屏(上述A12)之后,如图4中的(a)所示,PC显示提示信息:正在连接智慧屏。在PC连接智慧屏的过程中,PC依次执行上述步骤A13-A20。
首先,PC的投屏应用调用通信模块请求发起投屏;然后通信模块调用BLE驱动接口设置BLE驱动参数,例如BLE连接地址和连接事件间隔;然后通信模块调用BLE驱动接口发起连接,具体为BLE驱动设置BLE连接地址、连接事件间隔到BLE硬件,并触发BLE硬件发起BLE连接。然后,通信模块向智慧屏发送设备绑定请求。具体流程为:PC的通信模块调用BLE驱动接口发送数据;BLE驱动通过HCI命令将数据发送到BLE硬件;BLE硬件按照之前设置的BLE连接事件间隔(例如7.5ms)发送设备绑定请求。
在智慧屏接收PC发送的设备绑定请求后,智慧屏在屏幕上弹框等待用户确认。如图4中的(b)所示,智慧屏显示提示信息:是否允许PC与本设备连接。在智慧屏接收到用户的确认操作后,智慧屏向PC发送确认结果。
在PC接收到智慧屏返回的确认信息后,PC向智慧屏发起设备认证及Wi-Fi P2P连接参数协商。
在PC和智慧屏协商完P2P连接参数之后,PC与智慧屏之间建立Wi-Fi P2P连接。
在Wi-Fi P2P连接建立之后,上层投屏业务建立对应的TCP连接,并发送PC投屏数据到智慧屏,智慧屏显示PC的投屏数据,即实现PC投屏。
本申请方案通过自主开发BLE驱动程序并对通信模块提供驱动接口,通过BLE驱动API将BLE连接事件间隔设置为BEL规范取值范围中的较小值或最小值(7.5ms),使得BLE连接的数据传输速率有数倍提升,可以降低PC到智慧屏的投屏连接时延,可有效提升PC投屏的体验。
下面再结合图11和图12从系统架构角度对比说明本申请方案与现有方案的区别。图11示出了现有方案中PC和智慧屏在投屏场景中的系统架构示意图。图12示出了本申请方案中PC和智慧屏的系统架构示意图。
如图11所示,PC至少包括:应用程序层的电脑管家APP;系统层的第一通信模块、抓屏编码线程、Windows操作系统接口、BLE驱动、Wi-Fi驱动以及显示驱动;硬件层的显卡(GPU)、编码器、第一蓝牙芯片(BLE硬件)和第一Wi-Fi芯片。智慧屏至少包括:系统层的协同服务(service)模块、第二通信模块、解码线程、Windows/安卓操作系统接口、BLE驱动、Wi-Fi驱动以及显示驱动;硬件层的解码器、第二蓝牙芯片、第二Wi-Fi芯片和显示屏。PC和智慧屏可以通过各自的模块交互实现投屏业务。
其中,第一通信模块通过Windows操作系统接口调用驱动程序以触发硬件工作,例如第一通信模块通过Windows操作系统提供的BLE接口,调用BLE驱动程序以触发第一蓝牙芯片工作;或者,第一通信模块通过Windows操作系统提供的Wi-Fi接口,调用Wi-Fi驱动程序以触发第一Wi-Fi芯片工作。或者,抓屏编码线程通过Windows操作系统提供的显示驱动接口,调用显示驱动程序以触发显卡工作。
也就是说,上述调用驱动程序以触发硬件工作,均是通过Windows操作系统接口实现的。
与现有方案的图11不同的是,在本申请方案的图12所示的PC中,还包括BLE驱动接口。在本申请方案中,第一通信模块可以通过BLE驱动接口设置BLE驱动,并通过BLE驱动接口调用该BLE驱动以触发第一蓝牙芯片工作。其中,BLE驱动是用于驱动蓝牙BLE硬件的驱动程序。
本申请方案通过自主开发BLE驱动程序并对通信模块提供驱动接口,从而可以绕过Windows系统接口的限制,实现对BLE连接参数完全可控。而现有方案完全使用Windows提供的系统API,无法调整BLE连接参数(如BLE连接事件间隔),目前微软内部的BLE连接事件间隔远大于BLE规范中定义的最小值7.5ms。本申请方案通过BLE驱动API将BLE连接事件间隔设置为BEL规范取值范围中的较小值或最小值(7.5ms),使得BLE连接的数据传输速率有数倍提升,可以降低PC到智慧屏的投屏连接时延,可有效提升PC投屏的体验。
最后结合图12的框图示例性地说明PC建立连接之后的投屏过程。在PC与智慧屏建立了Wi-Fi P2P连接之后,PC的第一通信模块可以向电脑管家APP反馈建立连接成功的消息,该消息中携带智慧屏返回的智慧屏的显示参数(这里以智慧屏的分辨率为例),进而由电脑管家APP建立一个抓屏编码线程。在创建了抓屏编码线程后,可以同时初始化编码器,即设置要编码的图像的分辨率为2520×1680、以及默认的H264编码格式。
同时,电脑管家APP收到上述建立连接成功的消息后,还可以通过Windows操作系统接口获取当前PC显卡的分辨率,根据电脑管家APP接收到的消息中携带的分辨率,则创建虚拟显示器,其分辨率为2520×1680。
在PC的第一通信模块向电脑管家APP反馈建立连接成功的消息的同时,智慧屏的第二通信模块也向协同服务模块反馈建立连接成功的消息,进而由协同服务模块创建一个解码线程,并初始化解码器。
接下来,抓屏编码线程通过Windows操作系统接口从显卡(GPU)中获取待投屏数据(例如一帧图像数据),此时所获取到的图像数据的分辨率即为2520×1680。
需要说明的是,PC显示屏上的图像是由GPU对图像数据进行绘制渲染后送显得到的,为了将此图像数据发送至智慧屏,GPU可将图像数据存储在一个图像队列中。可选地,显卡(GPU)中可以存储有一个图像队列,该图像队列包括需要显示在PC显示屏上的图像数据,这些图像数据可以是由GPU对需要显示在PC显示屏上的数据进行绘制渲染后送显的图像数据。
在一些实施例中,图像队列中可存储预设数量(如6帧)的图像数据,抓屏编码线程从中获取了一帧图像数据后,可将该图像数据移出图像队列,并将新的图像数据存储至图像队列。抓屏编码线程对第一帧图像数据进行编码后,可以接着获取第二帧图像数据、第三帧图像数据进行编码,由此不断的执行获取数据并编码过程。
可选地,上述待投屏数据可以为红绿蓝RGB图像数据,抓屏编码线程获取到该RGB图像数据后,可以将其转换为NV12格式。然后,抓屏编码线程调用编码器,对格式转换后的待投屏数据进行压缩编码,即编码为H264格式的图像数据。
最后,PC的抓屏编码线程通过第一通信模块沿上述TCP数据通道将编码后的图像数据发送至智慧屏的第二通信模块,智慧屏的第二通信模块接收到编码后的图像数据后,通过解码线程调用解码器对该图像数据进行解码,例如解码为NV12格式的图像数据,进而调用显示驱动交由显示屏进行显示。
也就是说,抓屏编码线程可从该图像队列中获取一帧图像数据,随即调用编码器对该帧图像数据进行编码,并由第一通信模块将编码数据发送至智慧屏,智慧屏的第二通信模块接收到编码数据后,调用解码器进行解码,进而由智慧屏的显示屏显示待投屏数据对应的图像。
在一些实施例中,PC在获取待投屏数据及对待投屏数据进行编码时,可以开启一个抓屏编程线程,在抓屏编码线程获取一帧图像数据后,即刻调用编码器对该图像数据进行编码,并发送至智慧屏进行解码显示。
需要说明的是,在以上实施例中,以PC中设置有独立的Windows系统接口和BLE接口为例进行示例性说明,可以理解,本申请方案在实际实现时,还可以将Windows系统接口和BLE接口集成为一个接口,即该集成的接口能够实现上文中所述的Windows系统接口和BLE接口这两个接口的功能。
还需要说明的是,以上本申请各个实施例中是以PC向智慧屏投屏的场景为例进行示例性说明的,在实际实现时,本申请实施例还可以适用于其他场景,例如本申请方案同样适用于PC向平板电脑投屏时的连接场景(如图13所示)。
需要说明的是,本申请实施例对编码器进行编码的格式、以及解码器进行解码的格式不做限制,只要能实现编码解码并显示的过程即可。
也需要说明的是,在本申请实施例中,“大于”可以替换为“大于或等于”,“小于或等于”可以替换为“小于”,或者,“大于或等于”可以替换为“大于”,“小于”可以替换为“小于或等于”。
本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。
可以理解的是,上述各个方法实施例中由电子设备实现的方法和操作,也可以由可用于电子设备的部件(例如芯片或者电路)实现。
上文描述了本申请提供的方法实施例,下文将描述本申请提供的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
上文主要从方法步骤的角度对本申请实施例提供的方案进行了描述。可以理解的是,为了实现上述功能,实施该方法的电子设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
本申请实施例可以根据上述方法示例,对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有其它可行的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
图14为本申请实施例提供的控制蓝牙传输速率的装置800的示意性框图。该装置800可以用于执行上文方法实施例中第一电子设备所执行的动作。该第一电子设备设置有低功耗蓝牙BLE驱动接口,该BLE驱动接口是与Windows操作系统提供的系统接口不同的接口,该装置800包括检测单元810、处理单元820和无线通信单元830。
检测单元810,用于接收到用户的第一操作,该第一操作用于触发与第二电子设备建立蓝牙连接。
处理单元820,用于响应于该第一操作,调用BLE驱动接口设置BLE驱动参数,该BLE驱动参数中的BLE连接事件间隔被设置为第一BLE连接事件间隔。
无线通信单元830,用于向第二电子设备发起蓝牙连接,并且与第二电子设备成功建立蓝牙连接。
无线通信单元830,还用于按照第一BLE连接事件间隔,基于蓝牙连接向第二电子设备发送用于建立无线局域网设备直连Wi-Fi P2P的第一数据。
无线通信单元830,还用于根据第一数据,与第二电子设备建立Wi-Fi P2P连接。
根据本申请实施例的装置800可对应于执行本申请实施例中描述的方法,并且装置800中的单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。
图15是本申请实施例提供的电子设备900的结构性示意性图。该电子设备900可以包括处理器910,外部存储器接口920,内部存储器921,通用串行总线(universal serialbus,USB)接口930,充电管理模块940,电源管理单元941,电池942,天线1,天线2,移动通信模块950,无线通信模块960,音频模块970,扬声器970A,受话器970B,麦克风970C,耳机接口970D,传感器模块980,按键990,马达991,指示器992,摄像头993,显示屏994,以及用户标识模块(subscriber identification module,SIM)卡接口995等。其中传感器模块980可以包括压力传感器980A,陀螺仪传感器980B,气压传感器980C,磁传感器980D,加速度传感器980E,距离传感器980F,接近光传感器980G,指纹传感器980H,温度传感器980I,触摸传感器980J,环境光传感器980K以及骨传导传感器980L等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备900的具体限定。在本申请另一些实施例中,电子设备900可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器910可以包括一个或多个处理单元,例如:处理器910可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是电子设备900的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器910中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器910中的存储器为高速缓冲存储器。该存储器可以保存处理器910刚用过或循环使用的指令或数据。如果处理器910需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器910的等待时间,因而提高了系统的效率。
在一些实施例中,处理器910可以包括一个或多个接口。该接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备900的结构限定。在本申请另一些实施例中,电子设备900也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块940用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块940可以通过USB接口930接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块940可以通过电子设备900的无线充电线圈接收无线充电输入。充电管理模块940为电池942充电的同时,还可以通过电源管理单元941为电子设备供电。
电源管理单元941用于连接电池942,充电管理模块940与处理器910。电源管理单元941接收电池942和/或充电管理模块940的输入,为处理器910,内部存储器921,外部存储器,显示屏994,摄像头993和无线通信模块960等供电。电源管理单元941还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理单元941也可以设置于处理器910中。在另一些实施例中,电源管理单元941和充电管理模块940也可以设置于同一个器件中。
电子设备900的无线通信功能可以通过天线1、天线2、移动通信模块950、无线通信模块960、调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备900中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块950可以提供应用在电子设备900上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块950可以包括至少一个滤波器、开关、功率放大器、低噪声放大器(low noise amplifier,LNA)等。移动通信模块950可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块950还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块950的至少部分功能模块可以被设置于处理器910中。在一些实施例中,移动通信模块950的至少部分功能模块可以与处理器910的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器970A、受话器970B等)输出声音信号,或通过显示屏994显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器910,与移动通信模块950或其他功能模块设置在同一个器件中。
无线通信模块960可以提供应用在电子设备900上的包括WLAN(如Wi-Fi)、BT、全球导航卫星系统(global navigation satellite system,GNSS)、FM、NFC、IR或通用2.4G/5G无线通信技术等无线通信的解决方案。无线通信模块960可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块960经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器910。无线通信模块960还可以从处理器910接收待发送的信号,对其进行调频、放大,经天线2转为电磁波辐射出去。
在一些实施例中,该无线通信模块960可以为Wi-Fi和/或蓝牙芯片。电子设备900可以通过该芯片,与无线耳机等电子设备的芯片之间建立连接,以通过该连接实现电子设备900和其他电子设备之间的无线通信和业务处理。其中,蓝牙芯片通常可以支持BR/EDR蓝牙和BLE。
在一些实施例中,电子设备900的天线1和移动通信模块950耦合,天线2和无线通信模块960耦合,使得电子设备900可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TDSCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备900通过GPU,显示屏994,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏994和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器910可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏994用于显示图像,视频等。显示屏994包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备900可以包括1个或N个显示屏994,N为大于1的正整数。
电子设备900可以通过ISP、摄像头993、视频编解码器、GPU、显示屏994以及应用处理器等实现拍摄功能。
ISP用于处理摄像头993反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点、亮度、肤色进行算法优化。ISP还可以对拍摄场景的曝光、色温等参数优化。在一些实施例中,ISP可以设置在摄像头993中。
摄像头993用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备900可以包括1个或N个摄像头993,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备900在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备900可以支持一种或多种视频编解码器。这样,电子设备900可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备900的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口920可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备900的存储能力。外部存储卡通过外部存储器接口920与处理器910通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器921可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器910通过运行存储在内部存储器921的指令,从而执行电子设备900的各种功能应用以及数据处理。内部存储器921可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备900使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器921可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
处理器910可以用于执行上述程序代码,调用相关模块以实现本申请实施例中电子设备的功能。例如,与另一电子设备建立多个通信链路;在有预设业务(例如文件传输业务等)时,通过多个通信链路与另一电子设备传输预设业务的数据。
电子设备900可以通过音频模块970中的扬声器970A、受话器970B、麦克风970C、耳机接口970D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块970用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块970还可以用于对音频信号编码和解码。在一些实施例中,音频模块970可以设置于处理器910中,或将音频模块970的部分功能模块设置于处理器910中。
扬声器970A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备900可以通过扬声器970A收听音乐,或收听免提通话。
受话器970B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备900接听电话或语音信息时,可以通过将受话器970B靠近人耳接听语音。
麦克风970C,也称“话筒”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风970C发声,将声音信号输入到麦克风970C。电子设备900可以设置至少一个麦克风970C。在另一些实施例中,电子设备900可以设置两个麦克风970C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备900还可以设置三个,四个或更多麦克风970C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口970D用于连接有线耳机。耳机接口970D可以是USB接口930,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器980A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器980A可以设置于显示屏994。压力传感器980A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器980A,电极之间的电容改变。电子设备900根据电容的变化确定压力的强度。当有触摸操作作用于显示屏994,电子设备900根据压力传感器980A检测触摸操作强度。电子设备900也可以根据压力传感器980A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器980B可以用于确定电子设备900的运动姿态。在一些实施例中,可以通过陀螺仪传感器980B确定电子设备900围绕三个轴(例如x,y和z轴)的角速度。陀螺仪传感器980B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器980B检测电子设备900抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备900的抖动,实现防抖。陀螺仪传感器980B还可以用于导航,体感游戏场景。
加速度传感器980E可检测电子设备900在各个方向上(一般为三轴)加速度的大小。当电子设备900静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器980F用于测量距离。电子设备900可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备900可以利用距离传感器980F测距以实现快速对焦。
接近光传感器980G可以包括例如发光二极管(light-emitting diode,LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备900通过发光二极管向外发射红外光。电子设备900使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备900附近有物体。当检测到不充分的反射光时,电子设备900可以确定电子设备900附近没有物体。电子设备900可以利用接近光传感器980G检测用户手持电子设备900贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器980G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器980K用于感知环境光亮度。电子设备900可以根据感知的环境光亮度自适应调节显示屏994亮度。环境光传感器980K也可用于拍照时自动调节白平衡。环境光传感器980K还可以与接近光传感器980G配合,检测电子设备900是否在口袋里,以防误触。
气压传感器980C用于测量气压。在一些实施例中,电子设备900通过气压传感器980C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器980D包括霍尔传感器。电子设备900可以利用磁传感器980D检测电子设备900的位移。在一些实施例中,霍尔传感器可以利用磁铁形成线性的梯形磁场(或称为斜坡磁场),霍尔片在线性磁场中的位移变化与磁场强度变化相一致,形成的霍尔电势也就与位移成正比,电子设备900获取霍尔电势,就可以测量出位移大小。
指纹传感器980H用于采集指纹。电子设备900可以利用采集的指纹特性实现指纹解锁,访问应用锁、指纹拍照、指纹接听来电等。
温度传感器980I用于检测温度。在一些实施例中,电子设备900利用温度传感器980I检测的温度,执行温度处理策略。例如,当温度传感器980I上报的温度超过阈值,电子设备900执行降低位于温度传感器980I附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备900对电池942加热,以避免低温导致电子设备900异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备900对电池942的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器980J,也称“触控面板”。触摸传感器980J可以设置于显示屏994,由触摸传感器980J与显示屏994组成触摸屏,也称“触控屏”。触摸传感器980J用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏994提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器980J也可以设置于电子设备900的表面,与显示屏994所处的位置不同。
骨传导传感器980L可以获取振动信号。在一些实施例中,骨传导传感器980L可以获取人体声部振动骨块的振动信号。骨传导传感器980L也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器980L也可以设置于耳机中,结合成骨传导耳机。音频模块970可以基于骨传导传感器980L获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于骨传导传感器980L获取的血压跳动信号解析心率信息,实现心率检测功能。
按键990包括开机键、音量键等。按键990可以是机械按键。也可以是触摸式按键。电子设备900可以接收按键输入,产生与电子设备900的用户设置以及功能控制有关的键信号输入。
马达991可以产生振动提示。马达991可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照、音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏994不同区域的触摸操作,马达991也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒、接收信息、闹钟、游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器992可以是指示灯,可以用于指示充电状态、电量变化,也可以用于指示消息、未接来电、通知等。
SIM卡接口995用于连接SIM卡。SIM卡可以通过插入SIM卡接口995,或从SIM卡接口995拔出,实现和电子设备900的接触和分离。电子设备900可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口995可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口995可以同时插入多张卡。多张卡的类型可以相同,也可以不同。SIM卡接口995也可以兼容不同类型的SIM卡。SIM卡接口995也可以兼容外部存储卡。电子设备900通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备900采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备900中,不能和电子设备900分离。
电子设备900可以为移动终端,也可以为非移动终端。示例性的,电子设备900可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personal digitalassistant,PDA)、无线耳机、无线手环、无线智能眼镜、无线手表、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、台式计算机、智能家电(例如电视、音箱、冰箱、空气净化器、空调、电饭煲)等。其中,电子设备900也可以被统称为物联网(Internet of Things,IoT)设备。本申请实施例对电子设备900的设备类型不予具体限定。
应理解,图15所示的电子设备900可对应于图14所示的装置800。其中,图15所示的电子设备900中的处理器910、传感器模块980、无线通信模块960,可以分别对应于图14中的装置800中的处理单元820、检测单元810、无线通信单元830。
在实际实现时,在电子设备900运行时,处理器910执行存储器921中的计算机执行指令以通过电子设备900执行上述方法的操作步骤。
可选地,在一些实施例中,本申请提供一种芯片,该芯片与存储器耦合,该芯片用于读取并执行存储器中存储的计算机程序或指令,以执行上述各实施例中的方法。
可选地,在一些实施例中,本申请提供一种电子设备,该电子设备包括芯片,该芯片用于读取并执行存储器存储的计算机程序或指令,使得各实施例中的方法被执行。
可选地,在一些实施例中,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
可选地,在一些实施例中,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各实施例中的方法。
在本申请实施例中,电子设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processingunit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是电子设备,或者,是电子设备中能够调用程序并执行程序的功能模块。
本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM)。例如,RAM可以用作外部高速缓存。作为示例而非限定,RAM可以包括如下多种形式:静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种控制蓝牙传输速率的方法,其特征在于,应用于使用Windows操作系统的第一电子设备,所述第一电子设备设置有Windows系统接口和第一低功耗蓝牙BLE驱动接口,所述Windows系统接口不支持参数设置,所述第一BLE驱动接口支持参数设置,所述方法包括:
所述第一电子设备通过所述Windows系统接口调用第一BLE驱动,发送BLE广播,所述BLE广播用于发现支持投屏能力的设备;
所述第一电子设备通过所述Windows系统接口调用所述第一BLE驱动,接收第二电子设备针对所述BLE广播发送的响应信息,所述第二电子设备为支持所述投屏能力的设备;
所述第一电子设备调用所述第一BLE驱动接口,设置所述第一BLE驱动的BLE连接事件间隔;
所述第一电子设备通过所述第一BLE驱动接口调用设置后的所述第一BLE驱动,与所述第二电子设备建立蓝牙连接;
所述第一电子设备通过所述第一BLE驱动接口调用设置后的所述第一BLE驱动,以所述BLE连接事件间隔向所述第二电子设备发送Wi-Fi设备间P2P连接数据,所述Wi-Fi P2P连接数据包括绑定请求数据、认证请求数据以及P2P参数协商数据;
所述第一电子设备与所述第二电子设备建立Wi-FiP2P连接。
2.根据权利要求1所述的方法,其特征在于,所述第一电子设备包括第一通信模块、与所述第一BLE驱动接口对应的第一BLE驱动,以及第一BLE硬件;
其中,所述第一电子设备调用所述第一BLE驱动接口,设置所述第一BLE驱动的BLE连接事件间隔,包括:
所述第一电子设备通过所述第一通信模块调用所述第一BLE驱动接口;
通过所述第一BLE驱动接口设置所述第一BLE驱动的所述BLE连接事件间隔;
通过所述第一BLE驱动将所述BLE连接事件间隔设置到所述第一BLE硬件。
3.根据权利要求2所述的方法,其特征在于,所述第一电子设备调用所述第一BLE驱动接口,设置所述第一BLE驱动的BLE连接事件间隔,包括:
所述第一电子设备调用所述第一BLE驱动接口,将所述BLE连接事件间隔设置为第一值,所述第一值的取值范围为[7.5毫秒,4秒]。
4.根据权利要求3所述的方法,其特征在于,第一值为7.5毫秒。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一电子设备通过所述第一BLE驱动接口调用设置后的所述第一BLE驱动,与所述第二电子设备建立蓝牙连接,包括:
所述第一电子设备通过所述第一BLE驱动接口调用设置后的所述第一BLE驱动,发起BLE连接;
所述第一电子设备通过设置后的所述第一BLE驱动,触发所述第一BLE硬件向所述第二电子设备发送BLE连接请求;
所述第一BLE硬件接收到BLE连接响应消息,所述BLE连接响应消息是所述第二电子设备的第二BLE硬件根据所述BLE连接请求发送的确认连接消息;
所述第一BLE硬件与所述第二BLE硬件建立蓝牙连接。
6.根据权利要求2至4中任一项所述的方法,其特征在于,所述第一电子设备通过所述第一BLE驱动接口调用设置后的所述第一BLE驱动,以所述BLE连接事件间隔向所述第二电子设备发送Wi-FiP2P连接数据,包括:
所述第一电子设备通过所述第一BLE驱动接口调用设置后的所述第一BLE驱动,将所述Wi-FiP2P连接数据发送到第一BLE硬件;
所述第一电子设备通过所述第一BLE硬件,以所述BLE连接事件间隔向所述第二电子设备发送所述Wi-FiP2P连接数据。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述第一电子设备调用所述第一BLE驱动接口,将所述BLE驱动参数中的BLE连接地址设置为所述第二电子设备的物理地址;
所述第一电子设备通过设置后的所述第一BLE驱动,触发所述第一BLE硬件按照所述BLE连接地址向所述第二电子设备发送所述Wi-FiP2P连接数据。
8.根据权利要求2至4中任一项所述的方法,其特征在于,所述第一BLE驱动与所述第一BLE硬件之间通过主机控制接口HCI命令进行交互。
9.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一电子设备通过所述第一BLE驱动接口调用设置后的所述第一BLE驱动,以所述BLE连接事件间隔向所述第二电子设备发送Wi-FiP2P连接数据,包括:
所述第一电子设备以设置的所述BLE连接事件间隔向所述第二电子设备发送设备绑定请求数据;
所述第一电子设备以设置的所述BLE连接事件间隔向所述第二电子设备发送设备认证请求数据;以及,
所述第一电子设备以设置的所述BLE连接事件间隔向所述第二电子设备发送设备直连P2P参数协商数据。
10.根据权利要求9所述的方法,其特征在于,在所述第一电子设备以所述BLE连接事件间隔向所述第二电子设备发送设备绑定请求数据之后,所述方法还包括:
所述第二电子设备根据接收到的所述设备绑定请求数据,显示第一提示信息,所述第一提示信息用于提示是否同意所述第一电子设备连接至所述第二电子设备;
所述第二电子设备在接收到用户的确认操作后,将所述第一电子设备与所述第二电子设备成功绑定;
所述第二电子设备向所述第一电子设备发送用于指示设备绑定成功的消息。
11.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一电子设备与所述第二电子设备建立Wi-FiP2P连接,包括:
在所述第一电子设备接收到用于指示P2P参数协商完成的消息之后,所述第一电子设备与所述第二电子设备建立Wi-FiP2P连接。
12.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一电子设备与所述第二电子设备建立Wi-FiP2P连接,包括:
所述第一电子设备生成服务集标识SSID和密码,并根据所述SSID和密码创建模拟热点SoftAP;
所述第一电子设备向所述第二电子设备发送所述SSID和所述密码;
所述第二电子设备根据所述SSID和所述密码,连接至所述第一电子设备创建的所述模拟热点。
13.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一电子设备每次与所述第二电子设备建立蓝牙连接后,所述第一电子设备均以设置后的所述BLE连接事件间隔向所述第二电子设备发送所述Wi-FiP2P连接数据。
14.根据权利要求1所述的方法,其特征在于,所述第一电子设备还包括投屏应用;
在所述第一电子设备调用所述第一BLE驱动接口,设置所述第一BLE驱动的BLE连接事件间隔之前,包括:
所述第一电子设备接收到用户在所述投屏应用上的操作,所述操作用于触发所述第一电子设备向第二电子设备投屏;
响应于所述操作,所述投屏应用指示向所述第二电子设备发起投屏连接;
其中,所述投屏连接为Wi-FiP2P连接。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
所述第一电子设备基于所述Wi-FiP2P连接,建立业务层的TCP连接;
所述第一电子设备基于所述TCP连接,向所述第二电子设备传输投屏数据。
16.根据权利要求14所述的方法,其特征在于,所述响应消息包括所述第二电子设备的设备信息;其中,所述第二电子设备的设备信息包括所述第二电子设备的物理地址、设备名称和设备标识。
17.根据权利要求14至16中任一项所述的方法,其特征在于,在所述第一电子设备接收所述第二电子设备针对所述BLE广播发送的响应消息之后,所述方法还包括:
所述第一电子设备在所述投屏应用的界面中显示所述第二电子设备的设备信息;
其中,所述第一电子设备接收到用户在所述投屏应用上的操作,包括:
所述第一电子设备接收到用户对所述第二电子设备的设备信息的选择操作。
18.根据权利要求14至16中任一项所述的方法,其特征在于,所述第一电子设备中安装有电脑管家应用APP,所述电脑管家APP中设置有所述投屏应用功能;所述方法还包括:
所述第一电子设备接收到用户开启所述电脑管家APP的操作;
响应于所述操作,所述第一电子设备显示所述电脑管家APP的界面,所述电脑管家APP的界面中包括用于触发开启投屏业务的立即连接控件;
其中,所述第一电子设备通过所述Windows系统接口调用第一BLE驱动,发送BLE广播,包括:
所述第一电子设备接收到用户对所述立即连接控件的操作;
响应于所述操作,所述第一电子设备通过所述Windows系统接口调用所述第一BLE驱动,发送所述BLE广播。
19.根据权利要求14至16中任一项所述的方法,其特征在于,所述方法还包括:
所述第二电子设备接收到所述第一电子设备发送的所述投屏数据;
所述第二电子设备通过显示屏显示所述投屏数据。
20.一种电子设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序或指令,以使得所述电子设备实现如权利要求1至19中任一项所述的方法。
21.一种芯片系统,其特征在于,所述芯片系统与存储器耦合,所述芯片系统用于读取并执行所述存储器中存储的计算机程序,以实现如权利要求1至19中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至19中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111544242.3A CN115022852B (zh) | 2021-12-16 | 2021-12-16 | 控制蓝牙传输速率的方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111544242.3A CN115022852B (zh) | 2021-12-16 | 2021-12-16 | 控制蓝牙传输速率的方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022852A CN115022852A (zh) | 2022-09-06 |
CN115022852B true CN115022852B (zh) | 2023-10-20 |
Family
ID=83065007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111544242.3A Active CN115022852B (zh) | 2021-12-16 | 2021-12-16 | 控制蓝牙传输速率的方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022852B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110248341A (zh) * | 2018-03-08 | 2019-09-17 | 华为技术有限公司 | 传输速率切换方法、蓝牙设备及计算机可读介质 |
CN111328059A (zh) * | 2020-02-25 | 2020-06-23 | Oppo广东移动通信有限公司 | 一种数据传输方法、数据传输装置及电子设备 |
CN111372325A (zh) * | 2020-02-21 | 2020-07-03 | 华为技术有限公司 | 建立Wi-Fi点对点连接的方法和装置 |
CN111541934A (zh) * | 2020-07-08 | 2020-08-14 | 成都极米科技股份有限公司 | 投屏设备、方法、系统及计算机可读存储介质 |
CN111757308A (zh) * | 2020-07-09 | 2020-10-09 | 杭州安恒信息技术股份有限公司 | 低功耗蓝牙连接阻断方法、装置、计算机设备和存储介质 |
CN111818669A (zh) * | 2020-06-04 | 2020-10-23 | 青岛海信移动通信技术股份有限公司 | 移动终端及其数据传输方法 |
CN113691842A (zh) * | 2020-05-18 | 2021-11-23 | 荣耀终端有限公司 | 一种跨设备的内容投射方法及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3908017A4 (en) * | 2019-01-25 | 2022-01-26 | Huawei Technologies Co., Ltd. | METHOD AND APPARATUS FOR ESTABLISHING A BLUETOOTH DATA CHANNEL |
-
2021
- 2021-12-16 CN CN202111544242.3A patent/CN115022852B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110248341A (zh) * | 2018-03-08 | 2019-09-17 | 华为技术有限公司 | 传输速率切换方法、蓝牙设备及计算机可读介质 |
CN111372325A (zh) * | 2020-02-21 | 2020-07-03 | 华为技术有限公司 | 建立Wi-Fi点对点连接的方法和装置 |
CN111328059A (zh) * | 2020-02-25 | 2020-06-23 | Oppo广东移动通信有限公司 | 一种数据传输方法、数据传输装置及电子设备 |
CN113691842A (zh) * | 2020-05-18 | 2021-11-23 | 荣耀终端有限公司 | 一种跨设备的内容投射方法及电子设备 |
CN111818669A (zh) * | 2020-06-04 | 2020-10-23 | 青岛海信移动通信技术股份有限公司 | 移动终端及其数据传输方法 |
CN111541934A (zh) * | 2020-07-08 | 2020-08-14 | 成都极米科技股份有限公司 | 投屏设备、方法、系统及计算机可读存储介质 |
CN111757308A (zh) * | 2020-07-09 | 2020-10-09 | 杭州安恒信息技术股份有限公司 | 低功耗蓝牙连接阻断方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115022852A (zh) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7378576B2 (ja) | リモコン装置を用いたワンタッチスクリーンプロジェクションを実施するための端末装置、方法及びシステム | |
WO2021023035A1 (zh) | 一种镜头切换方法及装置 | |
CN111491297B (zh) | 一种控制智能家居设备连网的方法及设备 | |
US11844119B2 (en) | Bluetooth pairing method and related apparatus | |
US11843712B2 (en) | Address book-based device discovery method, audio and video communication method, and electronic device | |
US11949805B2 (en) | Call method and apparatus | |
CN114185503B (zh) | 多屏交互的系统、方法、装置和介质 | |
EP4120074A1 (en) | Full-screen display method and apparatus, and electronic device | |
WO2022068670A1 (zh) | 设备间触碰建立无线连接的方法、电子设备及芯片 | |
US20220294896A1 (en) | Call method and apparatus | |
WO2023045712A1 (zh) | 投屏异常处理方法及电子设备 | |
CN116233300A (zh) | 控制通信服务状态的方法、终端设备和可读存储介质 | |
US20230125956A1 (en) | Wireless Communication System and Method | |
US20220124607A1 (en) | Method for Accessing Network by Smart Home Device and Related Device | |
US20230350629A1 (en) | Double-Channel Screen Mirroring Method and Electronic Device | |
US11792631B2 (en) | Emergency call method and user terminal | |
CN115022852B (zh) | 控制蓝牙传输速率的方法及电子设备 | |
CN117425227A (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
CN115022849B (zh) | 基于Wi-Fi P2P的数据传输方法及电子设备 | |
WO2023025059A1 (zh) | 一种通信系统及通信方法 | |
US20240184501A1 (en) | Display method, electronic device, and system | |
CN115529639A (zh) | 网络切换方法、装置、用户设备及可读存储介质 | |
CN114980238A (zh) | Wi-Fi接入的方法及相关设备 | |
CN117641359A (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 |