通过参数配置模拟蓝牙外设方法、系统、终端及存储介质与流程

文档序号:26947951发布日期:2021-10-15 22:56阅读:237来源:国知局
通过参数配置模拟蓝牙外设方法、系统、终端及存储介质与流程

1.本技术涉及蓝牙技术的领域,尤其是涉及一种通过参数配置模拟蓝牙外设方法、系统、终端及存储介质。


背景技术:

2.目前,随着科技的不断发展,智能家居逐渐走进人们的生活。为了实现家用电器的集中控制和远程控制功能,家庭智能网关通过有线或无线的方式,按照特定的通信协议,借助外部拓展模块控制家电或照明设备。蓝牙作为一种低成本的近距离无线连接方式,也是智能家电的一种通讯方式。
3.现有的,在软件开发的过程中,需要与硬件配合进行开发调试,根据硬件设备的实际情况,对软件的参数进行调整。
4.上述中的相关技术存在以下缺陷:软件开发的调试以硬件开发为前提,因此软件的开发速度受到硬件开发速度的制约,若硬件开发由于意外原因而延后,则势必会耽误软件的调试,从而导致蓝牙软件开发效率较低。


技术实现要素:

5.为了减小软件与硬件开发的沟通需求,提高蓝牙软件开发的效率,本技术提供一种通过参数配置模拟蓝牙外设方法、系统、终端及存储介质。
6.第一方面,本技术提供一种通过参数配置模拟蓝牙外设方法,采用如下的技术方案:一种通过参数配置模拟蓝牙外设方法,包括:获取用户输入的当前外设识别码和当前服务识别码;根据所述当前服务识别码,获取本地数据库中的特征值信息,所述特征值信息包括特征值识别码和特征值权限属性;根据所述特征值权限属性,对所述特征值信息进行筛选生成当前服务类,所述当前服务类由若干特征值信息组成,所述当前服务类对应的服务识别码与所述当前服务识别码相同;将所述当前服务类与所述当前外设识别码对应匹配;获取用户发送的确认请求;响应于所述确认请求,生成并广播包括所述当前外设识别码的连接请求,以供用户连接。
7.通过采用上述技术方案,根据特征值识别码,将用户输入的当前服务识别码下的特征值信息进行筛选之后,与当前的模拟外设绑定,一个模拟外设可绑定多个服务类,通过每个服务类从本地数据库中筛选出的特征值,对蓝牙外设进行模拟,与软件开发人员进行模拟交互,便于软件的开发人员进行调参,从而无需等待硬件的开发进度,提高了蓝牙软件的开发效率。
8.可选的,所述获取用户输入的当前外设识别码和当前服务识别码之前还包括:获取用户输入的特征值信息,并将所述特征值信息存储至本地数据库,所述特征值信息包括所属服务类的服务识别码;获取用户选择的属性信息,所述属性信息包括属性识别码;获取用户输入的协议头;根据所述属性识别码、服务识别码和特征值识别码,在所述协议头的基础上生成本地指令并存储至本地数据库。
9.通过采用上述技术方案,服务识别码和特征值识别码均可在与硬件开发人员沟通之后手动输入,增大了服务和特征值的种类,从而满足用户多样化的需求;用户手动输入不同的协议头能够定义生成不同的指令,为交互应答做好基础。
10.可选的,所述属性信息可由用户手动输入。
11.通过采用上述技术方案,用户可手动输入例如亮度、电量和温度的属性,使得生成的模拟蓝牙外设能够符合软件开发人员实际的参数需求。
12.可选的,所述本地指令包括协议头、属性识别码和特征值识别码;所述响应于所述确认请求,生成并广播包括所述当前外设识别码的连接请求,以供用户连接之后还包括:通过用户连接后建立的蓝牙链路,获取用户发送的修改指令,所述修改指令包括待修改属性识别码、待修改特征值识别码和修改协议头;在本地数据库中,判断是否存在协议头与所述修正协议头相同、特征值识别码与所述待修改特征值识别码相同,以及属性识别码与所述待修改属性识别码相同的本地指令;若存在符合要求的所述本地指令,则根据所述本地指令获取对应的属性长度;根据所述属性长度和所述修正指令,生成新属性值;用所述新属性值对本地数据库中对应的属性值进行更新。
13.通过采用上述技术方案,在建立蓝牙链路之后,用户向模拟蓝牙设备发送修改指令,随后将修改指令与本地数据库中的本地指令进行比对,对修改指令中对应的属性值进行修改和更新,以此实现用户和模拟蓝牙外设之间的交互。
14.可选的,所述用所述新属性值对本地数据库中对应的属性值进行更新之后还包括:判断所述特征值信息的特征值权限属性中是否还包括“可通知”,且本地数据库中是否存在对应协议头为外设接收指令协议头的本地指令;若所述特征值权限属性中还包括“可通知”,且本地数据库中存在所述本地指令,则获取所述本地指令并将所述本地指令发送至用户端。
15.通过采用上述技术方案,在通过指令修改了属性值之后,若对应的特征值信息中包括“可通知”的特征值权限属性,则会将应答指令反馈给用户,以通知用户当前的信号传递情况,以此改善用户的使用体验。
16.可选的,所述在本地数据库中,判断是否存在协议头与所述修正协议头相同、特征值识别码与所述待修改特征值识别码相同,以及属性识别码与所述待修改属性识别码相同的本地指令之后还包括:
若不存在所述本地指令,则根据所述待修改属性识别码和待修改特征值识别码,从本地数据库中获取协议头为报警协议头的本地指令,发送所述本地指令至用户端。
17.通过采用上述技术方案,当本地数据库中不存在与修改指令对应的本地指令时,无法进行属性值的修改,此时发送报警指令,表示修改失败,及时提醒开发人员进行补充完善。
18.第二方面,本技术提供一种通过参数配置模拟蓝牙外设系统,采用如下的技术方案:一种通过参数配置模拟蓝牙外设系统,包括:用户输入子模块,用于获取用户输入的当前外设识别码和当前服务识别码;外设匹配子模块,用于根据所述当前服务识别码,获取本地数据库中的特征值信息,所述特征值信息包括特征值识别码和特征值权限属性;根据所述特征值权限属性,对所述特征值信息进行筛选生成当前服务类,所述当前服务类由若干特征值信息组成,所述当前服务类对应的服务识别码与所述当前服务识别码相同;将所述当前服务类与所述当前外设识别码对应匹配;确认广播子模块,用于获取用户发送的确认请求;响应于所述确认请求,生成并广播包括所述当前外设识别码的连接请求,以供用户连接。
19.通过采用上述技术方案,在用户输入当前外设识别码和当前服务识别码之后,可针对该服务下的特征值进行筛选,随后根据筛选结果生成当前服务类,并且将当前服务类与当前外设识别码匹配,从而生成具有属性和通讯通道的模拟外设,软件开发人员可直接与模拟外设进行通讯和参数调节,节省时间,提高了软件开发效率。
20.第三方面,本技术提供一种智能终端,采用如下的技术方案:一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如第一方面所述方法的计算机程序。
21.通过采用上述技术方案,通过从本地数据库获取服务和特征值,与当前外设识别码进行绑定生成模拟蓝牙外设,使得软件开发人员能够将蓝牙软件与模拟蓝牙外设进行通讯调参,而无需与硬件开发进行配合,节省时间,提高了软件开发的效率。
22.第四方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,包括存储有能够被处理器加载并执行如第一方面所述方法的计算机程序。
23.通过采用上述技术方案,能够为模拟蓝牙外设手动匹配所需的服务,使得模拟蓝牙外设能够接近真实所需的蓝牙外设功能,从而使得软件开发人员能够基于模拟蓝牙外设进行调参,减小了与硬件开发的沟通,节省软件开发的时间,提高效率。
24.综上所述,本技术包括以下至少一种有益技术效果:1.通过将包含特征值的服务与外设识别码匹配绑定,从而使其成为具有通讯通道的模拟外设,开发人员可以直接与模拟外设进行通讯和参数调节,节省时间,提高了软件开发效率;2.在通过指令修改了属性值之后,若对应的特征值信息中包括“可通知”的特征值权限属性,则会将用于应答的本地指令反馈给用户,以通知用户当前的信号传递情况,以此改善用户的使用体验。
附图说明
25.图1是本技术实施例的通过参数配置模拟蓝牙外设方法的流程示意图。
26.图2是本技术实施例的用于将蓝牙外设数据化的s100和用于根据数据生成模拟蓝牙外设的s200子步骤的流程示意图。
27.图3是本技术实施例的用于与模拟外设进行交互的s300的子步骤的流程示意图。
28.图4是本技术实施例的通过参数配置模拟蓝牙外设系统的结构框图。
29.附图标记说明:1、本地数据生成模块;2、模拟外设生成模块;21、用户输入子模块;22、外设匹配子模块;23、确认广播子模块;3、指令数据交互模块。
具体实施方式
30.以下结合附图1

4对本技术作进一步详细说明。
31.本技术实施例公开一种通过参数配置模拟蓝牙外设方法。参照图1,通过参数配置模拟蓝牙外设方法包括:s100:获取用户输入的特征值信息、服务类、属性信息和协议头,生成对应的本地指令,并将本地指令存储至本地数据库。
32.其中,用户即指代软件开发人员,软件开发人员可事先与硬件开发人员进行沟通,手动输入特征值信息、服务类、属性信息等的具体值,将上述具体值整合生成的模拟蓝牙外设,从而对实际外设的功能进行模拟,满足用户的开发需求。具体来说,结合图2,s100包括以下子步骤:s101:获取用户输入的特征值信息和服务类。
33.其中,服务类对应有服务识别码,服务识别码为服务类的唯一标识,不同的服务类对应不同的服务识别码,此外,每个服务类均由若干功能相关的特征值信息组成,特征值信息包括特征值识别码。需要说明的是,服务识别码和特征值识别码均为uuid码。
34.具体的,在模拟外设端的界面上,用户可在输入框内手动输入特征值识别码和服务识别码,或者用户可将特征值识别码和服务识别码导入到模拟外设端中,模拟外设端可以为带有蓝牙模块的手机终端或者带有蓝牙模块的电脑终端。需要说明的是,用户输入的特征值识别码和服务识别码的具体值均为软件开发人员事先与硬件开发人员沟通后,根据实际需求确定得到的。
35.s102:获取用户选择的属性信息。
36.其中,属性信息包括属性识别码和属性长度,不同的属性识别码对应不同的属性,例如亮度、电量、温度等。具体的,用户可在模拟外设端的界面上手动输入属性识别码和属性长度,并且在界面上通过选择框对某一所需的属性信息进行选中。
37.s103:获取用户输入的协议头。
38.其中,不同的协议头的具体数值是预设的,且不同的协议头代表不同的指令含义,例如of01的协议头可代表修改的指令,of02的协议头可代表应答的指令等。
39.s104:根据属性信息、特征值信息和服务类,在协议头的基础上生成本地指令。
40.具体的,本地指令从高位到低位依次包括外设识别码、服务识别码、特征值识别码、协议头和属性识别码。其中,外设识别码暂时为空,服务识别码、特征值识别码、协议头和属性识别码分别对应用户之前输入的服务识别码、特征值识别码、协议头和属性识别码。
最后,将生成的本地指令保存到本地数据库中。
41.s200:根据用户输入的服务识别码,从本地数据库中筛选出特征值信息与用户输入的外设识别码绑定,生成并广播确认请求。
42.具体的,用户可输入外设识别码和服务识别码,将对应的服务类与模拟外设端绑定,根据本地数据库完成模拟蓝牙外设的生成,随后进行广播等待连接和交互,结合图2,s200包括以下子步骤:s201:获取用户输入的当前外设识别码。
43.其中,外设识别码为模拟外设的唯一标识,为便于用户区分,不同的模拟外设对应有不同的外设识别码。具体的,用户可在模拟外设端显示界面的外设输入框内,手动输入当前外设标识码。
44.s202:获取用户输入的当前服务识别码。
45.具体的,用户可在模拟外设端显示界面的外设输入框内,手动输入当前服务识别码,该当前服务识别码为预存在本地数据库的多个服务识别码中的一个。
46.s203:根据当前服务识别码,获取本地数据库中的特征值信息。
47.其中,特征值信息还包括该特征值所属的服务类的服务识别码。具体的,用户可在模拟外设端的显示界面上点击虚拟按钮,发送对当前服务识别码表示确认的请求,系统在接收到该请求之后,从本地数据库中,搜索获取与当前服务识别码具有相同服务识别码的特征值信息。
48.s204:将特征值信息与当前外设识别码进行绑定匹配。
49.其中,特征值信息还包括外设识别码,该外设识别码描述了该特征值信息对应匹配的外设。具体的,将用户输入的当前外设识别码,填入当前服务类下的各个特征值信息的外设识别码中,所有特征值信息的外设识别码在绑定匹配之前预设为空。在此之后,用户可选择在调试终端的界面继续输入其他的服务识别码,为当前的模拟外设增加多个服务类,即可返回s202,再次获取用户输入的当前服务识别码。
50.s205:获取用户发送的确认请求。
51.具体的,在用户为当前的模拟外设配置完成了多个服务类后,可在模拟外设端的界面上点击某一虚拟按钮,发送用于表示完成模拟外设配置的确认请求。
52.s206:响应于确认请求,生成并广播连接请求,以供用户连接。
53.其中,连接请求包括当前外设识别码。具体的,在接收到用户发送的确认请求之后,生成连接请求,并调用程序sdk进行广播,等待用户进行蓝牙连接。
54.s300:根据用户发送的修改指令,从本地数据库中获取对应的本地指令发送给用户端。
55.其中,用户端可以是手机app等在现实中可以与蓝牙外设进行交互的终端。具体的,用户端与模拟外设端通过蓝牙连接,以指令数据的交换来实现与模拟外设端的交互过程。需要说明的是,此步骤中的属性信息、特征值信息和本地指令所包括的外设识别码均与连接请求中的外设识别码相同,即通过调用与当前模拟外设绑定的服务类下的特征值信息、属性信息和本地指令完成数据的交互。
56.具体来说,结合图3,s300包括以下子步骤:s301:响应于连接请求,建立蓝牙链路。
57.具体的,软件开发人员打开用户端的蓝牙功能,接收到模拟外设端广播的连接请求,响应于该连接请求,在用户端和模拟外设端之间建立用于传递数据的蓝牙链路,准备进行指令数据的交换。
58.s302:获取用户发送的修改指令。
59.其中,修改指令的数据结构与本地指令部分相同,修改指令的属性识别码为待修改属性识别码,修改指令的特征值识别码为待修改特征值识别码,修改指令的协议头为修改协议头。例如,修改指令的修协议头可确定为0f01,待修改属性识别码可为亮度这一属性的识别码,则该修改指令代表对模拟外设端的亮度这一属性值进行修改。
60.s303:根据修正协议头、待修改特征值识别码和待修改属性识别码,判断是否存在符合指令条件的本地指令。
61.需要说明的是,特征值信息还包括特征值权限属性,特征值权限属性包括“可读”、“可写”、“可通知”三种。在本实施例中,“可读”的特征值权限对应为“0”,“可写”的特征值权限对应为“1”,“可通知”的特征值权限对应为“2”。
62.其中,符合指令条件是指协议头与修正协议头相同,且特征值识别码与待修改特征值识别码相同,且属性识别码与待修改属性识别码相同的本地指令。具体的,首先在本地数据库中获取特征值识别码与待修改特征值识别码相等,且特征值权限属性为“1”(可写)的特征值信息,为对应属性值的修改提供通道,随后判断本地数据库中是否存在符合指令条件的本地指令,若本地数据库中存在符合指令条件的本地指令,则跳转至s304;若本地数据库中不存在符合指令条件的本地指令,则跳转至s309。
63.s304:根据本地指令获取对应的属性长度。
64.具体的,在本地数据库中搜索获取与修改识别码具有相同属性识别码的属性信息,随后获取该属性信息中的属性长度。
65.s305:根据获取到的属性长度,从修正指令中生成新属性值。
66.其中,修正指令中还包括修正属性值。具体的,从修正指令中的预设起点开始,获取与属性长度等长的字符串,并将该字符串定义为新属性值。
67.s306:用新属性值对本地数据库中对应的属性值进行更新。
68.具体的,用获取到的新属性值替换本地数据库中的对应属性信息中的属性值,从而对该属性值进行更新。
69.s307:判断特征值信息和本地指令是否符合应答条件。
70.其中,符合应答条件是指特征值信息的特征值权限属性还包括“2”(可通知),同时,本地数据库中存在特征值识别码为修改特征识别码,且属性识别码为待修改属性识别码,且协议头为外设接受指令协议头的本地指令。具体的,获取特征值识别码与待修改特征值识别码相同的特征值信息,判断该特征值信息和本地指令是否符合应答条件,若特征值信息和本地指令符合应答条件,则跳转至s308,若特征值信息和本地指令不符合应答条件,则跳转至s309。
71.s308:获取本地指令并将该本地指令发送至用户端。
72.具体的,获取满足应答条件的本地指令,并将其通过蓝牙链路发送至用户端,通知用户已完成对对应属性的修改动作。
73.s309:根据特征值信息和待修改属性识别码,获取包括报警协议头的本地指令,将
该本地指令发送至用户端。
74.具体的,在本地数据库中,搜索获取特征值识别码为修改特征识别码,且属性识别码为待修改属性识别码,且协议头为报警协议头的本地指令,最后将该本地指令通过蓝牙链路发送至用户端,对用户进行报警提示,通知用户无法完成对对应属性的修改动作。
75.实施原理:首先获取用户输入的特征值信息、服务类、属性信息和协议头,并存储至本地数据库,再根据用户的选择和输入生成对应的本地指令同样存储至本地数据库。随后,获取用户输入的当前服务识别码和当前外设识别码,为模拟外设匹配多个服务类,使得模拟外设能够模拟现实中外设的功能。在模拟外设与用户端之间建立蓝牙链路之后,两者之间进行指令数据的传输和应答,从而实现了在无需匹配的硬件开发的前提下,软件开发人员可对开发的软件进行连接和调参,无需顾及硬件开发的速度,提高了软件开发的效率和自主性。
76.基于上述方法,本技术实施例还公开一种通过参数配置模拟蓝牙外设系统。参照图4,通过参数配置模拟蓝牙外设系统包括本地数据生成模块1、模拟外设生成模块2和指令数据交互模块3。
77.本地数据生成模块1,用于获取用户输入的特征值信息、服务类、属性信息和协议头,生成本地指令,并将本地指令和上述输入存储至本地数据库中。
78.模拟外设生成模块2,用于根据用户的输入,将服务类与外设识别码进行绑定,获取用户输入的当前外设识别码,调用对应的服务识别码和特征值识别码生成模拟外设并进行广播。具体的,该模块还包括用户输入子模块21、外设匹配子模块22和确认广播子模块23:用户输入子模块21,用于获取用户输入的当前外设识别码和当前服务识别码。
79.外设匹配子模块22,用于根据当前服务识别码,从本地数据库中筛选生成特征值信息,根据特征值信息的特征值权限属性,从上述的特征值信息中选择生成当前服务类,将当前服务类与外设识别码对应匹配。
80.确认广播子模块23,用于获取用户发送的确认请求,生成包括当前外设识别码的连接请求并进行广播,以供用户连接。
81.指令数据交互模块3,用于获取用户发送的修改指令,根据修改指令判断是否存在符合指令条件的本地指令,若存在符合指令条件的本地指令,则根据对应的属性长度对属性值进行更新,当特征值权限中包括“可通知”时发送包括外设接受指令协议头的本地指令至用户端;若不存在符合指令条件的本地指令,则生成包含报警协议头的本地指令至用户端。
82.本技术实施例还公开一种智能终端,智能终端包括存储器和处理器,存储器上存储有能够被处理器加载并执行如上述的通过参数配置模拟蓝牙外设方法的计算机程序。
83.本技术实施例还公开一种计算机可读存储介质,其存储有能够被处理器加载并执行如上述的通过参数配置模拟蓝牙外设方法的计算机程序,该计算机可读存储介质例如包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
84.以上实施例仅用以说明本技术的技术方案,而非对申请的保护范围进行限制。显然,所描述的实施例仅仅是本技术部分实施例,而不是全部实施例。基于这些实施例,本领
域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术所要保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1