CN113781760B - 基于二维码的蓝牙遥控方法、装置、系统及介质 - Google Patents
基于二维码的蓝牙遥控方法、装置、系统及介质Info
- Publication number
- CN113781760B CN113781760B CN202110943201.5A CN202110943201A CN113781760B CN 113781760 B CN113781760 B CN 113781760B CN 202110943201 A CN202110943201 A CN 202110943201A CN 113781760 B CN113781760 B CN 113781760B
- Authority
- CN
- China
- Prior art keywords
- remote control
- variable
- value
- wind
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000010438 heat treatment Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 15
- 238000001816 cooling Methods 0.000 claims description 12
- 238000005057 refrigeration Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 9
- 238000007791 dehumidification Methods 0.000 claims description 6
- DYDNPESBYVVLBO-UHFFFAOYSA-N formanilide Chemical compound O=CNC1=CC=CC=C1 DYDNPESBYVVLBO-UHFFFAOYSA-N 0.000 claims 10
- 230000008569 process Effects 0.000 abstract description 5
- 206010011409 Cross infection Diseases 0.000 abstract description 3
- 206010029803 Nosocomial infection Diseases 0.000 abstract description 3
- 244000052616 bacterial pathogen Species 0.000 abstract description 2
- 238000010408 sweeping Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 238000005096 rolling process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Abstract
本发明公开了基于二维码的蓝牙遥控方法、装置、系统及介质,方法包括:遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中;受控设备实时监听蓝牙广播包,筛选出遥控设备发送的蓝牙广播包;从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令,从而实现了通过一个设备扫二维码即可实现对所有受控设备的控制,无需寻找对应的遥控器,其使用方便、节省了资源,且受控设备的键盘不会共用,降低了病菌交叉感染的概率,且本发明无需使遥控设备和受控设备之间建立连接,省去了蓝牙配对的过程,且一个受控设备可由多个遥控设备控制。
Description
技术领域
本发明涉及智能家居技术领域,尤其涉及基于二维码的蓝牙遥控方法、装置、系统及介质。
背景技术
电气设备已遍及到各行各业,很多设备都需要按键及键盘对其功能进行控制,比如家用电器按键、遥控器、电梯、ATM机、快递柜、超市储件柜等;这些设备的按键在操作时存在以下问题:
1)从健康角度来说,多人共同用到的键盘,会增大使用者交叉感染的概率;
2)从信息安全角度来说,多人共同用到的键盘,更容易出现信息泄露的情况;
3)对于遥控器类的按键操作,不同产品所用遥控器不同,每次都要找到对应遥控器才可以操作,使用不方便,而且由于遥控器的不通用,每种产品配一个带来了重复的浪费。
另,现有的蓝牙控制方式,受控端和主控端需进行蓝牙配对连接成功后才能进行控制,且新主控端需控制该受控端时,该受控端必须断开之前连接的主控端,再与该新主控端建立连接才能远程控制,使用不方便。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供基于二维码的蓝牙遥控方法、装置、系统及介质,旨在解决现有技术中需要手指操作按键及遥控器不能通用的问题。
本发明的技术方案如下:
一种基于二维码的蓝牙遥控方法,所述方法应用于受控设备端,所述方法包括如下步骤:
实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包;
从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令。
所述的基于二维码的蓝牙遥控方法中,所述实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包的步骤之前,还包括:
显示用于控制受控设备的二维码。
所述的基于二维码的蓝牙遥控方法中,所述二维码包括:特征码、版本号、特征信息、显示内容、按键内容、遥控操作相关的数据定义与格式、按键操作与遥控数据之间的逻辑关系、显示内容与遥控数据之间的关联关系、数据打包方式和附加信息。
一种基于二维码的蓝牙遥控方法,所述方法应用于遥控设备端,所述方法包括如下步骤:
遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;
所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,使受控设备接收该蓝牙广播包,并响应所述操作指令。
所述的基于二维码的遥控方法中,所述蓝牙广播包包括:前导、接入地址、协议数据单元和校验,协议数据单元包括报头、长度、数据,所述遥控数据位于所述协议数据单元的数据中。
一种基于二维码的蓝牙遥控方法,其包括如下步骤:
遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;
所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中;
受控设备实时监听蓝牙广播包,筛选出遥控设备发送的蓝牙广播包;
从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令。
一种基于二维码的蓝牙遥控装置,其包括:
监听模块,用于实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包;
执行响应模块,用于从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令。
一种基于二维码的蓝牙遥控装置,其包括:
扫码模块,用于扫描二维码;
识别模块,用于遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;
蓝牙广播包生成模块,用于所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,使受控设备接收该蓝牙广播包,并响应所述操作指令。
一种基于二维码的蓝牙遥控系统,所述系统包括至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的蓝牙遥控方法。
一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的蓝牙遥控方法。
有益效果:本发明公开了基于二维码的蓝牙遥控方法、装置、系统及介质,相比于现有技术,本发明通过遥控设备扫描受控设备的二维码,直接在遥控设备上展示受控设备的遥控界面,用户直接在遥控界面操作即可生成包含操作指令的蓝牙广播包,由受控设备实时监听蓝牙广播包,筛选出属于自己的蓝牙广播包,并提取遥控数据响应用户的操作指令,实现了通过一个设备扫二维码即可实现对所有受控设备的控制,无需寻找对应的遥控器,其使用方便、节省了资源,且受控设备的键盘不会共用,降低了病菌交叉感染的概率,且本发明无需使遥控设备和受控设备之间建立连接,省去了蓝牙配对的过程,且一个受控设备可由多个遥控设备控制,智能化程度大幅提高。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1为本发明提供的基于二维码的蓝牙遥控方法的一个流程图;
图2为本发明提供的基于二维码的蓝牙遥控方法的另一个流程图;
图3为本发明提供的基于二维码的蓝牙遥控方法的另一个流程图;
图4为本发明提供的基于二维码的蓝牙遥控方法的交互示意图;
图5为本发明提供的基于二维码的蓝牙遥控方法的一应用实施例的流程图;
图6为本发明提供的基于二维码的蓝牙遥控方法中受控设备为风扇的二维码的示意图;
图7为本发明提供的基于二维码的蓝牙遥控方法中遥控设备扫描风扇二维码获取的遥控界面的示意图;
图8a和图8b分别为本发明提供的基于二维码的蓝牙遥控方法中初始二维码及动态生成的二维码的示意图;
图9为本发明提供的基于二维码的蓝牙遥控方法中受控设备为空调的二维码的示意图;
图10为本发明提供的基于二维码的蓝牙遥控方法中遥控设备扫描空调二维码获取的遥控界面的示意图;
图11a、图11b、图11c、图11d为在遥控设备的操作界面上控制空调的界面显示示意图。
图12为本发明提供的基于二维码的蓝牙遥控装置的一个功能模块示意图;
图13为本发明提供的基于二维码的蓝牙遥控装置的另一个功能模块示意图;
图14为本发明提供的基于二维码的蓝牙遥控系统较佳实施例的硬件结构示意图。
具体实施方式
本发明提供的基于二维码的蓝牙遥控方法需对受控设备和遥控设备均作改进,具体包括:
1、在需要受控设备上,布署蓝牙广播数据监听电路;
2、根据受控设备及受控设备所用键盘的备案信息(设备主类,设备子类,设备序列码/设备MAC地址值等特征信息)生成一个二维码,二维码中直接或者间接包含遥控器的显示内容、按键内容、遥控数据生成方法、数据接收目的地等信息,另也会根据需要包含一些附加信息,比如加密方面的数据;
3、在需要用到遥控器的地方放置该二维码,该二维码可以通过显示屏显示,也可以是事先打印好的固定图片;
4、打开智能手机(或类似专用设备)上的程序,扫描二维码,程序根据二维码信息生成键盘操作界面,用户在该界面完成按键操作,程序按照二维码中包含的信息对数据进行处理,打包成蓝牙广播数据包(数据包中包含目标设备的特征数据),接着发送蓝牙广播数据;
5、受控设备一直监听蓝牙广播,将接收到的广播数据包中的特征数据与自己的对比,相符时,进一步解析数据包,使用其中的控制数据控制或者配置操作受控设备。
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。
请参阅图1,图1为本发明提供的基于二维码的蓝牙遥控方法的一个流程图,所述方法应用于受控设备端,如图1所示,所述方法包括如下步骤:
S101、实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包;
本实施例中,所述受控设备包括:电视、风扇、空调、冰箱、热水器、ATM机、快递柜、超市储件柜、电梯等需要通过按键、或者触控屏操作的电气设备。
所述受控设备具备蓝牙功能,布署蓝牙广播数据监听电路,实时监听环境中的蓝牙广播包,并根据受控设备的规则(如受控设备的特征码、类型、序列号等)筛选满足要求的广播包(即属于自己的广播包),并从中提取出遥控数据;若不满足筛选条件,则抛弃该广播包。蓝牙广播包中的遥控数据,根据受控设备上的二维码对应生成,二者具有相同的特征码以区分是否为自己的遥控信息,如果是提取遥控数据,否则抛弃该广播包。
具体地,所述受控设备包括监听模块和执行响应模块,其可作为一个整体,当接收到蓝牙广播包时,执行响应模块直接根据遥控数据作出响应即可;否则,监听模块与执行响应模块之间通过其它通信方式传递遥控数据,此时监听模块相当于一个数据中转器,必要时还可以通过网络中的服务器进一步中转,直到数据传递到执行响应模块。
S102、从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令。
以风扇为例,所述遥控数据为开机、关机、摆头、停止摆头、档位等相关信息,受控设备提取到遥控数据后,执行相应的操作。
本发明的基于二维码的蓝牙遥控方法中,在所述步骤S101之前还包括:显示用于控制受控设备的二维码,该二维码可通过显示屏显示,也可直接在受控设备机身和周边张贴二维码。以电梯为例,可在电梯每层楼的外侧和电梯里各张贴二维码,用户使用遥控设备(如手机)扫码操作。
当使用显示屏显示二维码时,可配合人体感应器检测是否有人体接近,在感应到人体接近时使显示屏亮屏,在感应不到人体时,使显示屏休眠,避免耗电。
所述二维码包括:特征码、版本号、特征信息、显示内容、按键内容、遥控操作相关的数据定义与格式、按键操作与遥控数据之间的逻辑关系、显示内容与遥控数据之间的关联关系、数据打包方式和附加信息,具体如下
其中,特征码可更方便、快捷确定二维码的类型、受控设备ID等,特征信息用于区分遥控器的主类型、子类型、序列码等,动态码(如果二维码有时效限制,隔一定时间会更新二维码,动态码就是其中的变化项),显示内容为受控设备的操作界面上显示的文字和数字内容,如空调温度等,按键内容受控设备的操作界面上显示的按键及相关功能标识,附加信息包括数据加密选项、密钥信息、遥控数据默认值、是否记忆最后一次的数据。
为便于控制,所述二维码包含的信息之间以“;”为界,“[]”中为字段名称,随后是字段的相关描述。
进一步地,所述的蓝牙遥控方法中,当受控设备设计信息安全时,在显示二维码之后,每隔预设时间更换所述二维码,以提高设备安全性。
请参阅图2,图2为本发明提供的基于二维码的蓝牙遥控方法的另一个流程图,所述方法应用于遥控设备端,所述方法包括如下步骤:
S201、遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面。
所述遥控设备包括摄像头、显示屏,且支持蓝牙功能的智能终端,如智能手机、平板电脑、笔记本电脑、智能遥控器等。以智能手机为例,可通过手机APP(应用程序)或微信小程序扫描所述二维码,并获取二维码对应的操作界面。
S202、所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,然后以BLE(低功耗蓝牙)广播的方式发射到空间中,使受控设备接收该蓝牙广播包,并响应所述操作指令。
以风扇为例,手机APP扫码获取到风扇的操作界面后,用户即可对其进行操作,如当用户需控制风扇摆头,只需在手机操作界面上触发“摆头”显示按钮。在检测到用户的按键操作后,手机根据从二维码获取的逻辑关系,刷新手机APP的数据,同时刷新操作界面中与这些数据相关的显示元素,然后再根据二维码中的逻辑约束生成广播数据,通过蓝牙广播出去。
本实施例中,所述蓝牙广播包包括:前导、接入地址、协议数据单元和校验,协议数据单元包括报头、长度、数据,所述遥控数据位于所述协议数据单元的数据中。
进一步地,所述的遥控方法包括:根据所述二维码,存储所述受控设备的遥控数据,以备以后在不扫描二维码时直接调出来使用,使用更便捷。
当然,本发明的遥控方法还包括:当二维码中包含服务器链接时,遥控设备与服务器连接。该服务器起辅助作用,在二维码的基础上提供更多信息给遥控器。
请参阅图3,图3为本发明提供的基于二维码的蓝牙遥控方法的另一个流程图,所述遥控方法包括如下步骤:
S301、遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;
S302、所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,并将数据发射到空间中;
S303、受控设备实时监听蓝牙广播包,筛选出遥控设备发送的蓝牙广播包;
S304、从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令。
本发明通过扫描二维码获取到受控设备的遥控器键盘操作界面,实现了在遥控设备的显示屏上操控受控设备,操控信息通过蓝牙广播方式发出遥控数据,受控设备监听到蓝牙广播包后,根据受控设备自己的特征码、类型、序列号等筛选出遥控器发给自己的数据,据此作出响应,实现了受控设备和遥控设备之间不需要建立蓝牙连接,即可进行远程控制,从而一个受控设备允许多个遥控设备同时操作。
为了更好的理解本发明,以下结合图4和图5,例举具体的应用实施例对本发明的蓝牙遥控方式进行详细说明:
首先,需在受控设备上设置二维码,该二维码包含其遥控器相关的各种信息;
之后,需在遥控器(遥控设备)上设置有摄像头和显示屏,控制器扫描二维码,获取二维码中的数据,并判断二维码数据格式是否正确,如果正确,则提取二维码中的数据,若二维码中的含有服务器链接,则需先访问获取链接所提供的数据,根据所有获取到的数据生成操作界面;
之后,遥控器等待用户操作,当检测到按键操作时,根据被操作按键和二维码中提供的逻辑,刷新控制数据和显示数据,并根据刷新的显示数据更新显示,根据刷新后的控制数据,按二维码中提供的数据生成蓝牙广播包,并以蓝牙广播包广播形式,将蓝牙广播包发送到空间中;
之后,受控设备接收遥控设备发来的遥控数据,并响应遥控数据。
本实施例中,在受控设备端,需在受控设备上部署蓝牙监听电路、用于显示二维码的显示屏和人体感应器等,当然二维码也可张贴在受控设备机身或周边。
受控设备的二维码根据受控设备及受控设备所用键盘的备案信息(包括设备主类、设备子类、设备序列码/设备MAC地址值等特征信息)生成一个二维码,二维码中直接或者间接包含遥控器的显示内容、按键内容、遥控数据生成方法、数据接收目的地等信息,还可根据需要包含一些附加信息,比如加密方面的数据。二维码作为遥控信息载体,须包含以下内容:
特征码:为了更方便、快捷确定二维码是用于本类APP应用或遥控器;
版本号;
用于区分遥控器的特征信息(包括主类型、子类型、序列码等);
动态码(如果二维码有时效限制,每隔一定时间会更新二维码,动态码就是其中的变化项);
显示内容;
按键内容;
遥控操作相关的数据定义与格式;
按键操作与遥控数据之间的逻辑关系,通过函数或表达式描述;
遥控数据打包方式(数据结合蓝牙广播包的逻辑操作描述);
附加信息(数据加密选项,密钥信息,遥控数据默认值,是否记忆最后一次的数据)。
在遥控设备端,所述遥控设备端包括摄像头、显示屏、蓝牙模块,如智能手机、平板电脑、智能遥控器等。以智能手机为例,在使用时,在智能手机上部署受控设备配套APP。该APP的功能如下:
扫描识别二维码,根据二维码中包含的数据(有些二维码容纳不下的数据,需要根据二维码的提供的索引信息从指定服务器获取)生成操作界面,扫描不同二维码得到的遥控器相关数据也可存储于本地,以备以后在不扫描二维码直接调出来使用。
用户在操作界面完成操作,每次按键操作后,遥控器根据从二维码获取的逻辑关系,刷新遥控器内部的数据,同时刷新操作界面中与这些数据相关的显示元素,然后再根据二维码中的逻辑约束生成广播数据,通过蓝牙广播出去。
蓝牙广播包数据格式如下:
在将数据打包进来时,数据放置于上表“数据(最长232bit)”区域,同时根据数据实际长度(字节数)置广播数据单元中的长度值,其余内容根据实际应用情况,按蓝牙广播包规范完成打包操作,此处不细述。
每次广播都要保证遍历到37,38,39几个广播频道(频点分别是2402MHz、2426MHz和2480MHz),为保证被控设备接收到遥控数据,可以在一定时间内(比如300毫秒)多次广播(多次广播中广播数据不变)。
受控设备一直监听蓝牙广播包,将接收到的广播数据包中的特征数据与自己的对比,相符时,进一步解析数据包,使用其中的控制数据控制或者配置操作设备。
如图6所示,当受控设备为风扇时,二维码的内容为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A];[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);[END]
二维码内容解释如下(实际使用中并不限制编码格式,只要能包含到这些信息即可):
每一个字段之间以“;”为界,[]中是字段名称,随后是字段的相关描述;
[BLERMT]有这个信息说明是我们遥控器专用的二维码;
[VER](1.00.00):代表版本号V1.00.00;
[MT](0001):主类型编号0001;
[ST](0001):子类型编号0001;
[SER](0x12345678):序列号0x12345678;
[URL]:服务器链接,此处没用到,保持空白;
[D]:显示界面相关数据,此处没用到,保持空白;
[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);
按键相关信息:(1,5)表示按1列5行排列,位置(1,1)即1列1行的按键是K1,显示名称是“风量+”,位置(1,2)即1列2行的按键是K2,显示名称是“风量-”,位置(1,3)即1列3行的按键是K3,显示名称是“摆头”,位置(1,4)即1列3行的按键是K4,显示名称是“定时”,位置(1,5)即1列5行的按键是K5,显示名称是“开关”;
[CD](b0:b7),V1(b0:b7):控制数据,共b0~b7是8个比特,对应的变量名称是V1,这个应用中只用到一个变量;
[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);
E此处表示事件的意思,随后是各种按键事件对应的操作描述,比如K1(D,V1=0x01)括号中的D表示按键按下,表示K1按下时,让控制数据中的变量V1等于0x01这个值,类似的,K2按下时让V1等于0x02,K3按下时让V1等于0x03,K4按下时让V1等于0x04,K5按下时让V1等于0x05;
[A]附加信息,此处没用到,留作空白;
[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);
要打包到蓝牙广播数据包中的数据,b0~b103共104个比特,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控器自己的序列码值(这个值不是二维码提供的,而是遥控器的,用于区分不同遥控器用的);96~103比特置为控制数据V1的值,在本应用中不同按键按下后,发出的数据包中被改变的就是这个值;104~111比特放置的是一个计数值,这个计数值在遥控器的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起。
遥控设备以智能手机通过手机APP扫描获取二维码为例,手机APP扫码后,根据所得数据生成操作界面如图7所示:
假设本实例中是根据手机设备码生成遥控器的序列号是0x11223344
如果操作风量+按键,将会生成的数据如下(按16进制表示):
00 01 00 01 12 34 56 78 11 22 33 44 01 00
第二次操作该按键生成的数据如下:
00 01 00 01 12 34 56 78 11 22 33 44 01 01
该数据会打包到蓝牙广播包中,在打包时,也可以加上标志性有前缀数据(便于风扇识别出该广播包是用作遥控控制的),由手机APP通过其蓝牙模块广播出去;
此实施例中的受控实体是一个带有蓝牙接收电路的风扇,该风扇的基本信息都体现在二维码中,比如主类型、子类型、序列码等。在风扇接收到手机发送的广播包后,会将广播包中的特征信息与自己的对比,相符且不与上一广播包重复时才响应。
在实际应用时,有些电气设备(如ATM机)需确保信息安全,本发明采用动态二维码的方式可确保信息安全,在二维码中附加了一个滚动码,这个码可以加密,也可以随机产生,手机APP在发送遥控数据回去时,也可根据需要对该数值作一些运算后返回,本发明对此不作限定;为方便理解,本实施例对该码值只作简单递增,达到上限值后清零,遥控器也只是照原样发回。
初始二维码如图8a所示,其所含数据为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A]ROL(0001);[BLE_AD](b0:b127)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:119=[ROL])(120:127=[CNT]);[END]
隔一定时间(如30秒)后再次生成的二维码如下图8b所示,该动态二维码包括含的数据为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A]ROL(0002);[BLE_AD](b0:b127)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:119=[ROL])(120:127=[CNT]);[END]
本实施例中,[A]ROL(0002)表示滚动码,(104:119=[ROL])表示第104至119比特填充滚动码的值,(120:127=[CNT])表示第120至127比特填充计数值,其中的CNT表示自增码,在遥控器上,每次操作后发出的数据包中,这个值都会刷新改变一次,比如自增1,达到最大值后溢出归零。动态二维码由风扇生成或者至少由风扇提供滚动码,滚动码隔一定时间更新一次,当手机APP根据扫描到的二维码发送控制数据给风扇时,风扇会对比控制数据中的滚动码是否当前提供的,如果是则作出响应。
由于除此之外,其余操作响应等都与上述实施例相同,此处不再详述。
另一实施例中,当受控设备为空调时,其二维码如图9所示,二维码的内容为:
[BLERMT];[VER](1.00.00);[MT](0002);[ST](0001);[SER](0x12345678);[URL](http://www.website.com/rmtinfo?ver=”1.00.00”&mt=”0002”&st=”0001”);[END]
手机APP通过[URL]字段提供的信息访问服务器,获取到服务器端事先备案好的版本号、主类、子类都是一致的操作界面,其它信息如下:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(低风/中风/高风)(V3),SWUD(4)(上下摆风关/上下摆风开)(V4),SWLR(5)(左右摆风关/左右摆风开)(V5),ALL_OFF(V6==0);[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12)(0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5),K7(D,V6=~V6);[A];[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
以上内容解释如下(实际使用中并不限制编码格式,只要能包含到这些信息即可):
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(高风/中风/低风)(V3),SWUD(4)(上下摆风开/上下摆风关)(V4),SWLR(5)(左右摆风开/左右摆风关)(V5),ALL_OFF(V6==0);
[D]代表操作界面需要显示的内容,共有5个元素;
第1个显示内容格式为xx℃,xx与控制数据[CD]中描述的变量V1绑定;
第2个显示内容与控制数据[CD]中描述的变量V2绑定,根据V2的值从小到大依次显示制冷、制热、除湿、送风其中的一个,比如V2为0时显示制冷,V2为1时显示制热;
第3个显示内容与控制数据[CD]中描述的变量V3绑定,根据V3的值从小到大依次显示低风、中风、高风中的一个,比如V3为0时显示低风,V3为2时显示高风;
第4个显示内容与控制数据[CD]中描述的变量V4绑定,V4值为0时显示上下摆风关,V4值为1时显示上下摆风开;
第5个显示内容与控制数据[CD]中描述的变量V5绑定,V5值为0时显示左右摆风关,V5值为1时显示左右摆风开;
ALL_OFF(V6==0)表示,当控制数据[CD]中描述的变量V6值为0时,关掉所有显示;
[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);
表示共有7个按键,依次是温度+、温度-、模式、风速、上下摆风、左右摆风、开关;
[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12)(0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);
控制数据描述,共b0~b15共16bit,默认值是b0~b7=0x1A,b8~b15=0x00;
变量V1占用b0~b7,可用数值范围是18~32;
变量V2占用b8~b9,可用数值范围是0~3;
变量V3占用b10~b11,可用数值范围是0~2;
变量V4占用b12,可用数值范围是0~1;
变量V5占用b13,可用数值范围是0~1;
变量V6占用b14,可用数值范围是0~1;
[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5),K7(D,V6=~V6);
描述了控制数据值在各按键操作时如何改变的逻辑;
按键1:变量V1自加1,到定义值的上限值时不再加;
按键2:变量V1自减1,到定义值的下限值时不再减;
按键3:变量V2自加1,到上限值后溢出到下限值(比如在已经达到最大值2的情况下,按键3按下后变到下限值0);
按键4:变量V3自加1,到上限值后溢出到下限值;
按键5:变量V4取反;
按键6:变量V5取反;
按键7:变量V6取反;
[A]后边没信息表示没有附加信息;
[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMT SER])(96:111=[CD])(112:119=[CNT]);
描述了要打包到蓝牙广播包中去的数据集合,b0~b119共120个比特即15个字节,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控器自己的序列码值(这个值不是二维码提供的,而是遥控器的,用于区分不同遥控器用的);96~111比特置为控制数据[CD]中的值;112~119比特放置的是一个计数值,这个计数值在遥控器的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起。
手机APP扫描如图9所示的二维码得到如图10的遥控界面,假设,本实施例是根据手机设备码生成遥控器的序列号是0x01020304,以一组操作为例详细描述过程如下:
在以上界面第一次触碰开关按键后,将会生成的数据如下(按16进制表示):
00 02 00 01 12 34 56 78 01 02 03 04 1A 40 00;
表示温度26度、开机状态、制冷模式、低风、上下摆风关、左右摆风关,其界面如图11a所示。
接着触碰模式键,空调将会切至制热模式,将会生成数据如下(按16进制表示):
00 02 00 01 12 34 56 78 01 02 03 04 1A 41 01
表示温度26度、开机状态、制热模式、低风、上下摆风关、左右摆风关,其界面如图11b所示。
若接着触碰上下摆风键,接着生出数据如下(按16进制表示):
00 02 00 01 12 34 56 78 01 02 03 04 1A 51 02
表示温度26度、开机状态、制热模式、低风、上下摆风开、左右摆风关,其界面如图11c所示。
若接着触碰开关键,则接着生出数据如下(按16进制表示):
00 02 00 01 12 34 56 78 01 02 03 04 1A 11 03
表示温度26度、关机状态、制热模式、低风、上下摆风开、左右摆风关,其界面如图11d所示。
每次按键操作后,生成的数据会打包到蓝牙广播包中,在打包时,也可以加上标志性有前缀数据(便于受控设备端识别出该广播包是用作遥控控制的),由手机通过其蓝牙模块广播出去。
应当说明的是,本发明附图中使用的方形QR码只是一种二维码的形式,本发明也可使用其它表现形式的二维码,实际可以根据需要灵活选用,并且,二维码中包含的界面信息可随着版本升级不断丰富,不限于当前描述的这些内容。
本发明还提供一种基于二维码的蓝牙遥控装置,如图12所示,其包括:
监听模块10,用于实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包;
执行响应模块20,用于从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令。
所述监听模块10与执行响应模块20电连接,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述蓝牙遥控的执行过程,各模块的具体实施方式请参考上述对应的方法实施例,此处不再赘述。
本发明另一实施例的基于二维码的蓝牙遥控装置,如图13所示,其包括:
扫码模块30,用于扫描二维码;
识别模块40,用于遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;
蓝牙广播包生成模块50,用于所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,并将数据发射到空间中,使受控设备接收该蓝牙广播包,并响应所述操作指令。
扫码模块30、识别模块40和蓝牙广播包生成模块50依次连接,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述蓝牙遥控的执行过程,各模块的具体实施方式请参考上述对应的方法实施例,此处不再赘述。
本发明还提供一种基于二维码的蓝牙遥控系统,如图14所示,所述系统14包括至少一个处理器141;以及,与所述至少一个处理器通信连接的存储器142处理器141和存储器142可以通过总线或者其他方式连接,图14中以通过总线连接为例。
处理器141用于完成蓝牙遥控系统的各种控制逻辑,其可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISCMachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器141还可以是任何传统处理器、微处理器或状态机。处理器141也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
存储器142作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的蓝牙遥控方法对应的程序指令。处理器141通过运行存储在存储器142中的非易失性软件程序、指令以及单元,从而执行系统140的各种功能应用以及数据处理,即实现上述方法实施例中的蓝牙遥控方法。
存储器142可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统140使用所创建的数据等。此外,存储器142可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器142可选包括相对于处理器141远程设置的存储器,这些远程存储器可以通过网络连接至系统140。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个单元存储在存储器142中,当被一个或者多个处理器141执行时,执行上述任意方法实施例中的蓝牙遥控方法,例如,执行以上描述的图1中的方法步骤S101至步骤S102,或者执行以上描述的图2中的方法步骤S201至步骤S204,或者执行以上描述的图5中的方法步骤S301至步骤S304。
本发明实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,例如,执行以上描述的图1中的方法步骤S101至步骤S102,或者执行以上描述的图2中的方法步骤S201至步骤S202,或者执行以上描述的图3中的方法步骤S301至步骤S304。
作为示例,非易失性存储介质能够包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦ROM(EEPROM)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(RAM)。通过说明而非限制,RAM可以以诸如同步RAM(SRAM)、动态RAM、(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)以及直接Rambus(兰巴斯)RAM(DRRAM)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
综上所述,与现有技术相比,本发明具有以下有益效果:
1、智能手机已普及到人手至少一部,而蓝牙功能属于智能手机标配,借助它可以省掉一些产品的专用遥控器,从而节省资源;
2、受控设备的遥控方式可以随着应用程序升级而升级,方便修补BUG或者扩展功能;
3、对于使用遥控器的产品,不用每次操作时到处找遥控器,也避免了使用遥控器时找不到遥控器的弊端;
4、本发明的遥控设备端,不需要建立蓝牙连接即可操作,比一般的蓝牙遥控器使用更方便;
5、现在需要建立蓝牙连接才可以操作控制的系统中,蓝牙从设备同一时间只能连接一个主设备,导致被控的从设备同一时间只能与一个主设备连接,要连接新的主设备时必须先断开当前连接的主设备;相比之下,本发明实现的遥控器则不受这个限制,允许多个遥控器可以同时存在使用;
6、本发明以数字逻辑方式定义了遥控器的界面、内部数据、通信数据、按键操作时内部数据的逻辑运算关系、生成蓝牙数据包的逻辑运算等,是一个遥控器的数字化模型,任何具备了遥控器基本硬件条件的系统都可以根据数据生成对应遥控器,智能化程度高。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的计算机程序可存储于一非易失性计算机可读取的存储介质中,该计算机程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、软盘、闪存、光存储器等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (9)
1.一种基于二维码的蓝牙遥控方法,其特征在于,所述二维码包括:特征码、版本号、特征信息、动态码、显示内容、按键内容、遥控操作相关的数据定义与格式、按键操作与遥控数据之间的逻辑关系、显示内容与遥控数据之间的关联关系、数据打包方式和附加信息;所述显示内容为受控设备的操作界面上显示的文字和数字内容,按键内容受控设备的操作界面上显示的按键及功能标识;特征信息用于区分遥控设备的主类型、子类型、序列码;动态码用于二维码有时效限制时,隔一定时间会更新二维码;附加信息包括数据加密选项、密钥信息、遥控数据默认值、是否记忆最后一次的数据;所述二维码包含的信息之间以“;”为界,“[ ]”中为字段名称;
所述方法应用于受控设备端,所述方法包括如下步骤:
实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包;
从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令;蓝牙广播包中的遥控数据,根据受控设备上的二维码对应生成,二者具有相同的特征码以区分是否为自己的遥控信息,如果是提取遥控数据,否则抛弃该广播包;
当受控设备为风扇时,二维码的内容为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时) ,K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A];[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);[END];
其中:
[BLERMT]是遥控设备专用的二维码;
[VER](1.00.00):代表版本号V1.00.00;
[MT](0001):主类型编号0001;
[ST](0001):子类型编号0001;
[SER](0x12345678):序列号0x12345678;
[URL]:服务器链接,此处没用到,保持空白;
[D]:显示界面相关数据,此处没用到,保持空白;
[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);
按键相关信息:(1,5)表示按1列5行排列,位置(1,1)即1列1行的按键是K1,显示名称是“风量+”,位置(1,2)即1列2行的按键是K2,显示名称是“风量-”,位置(1,3)即1列3行的按键是K3,显示名称是“摆头”,位置(1,4)即1列3行的按键是K4,显示名称是“定时”,位置(1,5)即1列5行的按键是K5,显示名称是“开关”;
[CD](b0:b7),V1(b0:b7):控制数据,共b0~b7是8个比特,对应的变量名称是V1,这个应用中只用到一个变量;
[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);
E表示事件,K1(D,V1=0x01)括号中的D表示按键按下,表示K1按下时,让控制数据中的变量V1等于0x01这个值,K2按下时让V1等于0x02,K3按下时让V1等于0x03,K4按下时让V1等于0x04,K5按下时让V1等于0x05;
[A]附加信息,此处没用到,留作空白;
[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);
要打包到蓝牙广播数据包中的数据,b0~b103共104个比特,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~103比特置为控制数据V1的值,在不同按键按下后,发出的数据包中被改变的就是这个值;104~111比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起;
当受控设备为空调时,其二维码的内容为:
[BLERMT];[VER](1.00.00);[MT](0002);[ST](0001);[SER](0x12345678);[URL](http://www.website.com/rmtinfo?ver=”1.00.00”&mt=”0002”&st=”0001”);[END]
遥控设备通过[URL]字段提供的信息访问服务器,获取到服务器端事先备案好的版本号、主类、子类都是一致的操作界面,其它信息如下:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(低风/中风/高风)(V3),SWUD(4)(上下摆风关/上下摆风开)(V4),SWLR(5)(左右摆风关/左右摆风开)(V5),ALL_OFF(V6==0);[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);[A];[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
其中:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(高风/中风/低风)(V3),SWUD(4)(上下摆风开/上下摆风关)(V4),SWLR(5)(左右摆风开/左右摆风关)(V5),ALL_OFF(V6==0);
[D]代表操作界面需要显示的内容,共有5个元素;
第1个显示内容格式为xx℃,xx与控制数据[CD]中描述的变量V1绑定;
第2个显示内容与控制数据[CD]中描述的变量V2绑定,根据V2的值从小到大依次显示制冷、制热、除湿、送风其中的一个,V2为0时显示制冷,V2为1时显示制热;
第3个显示内容与控制数据[CD]中描述的变量V3绑定,根据V3的值从小到大依次显示低风、中风、高风中的一个,V3为0时显示低风,V3为2时显示高风;
第4个显示内容与控制数据[CD]中描述的变量V4绑定,V4值为0时显示上下摆风关,V4值为1时显示上下摆风开;
第5个显示内容与控制数据[CD]中描述的变量V5绑定,V5值为0时显示左右摆风关,V5值为1时显示左右摆风开;
ALL_OFF(V6==0)表示,当控制数据[CD]中描述的变量V6值为0时,关掉所有显示;
[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);
表示共有7个按键,依次是温度+、温度-、模式、风速、上下摆风、左右摆风、开关;
[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);
控制数据描述,共b0~b15共16bit,默认值是b0~b7 = 0x1A,b8~b15 = 0x00;
变量V1占用b0~b7,可用数值范围是18~32;
变量V2占用b8~b9,可用数值范围是0~3;
变量V3占用b10~b11,可用数值范围是0~2;
变量V4占用b12,可用数值范围是0~1;
变量V5占用b13,可用数值范围是0~1;
变量V6占用b14,可用数值范围是0~1;
[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);
按键1:变量V1自加1,到定义值的上限值时不再加;
按键2:变量V1自减1,到定义值的下限值时不再减;
按键3:变量V2自加1,到上限值后溢出到下限值;
按键4:变量V3自加1,到上限值后溢出到下限值;
按键5:变量V4取反;
按键6:变量V5取反;
按键7:变量V6取反;
[A]后边没信息表示没有附加信息;
[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
要打包到蓝牙广播包中去的数据集合,b0~b119共120个比特即15个字节,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~111比特置为控制数据[CD]中的值;112~119比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起。
2.根据权利要求1所述的基于二维码的蓝牙遥控方法,其特征在于,所述实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包的步骤之前,还包括:
显示用于控制受控设备的二维码。
3.一种基于二维码的蓝牙遥控方法,其特征在于,所述二维码包括:特征码、版本号、特征信息、动态码、显示内容、按键内容、遥控操作相关的数据定义与格式、按键操作与遥控数据之间的逻辑关系、显示内容与遥控数据之间的关联关系、数据打包方式和附加信息;所述显示内容为受控设备的操作界面上显示的文字和数字内容,按键内容受控设备的操作界面上显示的按键及功能标识;特征信息用于区分遥控设备的主类型、子类型、序列码;动态码用于二维码有时效限制时,隔一定时间会更新二维码;附加信息包括数据加密选项、密钥信息、遥控数据默认值、是否记忆最后一次的数据;所述二维码包含的信息之间以“;”为界,“[ ]”中为字段名称;
所述方法应用于遥控设备端,所述方法包括如下步骤:
遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;蓝牙广播包中的遥控数据,根据受控设备上的二维码对应生成,二者具有相同的特征码以区分是否为自己的遥控信息;
所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,并将数据发射到空间中,使受控设备接收该蓝牙广播包,并响应所述操作指令;
当受控设备为风扇时,二维码的内容为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时) ,K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A];[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);[END];
其中:
[BLERMT]是遥控设备专用的二维码;
[VER](1.00.00):代表版本号V1.00.00;
[MT](0001):主类型编号0001;
[ST](0001):子类型编号0001;
[SER](0x12345678):序列号0x12345678;
[URL]:服务器链接,此处没用到,保持空白;
[D]:显示界面相关数据,此处没用到,保持空白;
[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);
按键相关信息:(1,5)表示按1列5行排列,位置(1,1)即1列1行的按键是K1,显示名称是“风量+”,位置(1,2)即1列2行的按键是K2,显示名称是“风量-”,位置(1,3)即1列3行的按键是K3,显示名称是“摆头”,位置(1,4)即1列3行的按键是K4,显示名称是“定时”,位置(1,5)即1列5行的按键是K5,显示名称是“开关”;
[CD](b0:b7),V1(b0:b7):控制数据,共b0~b7是8个比特,对应的变量名称是V1,这个应用中只用到一个变量;
[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);
E表示事件,K1(D,V1=0x01)括号中的D表示按键按下,表示K1按下时,让控制数据中的变量V1等于0x01这个值,K2按下时让V1等于0x02,K3按下时让V1等于0x03,K4按下时让V1等于0x04,K5按下时让V1等于0x05;
[A]附加信息,此处没用到,留作空白;
[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);
要打包到蓝牙广播数据包中的数据,b0~b103共104个比特,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~103比特置为控制数据V1的值,在不同按键按下后,发出的数据包中被改变的就是这个值;104~111比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起;
当受控设备为空调时,其二维码的内容为:
[BLERMT];[VER](1.00.00);[MT](0002);[ST](0001);[SER](0x12345678);[URL](http://www.website.com/rmtinfo?ver=”1.00.00”&mt=”0002”&st=”0001”);[END]
遥控设备通过[URL]字段提供的信息访问服务器,获取到服务器端事先备案好的版本号、主类、子类都是一致的操作界面,其它信息如下:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(低风/中风/高风)(V3),SWUD(4)(上下摆风关/上下摆风开)(V4),SWLR(5)(左右摆风关/左右摆风开)(V5),ALL_OFF(V6==0);[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);[A];[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
其中:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(高风/中风/低风)(V3),SWUD(4)(上下摆风开/上下摆风关)(V4),SWLR(5)(左右摆风开/左右摆风关)(V5),ALL_OFF(V6==0);
[D]代表操作界面需要显示的内容,共有5个元素;
第1个显示内容格式为xx℃,xx与控制数据[CD]中描述的变量V1绑定;
第2个显示内容与控制数据[CD]中描述的变量V2绑定,根据V2的值从小到大依次显示制冷、制热、除湿、送风其中的一个,V2为0时显示制冷,V2为1时显示制热;
第3个显示内容与控制数据[CD]中描述的变量V3绑定,根据V3的值从小到大依次显示低风、中风、高风中的一个,V3为0时显示低风,V3为2时显示高风;
第4个显示内容与控制数据[CD]中描述的变量V4绑定,V4值为0时显示上下摆风关,V4值为1时显示上下摆风开;
第5个显示内容与控制数据[CD]中描述的变量V5绑定,V5值为0时显示左右摆风关,V5值为1时显示左右摆风开;
ALL_OFF(V6==0)表示,当控制数据[CD]中描述的变量V6值为0时,关掉所有显示;
[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);
表示共有7个按键,依次是温度+、温度-、模式、风速、上下摆风、左右摆风、开关;
[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);
控制数据描述,共b0~b15共16bit,默认值是b0~b7 = 0x1A,b8~b15 = 0x00;
变量V1占用b0~b7,可用数值范围是18~32;
变量V2占用b8~b9,可用数值范围是0~3;
变量V3占用b10~b11,可用数值范围是0~2;
变量V4占用b12,可用数值范围是0~1;
变量V5占用b13,可用数值范围是0~1;
变量V6占用b14,可用数值范围是0~1;
[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);
按键1:变量V1自加1,到定义值的上限值时不再加;
按键2:变量V1自减1,到定义值的下限值时不再减;
按键3:变量V2自加1,到上限值后溢出到下限值;
按键4:变量V3自加1,到上限值后溢出到下限值;
按键5:变量V4取反;
按键6:变量V5取反;
按键7:变量V6取反;
[A]后边没信息表示没有附加信息;
[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
要打包到蓝牙广播包中去的数据集合,b0~b119共120个比特即15个字节,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~111比特置为控制数据[CD]中的值;112~119比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起。
4.根据权利要求3所述的基于二维码的蓝牙遥控方法,其特征在于,所述蓝牙广播包包括:前导、接入地址、协议数据单元和校验,协议数据单元包括报头、长度、数据,所述遥控数据位于所述协议数据单元的数据中。
5.一种基于二维码的蓝牙遥控方法,其特征在于,所述二维码包括:特征码、版本号、特征信息、动态码、显示内容、按键内容、遥控操作相关的数据定义与格式、按键操作与遥控数据之间的逻辑关系、显示内容与遥控数据之间的关联关系、数据打包方式和附加信息;所述显示内容为受控设备的操作界面上显示的文字和数字内容,按键内容受控设备的操作界面上显示的按键及功能标识;特征信息用于区分遥控设备的主类型、子类型、序列码;动态码用于二维码有时效限制时,隔一定时间会更新二维码;附加信息包括数据加密选项、密钥信息、遥控数据默认值、是否记忆最后一次的数据;所述二维码包含的信息之间以“;”为界,“[ ]”中为字段名称;
所述的蓝牙遥控方法包括如下步骤:
遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;
所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,并将数据发射到空间中;
受控设备实时监听蓝牙广播包,筛选出遥控设备发送的蓝牙广播包;
从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令;蓝牙广播包中的遥控数据,根据受控设备上的二维码对应生成,二者具有相同的特征码以区分是否为自己的遥控信息,如果是提取遥控数据,否则抛弃该广播包;
当受控设备为风扇时,二维码的内容为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时) ,K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A];[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);[END];
其中:
[BLERMT]是遥控设备专用的二维码;
[VER](1.00.00):代表版本号V1.00.00;
[MT](0001):主类型编号0001;
[ST](0001):子类型编号0001;
[SER](0x12345678):序列号0x12345678;
[URL]:服务器链接,此处没用到,保持空白;
[D]:显示界面相关数据,此处没用到,保持空白;
[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);
按键相关信息:(1,5)表示按1列5行排列,位置(1,1)即1列1行的按键是K1,显示名称是“风量+”,位置(1,2)即1列2行的按键是K2,显示名称是“风量-”,位置(1,3)即1列3行的按键是K3,显示名称是“摆头”,位置(1,4)即1列3行的按键是K4,显示名称是“定时”,位置(1,5)即1列5行的按键是K5,显示名称是“开关”;
[CD](b0:b7),V1(b0:b7):控制数据,共b0~b7是8个比特,对应的变量名称是V1,这个应用中只用到一个变量;
[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);
E表示事件,K1(D,V1=0x01)括号中的D表示按键按下,表示K1按下时,让控制数据中的变量V1等于0x01这个值,K2按下时让V1等于0x02,K3按下时让V1等于0x03,K4按下时让V1等于0x04,K5按下时让V1等于0x05;
[A]附加信息,此处没用到,留作空白;
[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);
要打包到蓝牙广播数据包中的数据,b0~b103共104个比特,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~103比特置为控制数据V1的值,在不同按键按下后,发出的数据包中被改变的就是这个值;104~111比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起;
当受控设备为空调时,其二维码的内容为:
[BLERMT];[VER](1.00.00);[MT](0002);[ST](0001);[SER](0x12345678);[URL](http://www.website.com/rmtinfo?ver=”1.00.00”&mt=”0002”&st=”0001”);[END]
遥控设备通过[URL]字段提供的信息访问服务器,获取到服务器端事先备案好的版本号、主类、子类都是一致的操作界面,其它信息如下:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(低风/中风/高风)(V3),SWUD(4)(上下摆风关/上下摆风开)(V4),SWLR(5)(左右摆风关/左右摆风开)(V5),ALL_OFF(V6==0);[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);[A];[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
其中:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(高风/中风/低风)(V3),SWUD(4)(上下摆风开/上下摆风关)(V4),SWLR(5)(左右摆风开/左右摆风关)(V5),ALL_OFF(V6==0);
[D]代表操作界面需要显示的内容,共有5个元素;
第1个显示内容格式为xx℃,xx与控制数据[CD]中描述的变量V1绑定;
第2个显示内容与控制数据[CD]中描述的变量V2绑定,根据V2的值从小到大依次显示制冷、制热、除湿、送风其中的一个,V2为0时显示制冷,V2为1时显示制热;
第3个显示内容与控制数据[CD]中描述的变量V3绑定,根据V3的值从小到大依次显示低风、中风、高风中的一个,V3为0时显示低风,V3为2时显示高风;
第4个显示内容与控制数据[CD]中描述的变量V4绑定,V4值为0时显示上下摆风关,V4值为1时显示上下摆风开;
第5个显示内容与控制数据[CD]中描述的变量V5绑定,V5值为0时显示左右摆风关,V5值为1时显示左右摆风开;
ALL_OFF(V6==0)表示,当控制数据[CD]中描述的变量V6值为0时,关掉所有显示;
[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);
表示共有7个按键,依次是温度+、温度-、模式、风速、上下摆风、左右摆风、开关;
[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);
控制数据描述,共b0~b15共16bit,默认值是b0~b7 = 0x1A,b8~b15 = 0x00;
变量V1占用b0~b7,可用数值范围是18~32;
变量V2占用b8~b9,可用数值范围是0~3;
变量V3占用b10~b11,可用数值范围是0~2;
变量V4占用b12,可用数值范围是0~1;
变量V5占用b13,可用数值范围是0~1;
变量V6占用b14,可用数值范围是0~1;
[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);
按键1:变量V1自加1,到定义值的上限值时不再加;
按键2:变量V1自减1,到定义值的下限值时不再减;
按键3:变量V2自加1,到上限值后溢出到下限值;
按键4:变量V3自加1,到上限值后溢出到下限值;
按键5:变量V4取反;
按键6:变量V5取反;
按键7:变量V6取反;
[A]后边没信息表示没有附加信息;
[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
要打包到蓝牙广播包中去的数据集合,b0~b119共120个比特即15个字节,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~111比特置为控制数据[CD]中的值;112~119比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起。
6.一种基于二维码的蓝牙遥控装置,其特征在于,所述二维码包括:特征码、版本号、特征信息、动态码、显示内容、按键内容、遥控操作相关的数据定义与格式、按键操作与遥控数据之间的逻辑关系、显示内容与遥控数据之间的关联关系、数据打包方式和附加信息;所述显示内容为受控设备的操作界面上显示的文字和数字内容,按键内容受控设备的操作界面上显示的按键及功能标识;特征信息用于区分遥控设备的主类型、子类型、序列码;动态码用于二维码有时效限制时,隔一定时间会更新二维码;附加信息包括数据加密选项、密钥信息、遥控数据默认值、是否记忆最后一次的数据;所述二维码包含的信息之间以“;”为界,“[ ]”中为字段名称;
所述蓝牙遥控装置包括:
监听模块,用于实时监听蓝牙广播包,筛选遥控设备发送的蓝牙广播包;
执行响应模块,用于从蓝牙广播包中提取遥控数据,响应所述遥控设备的操作指令;蓝牙广播包中的遥控数据,根据受控设备上的二维码对应生成,二者具有相同的特征码以区分是否为自己的遥控信息,如果是提取遥控数据,否则抛弃该广播包;
当受控设备为风扇时,二维码的内容为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时) ,K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A];[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);[END];
其中:
[BLERMT]是遥控设备专用的二维码;
[VER](1.00.00):代表版本号V1.00.00;
[MT](0001):主类型编号0001;
[ST](0001):子类型编号0001;
[SER](0x12345678):序列号0x12345678;
[URL]:服务器链接,此处没用到,保持空白;
[D]:显示界面相关数据,此处没用到,保持空白;
[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);
按键相关信息:(1,5)表示按1列5行排列,位置(1,1)即1列1行的按键是K1,显示名称是“风量+”,位置(1,2)即1列2行的按键是K2,显示名称是“风量-”,位置(1,3)即1列3行的按键是K3,显示名称是“摆头”,位置(1,4)即1列3行的按键是K4,显示名称是“定时”,位置(1,5)即1列5行的按键是K5,显示名称是“开关”;
[CD](b0:b7),V1(b0:b7):控制数据,共b0~b7是8个比特,对应的变量名称是V1,这个应用中只用到一个变量;
[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);
E表示事件,K1(D,V1=0x01)括号中的D表示按键按下,表示K1按下时,让控制数据中的变量V1等于0x01这个值,K2按下时让V1等于0x02,K3按下时让V1等于0x03,K4按下时让V1等于0x04,K5按下时让V1等于0x05;
[A]附加信息,此处没用到,留作空白;
[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);
要打包到蓝牙广播数据包中的数据,b0~b103共104个比特,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~103比特置为控制数据V1的值,在不同按键按下后,发出的数据包中被改变的就是这个值;104~111比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起;
当受控设备为空调时,其二维码的内容为:
[BLERMT];[VER](1.00.00);[MT](0002);[ST](0001);[SER](0x12345678);[URL](http://www.website.com/rmtinfo?ver=”1.00.00”&mt=”0002”&st=”0001”);[END]
遥控设备通过[URL]字段提供的信息访问服务器,获取到服务器端事先备案好的版本号、主类、子类都是一致的操作界面,其它信息如下:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(低风/中风/高风)(V3),SWUD(4)(上下摆风关/上下摆风开)(V4),SWLR(5)(左右摆风关/左右摆风开)(V5),ALL_OFF(V6==0);[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);[A];[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
其中:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(高风/中风/低风)(V3),SWUD(4)(上下摆风开/上下摆风关)(V4),SWLR(5)(左右摆风开/左右摆风关)(V5),ALL_OFF(V6==0);
[D]代表操作界面需要显示的内容,共有5个元素;
第1个显示内容格式为xx℃,xx与控制数据[CD]中描述的变量V1绑定;
第2个显示内容与控制数据[CD]中描述的变量V2绑定,根据V2的值从小到大依次显示制冷、制热、除湿、送风其中的一个,V2为0时显示制冷,V2为1时显示制热;
第3个显示内容与控制数据[CD]中描述的变量V3绑定,根据V3的值从小到大依次显示低风、中风、高风中的一个,V3为0时显示低风,V3为2时显示高风;
第4个显示内容与控制数据[CD]中描述的变量V4绑定,V4值为0时显示上下摆风关,V4值为1时显示上下摆风开;
第5个显示内容与控制数据[CD]中描述的变量V5绑定,V5值为0时显示左右摆风关,V5值为1时显示左右摆风开;
ALL_OFF(V6==0)表示,当控制数据[CD]中描述的变量V6值为0时,关掉所有显示;
[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);
表示共有7个按键,依次是温度+、温度-、模式、风速、上下摆风、左右摆风、开关;
[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);
控制数据描述,共b0~b15共16bit,默认值是b0~b7 = 0x1A,b8~b15 = 0x00;
变量V1占用b0~b7,可用数值范围是18~32;
变量V2占用b8~b9,可用数值范围是0~3;
变量V3占用b10~b11,可用数值范围是0~2;
变量V4占用b12,可用数值范围是0~1;
变量V5占用b13,可用数值范围是0~1;
变量V6占用b14,可用数值范围是0~1;
[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);
按键1:变量V1自加1,到定义值的上限值时不再加;
按键2:变量V1自减1,到定义值的下限值时不再减;
按键3:变量V2自加1,到上限值后溢出到下限值;
按键4:变量V3自加1,到上限值后溢出到下限值;
按键5:变量V4取反;
按键6:变量V5取反;
按键7:变量V6取反;
[A]后边没信息表示没有附加信息;
[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
要打包到蓝牙广播包中去的数据集合,b0~b119共120个比特即15个字节,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~111比特置为控制数据[CD]中的值;112~119比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起。
7.一种基于二维码的蓝牙遥控装置,其特征在于,所述二维码包括:特征码、版本号、特征信息、动态码、显示内容、按键内容、遥控操作相关的数据定义与格式、按键操作与遥控数据之间的逻辑关系、显示内容与遥控数据之间的关联关系、数据打包方式和附加信息;所述显示内容为受控设备的操作界面上显示的文字和数字内容,按键内容受控设备的操作界面上显示的按键及功能标识;特征信息用于区分遥控设备的主类型、子类型、序列码;动态码用于二维码有时效限制时,隔一定时间会更新二维码;附加信息包括数据加密选项、密钥信息、遥控数据默认值、是否记忆最后一次的数据;所述二维码包含的信息之间以“;”为界,“[ ]”中为字段名称;
所述蓝牙遥控装置包括:
扫码模块,用于扫描二维码;
识别模块,用于遥控设备识别受控设备的二维码,并根据所述二维码生成受控设备的遥控界面;
蓝牙广播包生成模块,用于所述遥控设备的遥控界面接收到操作指令时,生成遥控数据打包至蓝牙广播包中,并将数据发射到空间中,使受控设备接收该蓝牙广播包,并响应所述操作指令;蓝牙广播包中的遥控数据,根据受控设备上的二维码对应生成,二者具有相同的特征码以区分是否为自己的遥控信息,如果是提取遥控数据,否则抛弃该广播包;
当受控设备为风扇时,二维码的内容为:[BLERMT];[VER](1.00.00);[MT](0001);[ST](0001);[SER](0x12345678);[URL];[D];[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时) ,K5(1,5)(开关);[CD](b0:b7),V1(b0:b7);[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);[A];[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);[END];
其中:
[BLERMT]是遥控设备专用的二维码;
[VER](1.00.00):代表版本号V1.00.00;
[MT](0001):主类型编号0001;
[ST](0001):子类型编号0001;
[SER](0x12345678):序列号0x12345678;
[URL]:服务器链接,此处没用到,保持空白;
[D]:显示界面相关数据,此处没用到,保持空白;
[K](1,5),K1(1,1)(风量+),K2(1,2)(风量-),K3(1,3)(摆头),K4(1,4)(定时),K5(1,5)(开关);
按键相关信息:(1,5)表示按1列5行排列,位置(1,1)即1列1行的按键是K1,显示名称是“风量+”,位置(1,2)即1列2行的按键是K2,显示名称是“风量-”,位置(1,3)即1列3行的按键是K3,显示名称是“摆头”,位置(1,4)即1列3行的按键是K4,显示名称是“定时”,位置(1,5)即1列5行的按键是K5,显示名称是“开关”;
[CD](b0:b7),V1(b0:b7):控制数据,共b0~b7是8个比特,对应的变量名称是V1,这个应用中只用到一个变量;
[E]K1(D,V1=0x01),K2(D,V1=0x02),K3(D,V1=0x03),K4(D,V1=0x04),K5(D,V1=0x05);
E表示事件,K1(D,V1=0x01)括号中的D表示按键按下,表示K1按下时,让控制数据中的变量V1等于0x01这个值,K2按下时让V1等于0x02,K3按下时让V1等于0x03,K4按下时让V1等于0x04,K5按下时让V1等于0x05;
[A]附加信息,此处没用到,留作空白;
[BLE_AD](b0:b111)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:103=[V1])(104:111=[CNT]);
要打包到蓝牙广播数据包中的数据,b0~b103共104个比特,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~103比特置为控制数据V1的值,在不同按键按下后,发出的数据包中被改变的就是这个值;104~111比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起;
当受控设备为空调时,其二维码的内容为:
[BLERMT];[VER](1.00.00);[MT](0002);[ST](0001);[SER](0x12345678);[URL](http://www.website.com/rmtinfo?ver=”1.00.00”&mt=”0002”&st=”0001”);[END]
遥控设备通过[URL]字段提供的信息访问服务器,获取到服务器端事先备案好的版本号、主类、子类都是一致的操作界面,其它信息如下:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(低风/中风/高风)(V3),SWUD(4)(上下摆风关/上下摆风开)(V4),SWLR(5)(左右摆风关/左右摆风开)(V5),ALL_OFF(V6==0);[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);[A];[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
其中:
[D](5),TEMP(1)(xx℃)(V1),MODE(2)(制冷/制热/除湿/送风)(V2),FAN(3)(高风/中风/低风)(V3),SWUD(4)(上下摆风开/上下摆风关)(V4),SWLR(5)(左右摆风开/左右摆风关)(V5),ALL_OFF(V6==0);
[D]代表操作界面需要显示的内容,共有5个元素;
第1个显示内容格式为xx℃,xx与控制数据[CD]中描述的变量V1绑定;
第2个显示内容与控制数据[CD]中描述的变量V2绑定,根据V2的值从小到大依次显示制冷、制热、除湿、送风其中的一个,V2为0时显示制冷,V2为1时显示制热;
第3个显示内容与控制数据[CD]中描述的变量V3绑定,根据V3的值从小到大依次显示低风、中风、高风中的一个,V3为0时显示低风,V3为2时显示高风;
第4个显示内容与控制数据[CD]中描述的变量V4绑定,V4值为0时显示上下摆风关,V4值为1时显示上下摆风开;
第5个显示内容与控制数据[CD]中描述的变量V5绑定,V5值为0时显示左右摆风关,V5值为1时显示左右摆风开;
ALL_OFF(V6==0)表示,当控制数据[CD]中描述的变量V6值为0时,关掉所有显示;
[K](7),K1(1)(温度+),K2(2)(温度-),K3(3)(模式),K4(4)(风速),K5(5)(上下摆风),K6(6)(左右摆风),K7(7)(开关);
表示共有7个按键,依次是温度+、温度-、模式、风速、上下摆风、左右摆风、开关;
[CD](b0:b15)(0x1A,0x00),V1(b0:b7)(18:32),V2(b8:b9)(0:3),V3(b10:b11)(0:2),V4(b12:b12) (0:1),V5(b13:b13)(0:1),V6(b14:b14)(0:1);
控制数据描述,共b0~b15共16bit,默认值是b0~b7 = 0x1A,b8~b15 = 0x00;
变量V1占用b0~b7,可用数值范围是18~32;
变量V2占用b8~b9,可用数值范围是0~3;
变量V3占用b10~b11,可用数值范围是0~2;
变量V4占用b12,可用数值范围是0~1;
变量V5占用b13,可用数值范围是0~1;
变量V6占用b14,可用数值范围是0~1;
[E]K1(D,V1++]),K2(D,V1--[),K3(D,V2++),K4(D,V3++),K5(D,V4=~V4),K6(D,V5=~V5) ,K7(D,V6=~V6);
按键1:变量V1自加1,到定义值的上限值时不再加;
按键2:变量V1自减1,到定义值的下限值时不再减;
按键3:变量V2自加1,到上限值后溢出到下限值;
按键4:变量V3自加1,到上限值后溢出到下限值;
按键5:变量V4取反;
按键6:变量V5取反;
按键7:变量V6取反;
[A]后边没信息表示没有附加信息;
[BLE_AD](b0:b119)=(0:15=[MT])(16:31=[ST])(32:63=[SER])(64:95=[RMTSER])(96:111=[CD])(112:119=[CNT]);
要打包到蓝牙广播包中去的数据集合,b0~b119共120个比特即15个字节,其中0~15比特放置二维码中提供的MT即主类型编码,16~32比特放置子类型编码值;32~63比特置为序列码值;64~95放置遥控设备自己的序列码值;96~111比特置为控制数据[CD]中的值;112~119比特放置的是一个计数值,这个计数值在遥控设备的每个有效按键事件发生后自增1,达到最大值溢出后再次从0计起。
8.一种基于二维码的蓝牙遥控系统,其特征在于,所述系统包括至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1或2所述的蓝牙遥控方法,或者执行如权利要求3或4所述的蓝牙遥控方法,或者执行如权利要求5所述的蓝牙遥控方法。
9.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行如权利要求1或2所述的蓝牙遥控方法,或者执行如权利要求3或4所述的蓝牙遥控方法,或者执行如权利要求5所述的蓝牙遥控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110943201.5A CN113781760B (zh) | 2021-08-17 | 基于二维码的蓝牙遥控方法、装置、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110943201.5A CN113781760B (zh) | 2021-08-17 | 基于二维码的蓝牙遥控方法、装置、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113781760A CN113781760A (zh) | 2021-12-10 |
CN113781760B true CN113781760B (zh) | 2024-07-09 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102692881A (zh) * | 2012-05-16 | 2012-09-26 | 中国海洋大学 | 一种基于二维码的家电控制方法及控制系统 |
CN106102261A (zh) * | 2015-03-27 | 2016-11-09 | 宝贝安科技股份有限公司 | 遥控灯具方法 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102692881A (zh) * | 2012-05-16 | 2012-09-26 | 中国海洋大学 | 一种基于二维码的家电控制方法及控制系统 |
CN106102261A (zh) * | 2015-03-27 | 2016-11-09 | 宝贝安科技股份有限公司 | 遥控灯具方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3641366B1 (en) | Wireless local area network configuration method and apparatus | |
CN107864065B (zh) | 无埋点数据采集方法、系统及计算机可读存储介质 | |
US20150288468A1 (en) | Information interaction method and system for electronic cigarettes | |
CN111628897B (zh) | 一种智能设备的初始化方法、装置及系统 | |
JP2005101887A (ja) | 遠隔制御システム | |
CN102932695A (zh) | 一种遥控方法、智能终端及智能遥控系统 | |
EP3389332B1 (en) | Commissioning of a plurality of devices | |
US11935398B1 (en) | Electronic apparatus, remote control apparatus, control method thereof, and electronic system | |
US20190029069A1 (en) | Electronic apparatus and method of controlling the same | |
CN107423099B (zh) | 键码烧写方法、服务器、终端、键码烧写系统及存储介质 | |
CN104407599A (zh) | 便携式智能家居控制器和智能家居控制系统 | |
EP2890083A2 (en) | Key distribution system and method | |
CN203616862U (zh) | 通用指纹遥控装置 | |
US20200320182A1 (en) | Data encryption or decryption method and apparatus, and terminal device | |
CN113781760B (zh) | 基于二维码的蓝牙遥控方法、装置、系统及介质 | |
CN107924296A (zh) | 显示设备及其控制方法 | |
CN111596559A (zh) | 一种设备控制方法、装置、智慧显示终端及存储介质 | |
US10635608B2 (en) | Method for performing communication between peripheral devices of mobile terminal and mobile terminal | |
WO2019062210A1 (zh) | 一种交互方法、装置、存储设备及终端 | |
CN113781760A (zh) | 基于二维码的蓝牙遥控方法、装置、系统及介质 | |
CN112468536A (zh) | 一种控制智能设备的方法和系统 | |
CN106851788A (zh) | 基于cc2530芯片的无线通信系统 | |
CN104427411A (zh) | 遥控器及其控制方法 | |
JP6251076B2 (ja) | 調整装置及び調整プログラム | |
CN113572671A (zh) | 设备控制方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |