CN106992821A - 一种ble设备的调试方法 - Google Patents
一种ble设备的调试方法 Download PDFInfo
- Publication number
- CN106992821A CN106992821A CN201710095123.1A CN201710095123A CN106992821A CN 106992821 A CN106992821 A CN 106992821A CN 201710095123 A CN201710095123 A CN 201710095123A CN 106992821 A CN106992821 A CN 106992821A
- Authority
- CN
- China
- Prior art keywords
- data
- hid
- ble
- bit
- data bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013459 approach Methods 0.000 claims abstract description 5
- 238000007639 printing Methods 0.000 claims description 9
- 239000003607 modifier Substances 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 abstract description 7
- 230000006872 improvement Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000151 deposition Methods 0.000 description 3
- 238000004458 analytical method Methods 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
- 238000013461 design Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B5/00—Near-field transmission systems, e.g. inductive or capacitive transmission systems
- H04B5/70—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
- H04B5/72—Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种BLE设备的调试方法,包括:将BLE发射器与BLE接收器通过蓝牙方式连接,将BLE接收器的串口与安卓系统底层的串口驱动连接;BLE发射器将用户的输入信息转换为HID报告,并将HID报告发送至BLE接收器,HID报告内封装有HID数据,HID数据包括按键数据、设备广播状态数据及设备电源模式数据;BLE接收器解析HID报告并把HID报告重新封装为HID数据包,再把HID数据包转发至串口驱动;串口驱动解析HID数据包,并根据HID数据包进行相应的处理。采用本发明,调试BLE设备时,无需在产品上加装任何设备,通过软件的方式即可进行调试;可同时调试BLE发射器和BLE接收器;在调试过程中也不会影响BLE设备的正常通信,系统照常响应用户的操作,也可以打印出相应的调试信息。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种BLE设备的调试方法。
背景技术
BLE(Bluetooth Low Energy)低功耗蓝牙技术是一项低成本、短距离、可互操作的鲁棒性无线技术。它具有高可靠性、低成本、低功耗、快速启动、瞬间连接、有效传输距离可达到60~100m、高安全性等特点。具体地,BLE的最大亮点就是低功耗,其实现低功耗的主要方式就是休眠机制。
现阶段,BLE设备因其低功耗的特点被广泛应用于多个领域,而BLE设备的调试主要是通过CCdebug(调试器)连接到电脑上,再由IAR等软件进行调试。但是,BLE设备通过CCdebug连接到电脑上这种调试方法比较不方便,需要将调试用的引脚引出并连接到CCdebug上,特别当已做成产品时,需要再引线就显得更不方便了;另外,一台电脑无法同时连接两个BLE设备,即无法同时调试两个BLE设备(如一个BLE发射器,一个BLE接收器);同时,通过CCdebug在IAR等软件上对BLE设备进行调试时,会影响到设备的正常通信过程,如打断点操作等。
发明内容
本发明所要解决的技术问题在于,提供一种BLE设备的调试方法,可同时调试BLE发射器和BLE接收器,无需在产品上加装任何设备,调试过程中不会影响BLE设备的正常通信过程。
为了解决上述技术问题,本发明提供了一种BLE设备的调试方法,其将BLE发射器与BLE接收器通过蓝牙方式连接,将所述BLE接收器的串口与安卓系统底层的串口驱动连接,所述BLE设备的调试方法包括:
所述BLE发射器将用户的输入信息转换为HID报告,并将所述HID报告发送至所述BLE接收器,所述HID报告内封装有HID数据,所述HID数据包括按键数据、设备广播状态数据及设备电源模式数据;
所述BLE接收器解析所述HID报告并把所述HID报告重新封装为HID数据包,再把所述HID数据包转发至串口驱动;
所述串口驱动解析所述HID数据包,并根据所述HID数据包进行相应的处理。
作为上述方案的改进,所述HID报告的数据结构包括八位数据位,所述八位数据位依次为第0位数据位、第1位数据位、第2位数据位、第3位数据位、第4位数据位、第5位数据位、第6位数据位、第7位数据位,所述第0位数据位为修饰键,所述第2位数据位用于存放按键数据,所述第3位数据位用于存放设备广播状态数据,所述第4位数据位用于存放设备电源模式数据,所述第1位数据位、第5位数据位、第6位数据位及第7位数据位为保留位。
作为上述方案的改进,所述BLE接收器解析HID报告并把HID报告重新封装为HID数据包的方法包括:所述BLE接收器通过解析HID报告中各数据位上的数据来判断HID报告中各HID数据的类型;将不同类型的HID数据分别封装为不同的HID数据包。
作为上述方案的改进,所述HID数据包的数据结构包括两位数据位,所述两位数据位依次为标识位及数据位,所述标识位用于标识HID数据的类型,所述数据位用于存放HID数据。
作为上述方案的改进,若标识位设置为“0”,则数据位内存放的HID数据为按键数据;若标识位设置为“1”,则数据位内存放的HID数据为广播状态数据;若标识位设置为“2”,则数据位内存放的HID数据为设备电源模式数据。
作为上述方案的改进,所述串口驱动解析HID数据包,并根据HID数据包进行相应的处理的方法包括: 通过标识位来判断HID数据的类型;若HID数据为按键数据,则打印按键键值,并将按键键值发送至按键驱动,以使系统响应对应键值操作;若HID数据为设备广播状态数据,则打印设备广播状态;若HID数据为设备电源模式数据,则打印设备电源模式;若HID数据错误,则打印错误信息。
实施本发明,具有如下有益效果:
本发明中BLE发射器与BLE接收器之间通过蓝牙方式连接,且BLE接收器的串口与安卓系统底层的串口驱动连接,使得BLE设备不需要调试器连接到电脑上,连接方式更为方便,调试BLE设备时,也无需在产品上加装任何设备,通过软件的方式即可进行调试;通过采用本发明的调试方法使得一台电脑可同时连接两个BLE设备(BLE发射器及BLE接收器),从而实现多个BLE设备的同时调试;在调试过程中,BLE发射器与BLE接收器保持蓝牙通信,可有效保证BLE发射器及BLE接收器之间的正常通信,灵活性强,系统可照常响应用户的操作,并打印出相应的调试信息。
另外,本发明引入了新的HID报告,HID报告的数据结构针对BLE设备的调试要求,充分利用HID报告的其他数据位,实现数据位的充分利用,节省存储空间。
相应地,本发明还引入了新的HID数据包,可大大地方便了HID数据的分类处理,易于识别,灵活性、针对性强。
附图说明
图1是本发明BLE设备的调试方法中BLE设备之间的连接结构示意图;
图2是本发明BLE设备的调试方法的流程图;
图3是现有的HID按键报告的数据结构示意图;
图4是本发明BLE设备的调试方法中HID报告的数据结构示意图;
图5是本发明BLE设备的调试方法中HID数据包的数据结构示意图;
图6是本发明BLE设备的调试方法的另一流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。仅此声明,本发明在文中出现或即将出现的上、下、左、右、前、后、内、外等方位用词,仅以本发明的附图为基准,其并不是对本发明的具体限定。
参见图1,图1显示了本发明BLE设备的调试方法中BLE设备之间的连接结构示意图,其中:BLE发射器1与BLE接收器2之间通过蓝牙(BT,Bluetooth)方式连接,BLE接收器2的串口(UART,Universal Asynchronous Receiver/Transmitter)与安卓系统底层的串口驱动3(UART驱动)连接。
与现有技术不同的是,本发明中BLE发射器1与BLE接收器2之间通过蓝牙方式连接,且BLE接收器2的串口与安卓系统底层的串口驱动3连接,使得BLE设备不需要调试器连接到电脑上,连接方式更为方便,通过采用本发明的调试方法还使得一台电脑可同时连接两个BLE设备(BLE发射器1及BLE接收器2),从而实现多个BLE设备的同时调试;另外,在调试过程中,BLE发射器1与BLE接收器2保持蓝牙通信,可有效保证BLE发射器1及BLE接收器2之间的正常通信,灵活性强。
参见图2,图2显示了本发明BLE设备的调试方法的实施例流程图,包括:
S101,所述BLE发射器1将用户的输入信息转换为HID报告,并将所述HID报告发送至所述BLE接收器2。
需要说明的是,BLE发射器1获取用户的输入信息后,需将输入信息转换为HID(Human Interface Device人机交互协议)格式的HID报告。所述HID报告内封装有HID数据,所述HID数据包括按键数据、设备广播状态数据及设备电源模式数据。
如图4所示,HID报告的数据结构包括八位数据位,所述八位数据位依次为第0位数据位(Modifier keys)、第1位数据位(Reserved)、第2位数据位(Keycode)、第3位数据位(connectionstate)、第4位数据位(Power mode)、第5位数据位(Reserved)、第6位数据位(Reserved)、第7位数据位(Reserved),其中,所述第0位数据位(Modifier keys)为修饰键(如Alt、Ctrl、Shif),所述第2位数据位(Keycode)用于存放按键数据,所述第3位数据位(connectionstate)用于存放设备广播状态数据,所述第4位数据位(Power mode)用于存放设备电源模式数据,所述第1位数据位(Reserved)、第5位数据位(Reserved)、第6位数据位(Reserved)及第7位数据位(Reserved)为保留位,暂时不用,如果在以后的调试过程中,还需要其他数据,可以将这些数据放置到这些保留位中,灵活性强。
需要说明的是,现有的技术采用的也是八位的HID报告,但是这种数据结构只考虑到使用到的数据,而没有考虑到调试过程中需要的数据。以按键的HID报告为例(参见图3),现有的HID按键报告的数据结构有八位,仅使用第2位数据位(Keycode1)存放键值,即HID按键报告中只含有要发送的键值信息,如果从使用角度去看,这种HID报告是足够的,但考虑到调试,就远远不够了。
与现有的HID按键报告的数据结构不同的是,本发明中HID报告的数据结构针对BLE设备的调试要求,充分利用HID报告的其他数据位,将按键数据存放于第2位数据位(Keycode),将设备广播状态数据存放于第3位数据位(connectionstate),将设备电源模式数据存放于第4位数据位(Power mode),实现数据位的充分利用,节省存储空间。同时,采用此数据结构,在设计解析方法时,需严格按照封装数据时各数据对应的位置(数据位)进行解析,即安卓系统的串口驱动需要根据此数据结构设计解析方法。
S102,所述BLE接收器2解析所述HID报告并把所述HID报告重新封装为HID数据包,再把所述HID数据包转发至串口驱动3。
进一步,所述BLE接收器2解析HID报告并把HID报告重新封装为HID数据包的方法包括:
A1,所述BLE接收器2通过解析HID报告中各数据位上的数据来判断HID报告中各HID数据的类型。
A2,将不同类型的HID数据分别封装为不同的HID数据包。
需要说明的是,BLE接收器2接收到HID报告后,通过解析对应数据位上的数据来判断HID报告中所封装的HID数据的类型(HID报告中至少包括一种HID数据的类型),再将这些HID数据根据类型重新封装成独立的HID数据包,即将HID报告中的一种类型封装为一个HID数据包。然后,通过BLE接收器2的串口发送给安卓系统底层的串口驱动3。
如图5所示,所述HID数据包的数据结构包括两位数据位,所述两位数据位依次为标识位(Flag)及数据位(Data),所述标识位(Flag)用于标识HID数据的类型,所述数据位(Data)用于存放HID数据。若标识位(Flag)设置为“0”,则数据位(Data)内存放的HID数据为按键数据;若标识位(Flag)设置为“1”,则数据位(Data)内存放的HID数据为广播状态数据;若标识位(Flag)设置为“2”,则数据位(Data)内存放的HID数据为设备电源模式数据。
S103,所述串口驱动3解析所述HID数据包,并根据所述HID数据包进行相应的处理。
需要说明的是,串口驱动3收到HID数据包后,开始解析HID数据包。具体地,所述串口驱动3解析HID数据包,并根据HID数据包进行相应的处理的方法包括:
B1,通过标识(Flag)位来判断HID数据的类型;
B2,若HID数据为按键数据,则打印按键键值,并将按键键值发送至按键驱动,以使系统响应对应键值操作;
B3,若HID数据为设备广播状态数据,则打印设备广播状态;
B4,若HID数据为设备电源模式数据,则打印设备电源模式;
B5,若HID数据错误,则打印错误信息。
下面结合具体的流程图对本发明作进一步地详细描述。
如图6所示,BLE发射器1将用户的输入信息转换为HID格式的HID报告,并通过蓝牙发送给BLE接收器2。BLE接收器2解析所述HID报告并把所述HID报告重新封装为HID数据包,再把所述HID数据包转发至串口驱动3。串口驱动3收到HID数据包后,开始解析HID数据包,如果是按键数据,将按键键值打印出来并发送给按键驱动,系统会响应对应键值的操作,如果是设备广播状态数据,则打印设备广播状态,如果是设备电源模式数据,则打印设备电源模式,而当接收到的HID数据包是错误的,不属于预设的数据类型,则打印出错误信息。
需要说明的是,本发明中的BLE发射器1可以是鼠标、游戏杆等交互设备,所述HID数据除了可以使按键数据、设备广播状态数据及设备电源模式数据,还可以是其他的设备信息,如设备剩余电量信息等。
由上可知,本发明调试BLE设备时,无需在产品上加装任何设备,通过软件的方式即可进行调试;BLE发射器1通过蓝牙与BLE接收器2连接,可同时调试BLE发射器1和BLE接收器2;在调试过程中也不会影响到BLE设备的正常通信过程,系统照常响应用户的操作,同时也可以打印出相应的调试信息。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (6)
1.一种BLE设备的调试方法,其特征在于,将BLE发射器与BLE接收器通过蓝牙方式连接,将所述BLE接收器的串口与安卓系统底层的串口驱动连接,所述BLE设备的调试方法包括:
所述BLE发射器将用户的输入信息转换为HID报告,并将所述HID报告发送至所述BLE接收器,所述HID报告内封装有HID数据,所述HID数据包括按键数据、设备广播状态数据及设备电源模式数据;
所述BLE接收器解析所述HID报告并把所述HID报告重新封装为HID数据包,再把所述HID数据包转发至串口驱动;
所述串口驱动解析所述HID数据包,并根据所述HID数据包进行相应的处理。
2.如权利要求1所述的BLE设备的调试方法,其特征在于,所述HID报告的数据结构包括八位数据位,所述八位数据位依次为第0位数据位、第1位数据位、第2位数据位、第3位数据位、第4位数据位、第5位数据位、第6位数据位、第7位数据位,所述第0位数据位为修饰键,所述第2位数据位用于存放按键数据,所述第3位数据位用于存放设备广播状态数据,所述第4位数据位用于存放设备电源模式数据,所述第1位数据位、第5位数据位、第6位数据位及第7位数据位为保留位。
3.如权利要求2所述的BLE设备的调试方法,其特征在于,所述BLE接收器解析HID报告并把HID报告重新封装为HID数据包的方法包括:
所述BLE接收器通过解析HID报告中各数据位上的数据来判断HID报告中各HID数据的类型;
将不同类型的HID数据分别封装为不同的HID数据包。
4.如权利要求3所述的BLE设备的调试方法,其特征在于,所述HID数据包的数据结构包括两位数据位,所述两位数据位依次为标识位及数据位,所述标识位用于标识HID数据的类型,所述数据位用于存放HID数据。
5.如权利要求4所述的BLE设备的调试方法,其特征在于,
若标识位设置为“0”,则数据位内存放的HID数据为按键数据;
若标识位设置为“1”,则数据位内存放的HID数据为广播状态数据;
若标识位设置为“2”,则数据位内存放的HID数据为设备电源模式数据。
6.如权利要求5所述的BLE设备的调试方法,其特征在于,所述串口驱动解析HID数据包,并根据HID数据包进行相应的处理的方法包括:
通过标识位来判断HID数据的类型;
若HID数据为按键数据,则打印按键键值,并将按键键值发送至按键驱动,以使系统响应对应键值操作;
若HID数据为设备广播状态数据,则打印设备广播状态;
若HID数据为设备电源模式数据,则打印设备电源模式;
若HID数据错误,则打印错误信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710095123.1A CN106992821A (zh) | 2017-02-22 | 2017-02-22 | 一种ble设备的调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710095123.1A CN106992821A (zh) | 2017-02-22 | 2017-02-22 | 一种ble设备的调试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106992821A true CN106992821A (zh) | 2017-07-28 |
Family
ID=59414195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710095123.1A Pending CN106992821A (zh) | 2017-02-22 | 2017-02-22 | 一种ble设备的调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106992821A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196701A (zh) * | 2018-02-27 | 2019-09-03 | 浙江智柔科技有限公司 | 基于ble设备的数据交互调测系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506795A (zh) * | 2002-12-12 | 2004-06-23 | ���ǵ�����ʽ���� | 无线键盘传输和接收数据的方法 |
CN101382856A (zh) * | 2008-09-24 | 2009-03-11 | 广东威创视讯科技股份有限公司 | 在触摸装置上实现usb hid mouse功能的装置及方法 |
CN103107825A (zh) * | 2013-01-24 | 2013-05-15 | 深圳市信驰达科技有限公司 | 蓝牙适配器、实现移动终端控制操作终端的系统及方法 |
CN103973889A (zh) * | 2014-04-25 | 2014-08-06 | 方小祥 | 将智能手持设备作为无线usbhid设备的装置及方法 |
US20140364060A1 (en) * | 2013-06-07 | 2014-12-11 | Apple Inc. | Ordering a List of Wireless Devices for Display in a Graphical User Interface |
CN105491419A (zh) * | 2015-11-30 | 2016-04-13 | 青岛海信电器股份有限公司 | 一种组合电视以及数据共享方法 |
-
2017
- 2017-02-22 CN CN201710095123.1A patent/CN106992821A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1506795A (zh) * | 2002-12-12 | 2004-06-23 | ���ǵ�����ʽ���� | 无线键盘传输和接收数据的方法 |
CN101382856A (zh) * | 2008-09-24 | 2009-03-11 | 广东威创视讯科技股份有限公司 | 在触摸装置上实现usb hid mouse功能的装置及方法 |
CN103107825A (zh) * | 2013-01-24 | 2013-05-15 | 深圳市信驰达科技有限公司 | 蓝牙适配器、实现移动终端控制操作终端的系统及方法 |
US20140364060A1 (en) * | 2013-06-07 | 2014-12-11 | Apple Inc. | Ordering a List of Wireless Devices for Display in a Graphical User Interface |
CN103973889A (zh) * | 2014-04-25 | 2014-08-06 | 方小祥 | 将智能手持设备作为无线usbhid设备的装置及方法 |
CN105491419A (zh) * | 2015-11-30 | 2016-04-13 | 青岛海信电器股份有限公司 | 一种组合电视以及数据共享方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110196701A (zh) * | 2018-02-27 | 2019-09-03 | 浙江智柔科技有限公司 | 基于ble设备的数据交互调测系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108605056A (zh) | 高速串行链路中的单向时钟信令 | |
CN106462528A (zh) | Usb功率传输源装置的功率节约模式 | |
CN106681938A (zh) | 控制多时隙链路层微片中的消息收发 | |
CN101470688A (zh) | 单端串口实现多功能复用的方法 | |
CN105406947A (zh) | 生成并实施一用于更高数据率的讯号协议和接口 | |
CN105243044B (zh) | 基于串口的管理系统及管理方法 | |
CN106961665A (zh) | 一种基于蓝牙通信的智能硬件配网方法 | |
CN101097563A (zh) | 一种单板集中管理与控制的实现系统与方法 | |
CN102279827A (zh) | 一种多功能通讯转接盒 | |
KR20060085672A (ko) | 낮은 대기시간의 인터럽트 및 제어 신호, 핫플러그 에러검출 및 복구, 그리고 대역폭 할당을 하는 통신 버스 | |
CN103024042A (zh) | Afdx终端协议栈及其数据接收与发送方法 | |
CN103095703A (zh) | 一种实现网络与串口数据交互的方法、设备及系统 | |
CN106992821A (zh) | 一种ble设备的调试方法 | |
US8737419B2 (en) | Network concentrator and method of controlling the same | |
CN1874252A (zh) | 一种进行单板调试串口映射的系统 | |
CN101419514B (zh) | 一种无线鼠标通讯方法 | |
CN101353048B (zh) | 一种用于机车通信系统的插件设备 | |
CN201467021U (zh) | 一种太阳能本地监控装置 | |
US11290579B2 (en) | Communication system, communication method, and mac circuit | |
CN115190030A (zh) | 一种实现can fd的硬件装置和uvm验证平台 | |
CN107895475A (zh) | 一种电力用电信息采集通信链路故障综合检测装置及方法 | |
CN107769960A (zh) | 一种基于can总线的bmc管理架构 | |
CN108270694A (zh) | 一种基于lvds的高速传输方法 | |
CN1439971A (zh) | 一种串行接口总线通信控制器 | |
CN106584862A (zh) | 一种内置Web服务的3D打印WIFI控制系统及其控制方法 |
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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210723 |
|
AD01 | Patent right deemed abandoned |