CN116806017A - 自行车电子系统中的通信方法 - Google Patents
自行车电子系统中的通信方法 Download PDFInfo
- Publication number
- CN116806017A CN116806017A CN202310288099.9A CN202310288099A CN116806017A CN 116806017 A CN116806017 A CN 116806017A CN 202310288099 A CN202310288099 A CN 202310288099A CN 116806017 A CN116806017 A CN 116806017A
- Authority
- CN
- China
- Prior art keywords
- component
- ble
- payload
- network
- communication method
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 92
- 238000004891 communication Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000005540 biological transmission Effects 0.000 description 45
- 230000000875 corresponding effect Effects 0.000 description 39
- 230000006870 function Effects 0.000 description 31
- 230000003993 interaction Effects 0.000 description 23
- 239000012634 fragment Substances 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000000712 assembly Effects 0.000 description 7
- 238000000429 assembly Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000007175 bidirectional communication Effects 0.000 description 3
- 230000036772 blood pressure Effects 0.000 description 3
- 239000006096 absorbing agent Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 101100406385 Caenorhabditis elegans ola-1 gene Proteins 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62M—RIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
- B62M25/00—Actuators for gearing speed-change mechanisms specially adapted for cycles
- B62M25/08—Actuators for gearing speed-change mechanisms specially adapted for cycles with electrical or fluid transmitting systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J45/00—Electrical equipment arrangements specially adapted for use as accessories on cycles, not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J45/00—Electrical equipment arrangements specially adapted for use as accessories on cycles, not otherwise provided for
- B62J45/20—Cycle computers as cycle accessories
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J50/00—Arrangements specially adapted for use on cycles not provided for in main groups B62J1/00 - B62J45/00
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62J—CYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
- B62J50/00—Arrangements specially adapted for use on cycles not provided for in main groups B62J1/00 - B62J45/00
- B62J50/20—Information-providing devices
- B62J50/21—Information-providing devices intended to provide information to rider or passenger
- B62J50/22—Information-providing devices intended to provide information to rider or passenger electronic, e.g. displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/48—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
-
- 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
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/08—Upper layer protocols
- H04W80/12—Application layer protocols, e.g. WAP [Wireless Application Protocol]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/16—Gateway arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/02—Inter-networking arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
自行车电子系统中的通信方法,应用于自行车电子系统的第一部件中的通信方法,所述第一部件在蓝牙低功耗BLE网络中与第二部件连接连接,并且在除BLE网络之外的网络或非BLE网络中与第三部件连接,所述通信方法包括以下步骤a1‑a3:a1)根据除BLE之外的通信协议从第三部件接收数据包,所述数据包具有开销和有效载荷(250);a2)向所述有效载荷(250)设定GATT服务的特性的值,以及a3)将所述特性传输到第二部件,和/或以下步骤b1‑b3:b1)从第二部件接收GATT服务的特性,所述特性具有值,b2)根据除BLE之外的通信协议将所述特性的值作为有效载荷(250)封装在数据包中,所述数据包还具有开销,以及b3)将所述数据包传输到第三部件。
Description
技术领域
本文公开的主题总体上涉及自行车电子系统中的通信方法。在本说明书和所附权利要求书中,除非另有说明,否则术语“通信”宽泛地涵盖传输、接收和收发,即涵盖单向通信和双向通信。
本文公开的主题还涉及与所述方法相关的自行车电子部件、自行车电子系统、计算机程序和计算机可读介质。
特别地,本文公开的主题涉及自行车电子系统中的所述方面,其中,在系统部件中的至少一些系统部件之间形成至少一个蓝牙(Bluetooth Low/>下文中简称为BLE)无线网络。
背景技术
现代自行车有时设有专用于骑行的一件或多件装备或电子设备。在本说明书和所附权利要求书中,表述“电子设备”在广泛含义上使用,以涵盖电子设备和/或机电设备和/或电液压设备和/或电气动设备。
而且,通用电子设备可配置成与骑行专用电子设备交互。在本说明书和所附权利要求书中,表述“自行车电子系统”意指骑行专用设备或装备和被配置成与骑行专用设备交互的通用设备的组件,在本说明书和所附权利要求书中,所述专用设备或装备和通用设备统称为“电子设备”或“系统部件”,也仅简称为“部件”或“设备”。
在自行车电子系统中,信息、命令和通常地需要在系统部件之间交换的数据可能有若干个;除大量的数据之外,通信的准确性和/或传输速度有时也应当非常高,特别是在可能影响骑手安全的命令的情况下,仅作为示例,诸如是速度换挡命令或与骑手的健康相关的数据。
在自行车电子系统中,至少在一些系统部件之间存在使用无线通信的趋势。
一些已知的自行车电子系统使用蓝牙(Bluetooth Low/>)技术在系统部件之间进行无线通信。BLE是无线网络通信的技术标准,其具有低的能量消耗,BLE特别被提供用于小型的、离散的数据传递,例如传感器的状态信息、时钟的当前时间等等。
随着自行车电子系统的复杂性以及因此需要在系统中传送的数据的量的增加,BLE的常规使用可能变得不是很灵活,并且不完全足够。
发明内容
本文所公开的主题所依据的技术问题是避免所述缺陷,规定自行车电子系统中的通信(传输和/或接收)方法,以及与所述方法相关的自行车电子部件、自行车电子系统、计算机程序和计算机可读装置。
在一方面,本文公开的主题在独立权利要求中限定。在从属权利要求中指出了优选特征。
附图说明
本文所公开的主题的进一步特征和优点将从以下参考所附附图对其一些优选实施例的详细描述中变得更加清楚,其中:
-图1示出了自行车电子系统,
-图2示出了说明性的自行车电子系统的框图,
-图3示意性地示出了网络架构和相关的层级和子层级,
-图4示意性地示出了第一协议的数据结构,
-图5示意性地示出了第一协议的数据包的有效载荷格式,
-图6示意性地示出了通信数据包格式,
-图7示意性地示出了BLE部件及其交互,
-图8示意性地示出了BLE特性,
-图9示意性地示出了传统的、说明性的GATT服务器,
-图10示意性地示出了传统的BLE数据包,
-图11示意性地示出了图2的说明性自行车电子系统的更多细节,
-图12示意性地示出了说明性的GATT服务器,以及
-图13至图18示意性地示出了自行车电子系统中的说明性数据流。
具体实施方式
自行车系统
参考图1,根据本文公开的主题的自行车电子系统10包括多个部件11,该多个部件11包括至少两个部件,优选地至少三个部件,甚至更优选地三个以上的部件。在图1中,以完全示意性的方式示出了任意数量的部件11,并且为了清晰起见,附图标记11仅与一些部件相关联。
自行车B的一些装备是可标识的,诸如:换挡系统,其通常包括与后轮的轮毂相关联的后拨链器组件1101和可能的与五通管主轴(bottom bracket spindle)相关联的拨链器组件1102;与前轮相关联的制动器1103;与后轮相关联的制动器1104;前悬架或减震器1105;后悬架或减震器1106;鞍座设定调节器1107;一个或多个手动控制设备1108、1109、1110、1111(后者为可穿戴式),其旨在用于控制这些设备或装备,特别是用于控制拨链器组件1101、1102;道路状况和/或骑手C状况的一些检测器设备,例如心率监测器1130和在鞋处、在踏板处、在轮毂处、在曲柄臂处示出的设备1112-1119,这些设备可以包括例如加速计、节奏传感器、踩踏传感器;自行车计算机1120,其可以包括例如GPS、高度计、测斜器等;可能的中心控制器(central controller)1121,该中心控制器旨在用于自动或半自动地控制上文提及的设备或装备;智能手机1131、平板电脑1132、计算机1133、电池充电器1134、智能手表1135。为简洁起见,术语“手动”在下文中有时会被省略。自行车电子系统10的部件仍然可以包括其它设备,如仅作为示例的照明系统、防盗设备、智能手表等。
可以理解,系统10的一些部件11是骑行专用电子设备(例如1101-1120),而一些部件11是通用电子设备(例如1130-1135,但也包括通用卫星导航仪、高度计、测斜器、加速计等),这些通用电子设备可以被配置成与一个或多个骑行专用电子设备1101-1120交互。
从另一方面看,可以理解,在系统10的部件11中,一些部件是以固定方式、以稳定方式或以可移除方式机械地连接到自行车B的电子设备;一些部件是由骑手C携带的电子设备(例如1110-1113、1130、1135);一些部件(例如1132-1134)是被提供用于在自行车B不动且不使用时与自行车电子系统10的其它部件交互的电子设备。
后一种设备可以例如包括:由骑手C携带的电子设备,但处于关机或待机状态,或者在任何情况下骑手在骑自行车时不主动使用的电子设备;留在车库中的电子设备,例如电池充电器1134或计算机1133或平板电脑1132,其中待下载行驶数据或者从该电子设备下载用于系统10的其它部件11的更新;机械车间、经销商、测试员等的电子设备;在跟随骑手的旗车(flagcar)上携带或由行驶同伴携带的电子设备等。
总体上,系统10的一个或多个部件11与系统10的一个或多个其它部件11交互是必要的或可取的。
为此目的,系统10的至少一些部件11至少暂时地连接在一个或多个通信网络中。在本说明书和所附权利要求书中,术语“通信网络”或简称“网络”通常意在指示一组电子设备(也称为“节点”),所述一组电子设备被稳定地或暂时地并且利用有线链路或利用无线链路物理地连接,使得该组中的每个节点能够直接或间接地与该组中的每个其它节点交换信息;意在涵盖仅两个设备或节点之间的链路;不一定意指逻辑拓扑与物理拓扑相同,并且/或者网络中的设备或节点之间的通信协议是单个协议;也可以意指如上文限定的网络的特定子集(即,子网络)。在本说明书和所附权利要求书中,术语“物理拓扑”意指设备的和传输介质或链路的物理布置;术语“逻辑拓扑”意指网络部件加入传输介质以发送数据的方式。在本说明书和所附权利要求书中,术语“连接”被用于指示可以在其上进行通信的链路。
并非系统10的所有部件11必然总是存在、总是开启和/或总是网络连接。每个链路和每个网络连接可以是永久的或临时的。总体上,动态网络是这样处理的。
系统10的部件11之间的网络的物理拓扑一般可以是任意一种,并且一般可以支持若干拓扑的一个或多个逻辑网络。
系统10的部件11之间的通信根据至少一个网络协议进行。在本说明书和所附权利要求书中,“网络协议”意指正式描述的一组规则,其限定两个或更多个部件11之间的通信方式。一般地,网络协议由一个或多个数据结构并且由一个或多个通信方法(特别是由一个或多个传输方法并且由一个或多个接收方法)限定。
系统10的至少两个部件11包括相应的数据处理系统,在本文中也简称为处理器,一个数据处理系统适于执行下文描述的传输方法之一的步骤,而另一数据处理系统适于执行下文描述的接收方法之一的步骤。至少一个处理器可以适于执行下文描述的传输方法之一的步骤和下文描述的接收方法之一的步骤两者。至少一个处理器可以适于执行下文描述的通信方法之一的步骤。
此外,一个或多个部件11的处理器可以适于执行与所涉及的部件11和/或一个或多个其它系统部件10的具体操作相关的一个或多个方法。仅作为示例,拨链器组件1101、1102可以被编程为使其链条导板移动,曲柄臂1118、1119可以被编程为计算踩踏功率等。
系统10的至少一个部件11包括计算机可读存储装置,其中,根据下文描述的一个或多个数据结构和/或以下指令来存储数据,所述指令在由处理器执行时导致一个或多个所述通信/传输/接收方法和/或与具体操作相关的一个或多个所述方法被执行。
为了简洁起见,下文中将一般地使用表达“程序”或“编程部件”或派生形式,并且在期望区分所提及的两类方法时将使用表述“通信程序”和“特定程序”。
形成在自行车电子系统10中的通信网络的物理拓扑至少在原则上可以是任何形式,例如它可以选自:环形、网状、星形、全连接、线性菊花链、树状、总线、混合。
逻辑拓扑至少在原则上可以是任何形式,例如它可以选自:环形、网状、星形、全连接、线性菊花链、树状、总线、混合。逻辑拓扑可以独立于物理拓扑进行选择,只要它被物理拓扑完全支持即可。
基于系统10的部件11的特定物理拓扑和/或特定逻辑拓扑的选择属于本领域技术人员的技能范围,在本说明书中也是如此。
系统10的至少一些部件11之间的至少一个网络连接可以是根据低功耗(Low Energy)标准的连接,在下文中简称为“BLE连接”。在这种情况下,系统10的至少两个部件11例如设有至少一个相应的“BLE模块”,在本说明书和所附权利要求书中,该术语意指提供实施BLE标准所需的必要功能的硬件和固件(电路、可能的天线和适当编程的控制器的组件),无论其是被设置在专用设备或芯片中或者是被集成在另外负责其它功能的设备或芯片或操作系统中。
还可以规定系统10的部件11之间的至少一个网络连接是除了BLE之外的无线类型,简称为非BLE连接。在这种情况下,系统10的至少两个部件11设有除了BLE模块之外的至少一个相应的无线模块。
无论是否存在无线BLE和/或非BLE连接,也都可以规定系统10的部件11之间的至少一个网络链路是有线类型,在本说明书和所附权利要求书中使用的该术语与术语“无线”相对,不一定意味着存在电缆,而是涵盖所连接的部件的共轭触点之间的直接接触。在这种情况下,系统10的至少两个部件11设有至少一个相应的有线接口。
一个或多个可能的有线网络链路可以适用于串行通信。在这种情况下,系统10的至少两个部件11设有至少一个相应的串行接口。在本说明书和所附权利要求书中,表述“串行通信”意指一种通信,其中,位着沿通信信道一次一个地传输,并且以相同顺序被依次接收。仅通过非限制性示例,提及了众所周知的串行协议UART、SPI、I2C、Can-bus等。
应当注意,同一个部件11可以参与无线(特别是BLE)链路和有线(特别是串行)链路两者,并且因此可以具有至少一个无线模块(特别是BLE模块)和至少一个有线接口(特别是至少一个串行接口)两者。
如所提及的,至少一个部件11可以设有一个以上的无线模块(例如一个以上的BLE模块)和/或设有一个以上的有线接口(例如一个以上的串行接口),所述至少一个部件11用于与一个或多个不同部件11的一个以上的连接。在与同一部件11相连的两个连接的情况下,一个连接可以用于传输,而另一个连接可以用于接收,从而在仍使用各个链路用于单向通信的情况下实现整体的双向通信。在与两个(或更多个)不同部件11相连的两个(或更多个)连接的情况下,每个连接可以用于传输、用于接收或用于双向通信,使得设有两个或更多个连接的所述部件可以例如向第二部件传输并从第三部件接收,或者向第二部件传输并与第三部件双向通信,并且总体上与两个以上的部件单向通信和/或双向通信。在与两个不同部件11相连的两个连接的情况下,这些连接可以是或者不是同一逻辑网络的一部分。
在其中部件11是两个(或更多个)不同逻辑网络的一部分的情况下,该部件11可以在该两个(或更多个)逻辑网络之间发挥接口作用,无论它们是同质的还是异质的。在本说明书和所附权利要求书中,表述“同质网络”意指具有同一网络架构的网络,而表述“异质网络”意指其网络架构在至少一个协议层中不同的网络。
如上文所讨论的,自行车系统10甚至可以非常复杂,具有甚至非常大量的部件11,具有包括相同或不同的物理拓扑和相同或不同的逻辑拓扑的若干网络(或子网络),并且支持甚至相当大量的不同通信协议。
自行车电子系统的说明性配置
在不减损一般性的情况下,且仅为了更清晰表述的目的,下文参考图2所示且在下文描述的自行车系统10的仅说明性配置来描述两种通信协议。
说明性的自行车电子系统20包括若干部件11(同样在这种情况下,为了更加清晰,附图标记11仅与所示的一些部件相关联):后拨链器组件21,前拨链器组件22,右手动控制设备23,左手动控制设备24,传输侧上的测量用曲柄臂(instrumented crankarm)25、与传输侧相反的一侧上的测量用曲柄臂26、一对可穿戴控制设备27、28以及智能手机29。
需注意,智能手机29仅是特别地设有图形用户界面的通用设备的例示,而其它设备是骑行专用电子设备。智能手机29被配置成与骑行专用电子设备21-28交互。需强调的是,可以存在一个以上的单个通用设备。每个控制设备23、27;24、28以本身众所周知且其细节在本文公开的主题范围之外的方式被编程,以基于骑手与一个或多个构件(如操纵杆、按钮等)的交互而发出一个或多个输出,基于该输出来改变自行车B的传动比。
每个测量用曲柄臂25、26以本身众所周知且其细节在本文公开的主题之外的方式被编程,以基于一个或多个传感器而发出一个或多个输出,例如所施加的扭矩和/或踩踏节奏和/或踩踏功率的测量值。
每个拨链器组件21、22以本身众所周知且其细节在本文公开的主题之外的方式被编程,以使传输链在分别与后轮和与五通管组件相关联的一组齿轮中的齿轮之间移位,从而改变传动比。程序输入包括设备23-28(以及如果该自行车电子系统与说明性系统20不同,自行车电子系统10的任何其它部件)的一个或多个输出。此外,拨链器组件21、22可以彼此交换数据,特别是与相应啮合的齿轮交换数据。
如本领域技术人员所理解的,智能手机29可以从系统20的其它部件11(骑行专用电子设备21-28)收集数据,以用于向用户显示、存储以用于历史收集、用于统计目的、用于与其它与健康相关的应用程序共享等。
智能手机29也可以向系统20的其它部件21-28提供输入,例如相应特定程序的参数的值。在本说明书和所附权利要求书中,术语“参数”用于表示一个或多个程序指令的变量,其值在执行这种指令之前被输入到程序(或其特定功能或操作)。仅作为示例,控制设备23、24、27、28可以根据其按钮被按下的时间是短于阈值参数还是长于阈值参数而发出不同的命令;阈值参数的值可以被存储在控制设备23、24、27、28的存储器位置中,并且该值能够通过智能手机29来设定。仍然仅作为示例,智能手机29可以向任一拨链器组件21、22的特定程序提供介入待设定的传动比的确定中的数据,例如由加速计或由智能手机29内部的地理定位系统获得的或从其它通用电子设备、互联网等收集的速度数据。
本领域技术人员将理解,自行车电子系统10的每个部件11(也在后者不同于说明性系统20的情况下)通常可以被编程为在系统10内接收输入和/或提供输出。
说明性自行车电子系统20的部件21-29连接在具有混合物理拓扑的网络中,该自行车电子系统的部件形成相应节点。
所有上文提及的骑行专用电子设备21-28连接在网络中,为了方便起见,该网络在本文中称为“骑行网络”30,用于特别地对上文提及的输入和输出进行交换。
智能手机29至少暂时连接在网络中,为了方便起见,该网络在本文中称为“交互网络”31,在所示情况下,该网络与后拨链器组件21一起形成。
在所示的说明性情况下,骑行网络30具有星形逻辑拓扑。
在说明性的系统20的情况下,骑行网络30是无线网络,特别是下文更好地描述的BLE网络。网络30的连接用虚线示出。
在所示的说明性情况下,后拨链器组件21发挥星形中心设备的作用,而其它部件22-28发挥外围设备节点的作用。
在说明性系统20的情况下,交互网络31是无线网络,特别是下文更好地描述的BLE网络。网络31的连接用虚线示出。
如上文所强调的,并非系统10的所有部件11必然总是存在、总是开启和/或总是网络连接。为了以下说明性描述的目的,将假定部件21-28存在、开启并且被连接,并且智能手机29可能存在或不存在、开启或不开启以及被连接或不被连接。
在说明性自行车系统20中,每个拨链器组件21、22具有智能电池21-2、22-2,即一种电源单元,该电源单元具有其自己的处理器或数据处理系统以负责对该电源单元的控制。众所周知,“智能电池”包括:由二次单体构成的电池,例如锂聚合物类型的电池;以及所述由二次单体构成的电池的集成管理系统,该集成管理系统例如实现了充电电路和高级诊断系统,其包括通常由电子板或PCB(印刷电路板)承载的处理器。
总体上,智能电池21-2、22-2代表相应的网络节点,并且一般地落入如在本说明书和所附权利要求书中所使用的术语“部件”内。因此,一般地,每个智能电池21-2、22-2是自行车电子系统10(20)的部件11。
在本说明书和所附权利要求书中,当广义地提及拨链器组件21、22或拨链器时,意在涵盖相应的智能电池21-2、22-2;当适当地提及各个网络节点时,则提及拨链器21-2、22-1(即,“真实的”拨链器)和/或智能电池21-2、22-2。
部件23-28由一个或多个电池电源供电,例如由相应的纽扣电池供电。智能手机29可以以任何传统方式供电。
各智能电池21-2、22-2具有与相应的拨链器21-1、22-1相连的有线物理链路,由相应的电触点的接触表示。拨链器21-1、22-1和相应的智能电池21-2;22-2分别形成两个有线网络32、33(每个有线网络均与拨链器组件21、22重合)。这两个网络32、33的连接用实线示出。
网络架构的应用层级的相对较高的子层级(上层协议)
还参考图3,一些通信(传输和/或接收)方法以及本文公开的主题的其它相关方面基于用于自行车电子系统10的协议,该协议在本文中限定在国际标准化组织(ISO)的众所周知的开放系统互连模型(OSI)或ISO/OSI模型50的应用层级51(第七层级)的子层级51-2中,或者任何情况下被限定在网络架构的最上层级的子层级中,例如限定在BLE标准或BLE架构60或BLE HW/FW堆栈的应用层级61的子层级61-2中。
为了将该协议与限定在ISO/OSI模型50的应用层级51的底层级51-1中或在任何情况下限定在网络架构的最上层级的底层级子层级中(例如在BLE标准60的所述应用层级61的子层级61-1中)的协议区分开,为简洁起见,协议50有时将在本文中被称为“上层协议”,而为了简洁起见,其它协议有时将在本文中被称为“下层协议”。
需注意,还可以存在ISO/OSI模型50的应用层级51的第三子层级51-3、或BLE标准60的应用层级60的第三子层级61-3、或网络架构的最上层级的第三子层级,其仍然高于上层协议的所述子层级(51-2、61-2)。例如,如果部件11的特定程序(像上文描述的那些)完全不同于实施上层协议的程序,则该特定程序可以表示第三子层级中的应用程序的示例。然而,需注意,上层协议也可以至少部分地在部件11的所述特定程序中实施。
特别是,上层协议是应用软件中的如下部分,该部分限定在自行车电子系统10的部件11之间共享的用于数据交换的唯一格式,其规定待传输的数据应如何编码,并且规定应如何解释所接收的数据,而无关于在OSI模型50的下层级(从第六层级到第三层级:表示层、会话层、输送层、网络层,总体以附图标记52表示;第二层级53为数据链路层;第一层级54为物理层)中以及在BLE架构60的对应主机62和控制器63层中出现的情况。在本说明书和所附权利要求书中,“唯一格式”表示该格式仅可以以一种方式解释,并且因此不会引起任何歧义。
需强调的是,BLE在其自身的应用层级61中提供了如下文中更好地描述的GATT服务,而没有提供复数的子层级;换句话说,在根据BLE标准的传统实施方式中,这仅是根据应用来配置GATT服务的问题。
这样的上层协议规定了电子消息的或在网络中传送的数据包的数据结构(或数据格式)(下文参考图4描述)以及有效载荷格式(下文参考图5描述)。
可归属于说明性自行车电子系统20的骑行网络30的每个部件11(除可能归属于交互网络31的一个或多个部件以外)的所有性质(property)或信息片段以及用以在系统10中的通信的候选地址——并且由此,可归属于期望在网络中“暴露”的部件11的所有信息片段——根据这种数据结构来存储。
在本说明书和所附权利要求书中,表述“可归属信息片段”有时被术语“性质”或术语“特征”或术语“InfoTag(信息标签)”代替。
总体上,尽管这并不总是必要的,但每个部件11在其存储器中存储其自己的(零个或多个)可归属信息片段。
自行车系统10的部件11可以先验地知晓自行车系统10的一个或多个其它部件11或所有部件11的全部或部分(包括单个的)可归属信息片段。
可替代地或附加地,自行车系统10的部件11在网络的建立期间、顺序地或紧接在建立之后或者仍在更新阶段中以合适方式学习哪些是自行车系统10的一个或多个其它部件11或所有部件11的全部或部分(包括单个)的可归属信息片段,尽管下文中提及了具体方式,但该合适方式在本文公开的主题范围之外。
自行车电子系统10的部件11可以存储系统10的一个或多个或所有的其它部件11的可归属信息片段的整体或部分副本。
因此,上层协议限定自行车电子系统10的各个部件11的可归属信息片段的数据库;该数据库总体上以分布式形式存储在系统10中,其中,每个部件11可以存储该数据库的局部或整体部分。
自行车电子系统10的各个部件11的可归属信息片段在系统10中根据由上层协议限定的有效载荷进行传送。
“可归属信息片段”可以包括但不限于:部件11的特定程序的参数、变量和常量;部件11的状态变量;由部件11获取的测量值;部件11和/或其特定程序的标识数据,如名称、地址、软件/固件版本等。
此外,“可归属信息片段”可以包括辅助信息片段,其在指令的传送期间以下文更好地指定的方式使用。
数据结构
参考图4,现在描述数据结构200,根据该数据结构,可归属信息片段或InfoTag根据上层协议来存储。
数据结构200是记录类型的。因此,每个可归属信息片段或信息标签210是由上层协议限定的数据库的记录。
字段221包括可归属信息片段210的值Data。
字段222包括字段Data 221的长度Len。可替代地,其可以表示InfoTag 210的长度或InfoTag 210的在系统10中传送的部分的长度。
字段223完全可选地包括数据类型的标识符Type,其标识了字段Data 221的数据的类型。数据以标准格式或专有格式设定类型。仅通过非限制性示例,数据可以是布尔型、字符串、整数(或8位整数、16位整数等)、浮点型、温度、日期-时间、日期-小时-分钟、持续时间、线性测量类型...软件版本、字符串、电压、电流等类型。
数据类型标识符还可以对测量值的单位进行编码。仅通过非限制性示例,以摄氏度为单位的温度和以华氏度为单位的温度可以用不同的标识符进行编码,并且以毫米为单位的线性测量值和以微米为单位的线性测量值可以用不同的标识符进行编码。可替代地,测量值的单位可以在特定字段(未示出)中表达。
字段224包括可归属信息片段210的标识符Tag,该标识符在自行车电子系统10中是唯一的,并且更一般地在自行车电子系统10的每种配置的所有可能部件的集合中都是唯一的。在本说明书和所附权利要求书中,表述“唯一标识符”是指该标识符与同一类的所有其它唯一标识符不同且可区分,在可归属信息片段210的类别中的情况就是如此。
字段225完全可选地包括对InfoTag 210或其字段Data 221的值的访问权限的一个或多个标识符Access。仅通过非限制性示例,字段Data221可以是只读的、可写的、仅可写一次的等;可归属信息片段或InfoTag 210可以仅当在系统10中存在预选部件时(例如仅当存在智能手机29时)可进行访问;可归属信息片段可以请求加密或不加密,并因此是“私有的”;可归属信息片段可以是可传输的、可接收的或可传输且可接收的;等等。
字段226完全可选地包括可归属信息片段210的描述Description,其优选地是人类用户可理解的。如果存在,则字段226可以在网络中传输或不传输。
如果所有的系统部件10都先验地可支配地具有可归属信息片段的整个数据库,并且先验地知晓这种信息片段的类型,则字段223可以从数据结构200中省略。
可替代地,字段223可以从在自行车电子系统10中传送的InfoTag210的部分中省略。仅通过非限制性示例,对于仅包含速度计且可以仅传送与所测量的速度相关的性质的部件,如果应当接收所测量的速度的所有部件都已可支配地具有这种所测量的速度例如以km/h表示的信息片段,则该部件不需要必然传送该类型(数字值,以测量值的速度单位)。
通过数据结构200以及可归属信息片段的标识符Tag 224的唯一性,自行车电子系统10被建模为一组性质,该组性质能够以唯一方式(即,没有歧义的可能性)标识,并且该组性质代表系统的相关元件,所述相关元件在自行车电子系统10的使用期间可以由外部事件、由操作者或通过程序指令等被检测、配置、改变。
字段222-225例如具有固定的长度;如已经提到的,字段224具有固定或可变的长度,该长度例如取决于数据类型Type(字段223),并且可以在字段Len 222中表达。
除了上文所说的之外,图4所示的可归属信息片段210的格式还易于有其它变化,例如字段221-226的顺序可能不同,并且一些字段可能被省略。特别需注意,对于本文公开的主题的一些方面和/或从属特征(secondary features),可能仅需要字段Tag 224,而对于本文公开的主题的一些方面,可能仅需要字段Data 221。
存储在字段224中的可归属信息片段210的标识符Tag也可以对部件标识符进行编码。
由Tag标识的部件可以是以Tag标识的可归属信息片段210所归属的同一部件11,即该部件在网络中暴露由相关的Tag标识的可归属信息片段210。可替代地,由Tag标识的部件可以是自行车电子系统10的与在网络中暴露由相关的Tag标识的可归属信息片段210的部件不同的部件11。
从另一方面看,由Tag标识的部件可以是与由Tag标识的可归属信息片段210相关的通信的发信人部件,或者由Tag标识的部件可以是与由Tag标识的可归属信息片段210相关的通信的收信人部件。
例如,与部件11的特定程序的参数相关的可归属信息片段210可以将该部件11编码在其Tag中,当参数的值被不同的系统部件10写入时,该部件用作收信人部件,并且当将参数的值传送到不同的系统部件10时,该部件用作发信人部件。
在这种背景下,本领域技术人员将理解,可以在Tag 224内标识发挥类似或相似作用的部件,而无关于其型号,或者可以在Tag 224内以不同方式标识发挥类似或相似作用但属于不同型号的部件,并且可以存在上述的组合。仅作为非限制性示例,用于具有7个链轮的链轮组件的后拨链器组件可以以与用于具有11个链轮的链轮组件的后拨链器组件相同的方式或不同的方式标识;因操纵杆的形状而不同的两个左手动控制设备可以以相同的方式标识,而其中仅一个具有用于选择操作模式的按钮状致动装置(“模式”按钮)的两个左手动控制设备可以以不同的方式在Tag内标识。
Tag 224作为唯一标识符应当满足的条件在于,系统10的任何特定配置均不能包括具有相同Tag 224的两个不同部件11的两个可归属信息片段210。
然而,出于将在下文中清楚的原因,在本文中称为All的Tag 224中的一个也可以仍然以唯一方式标识自行车电子系统10的通用部件11,即,它可以明确地标识系统10的所有部件11。
如上文所讨论的,后拨链器组件21和前拨链器组件22可以包括相应的智能电池21-2、22-2。在这种情况下,可以存在若干种替代形式。
在第一种情况下,智能电池21-2、22-2在其存储器中存储其自身的可归属信息片段210,并且拨链器21-1、22-1在其存储器中存储其智能电池21-2、22-2的可归属信息片段210的副本。在第二种情况下,智能电池21-2、22-2不在存储器中存储其自身的可归属信息片段210,并且拨链器21-1、22-1在其存储器中存储其智能电池21-2、22-2的可归属信息片段210。在第三种情况下,仅智能电池21-2、22-2在存储器中存储其自身的可归属信息片段210,使得拨链器21-1、22-1在存储器中仅存储其自身的可归属信息片段210。需注意,在所有三种情况下,拨链器组件21、22在存储器中存储拨链器21-1、22-1和智能电池21-2、22-2两者的所有可归属信息片段210。
本领域技术人员将理解,参考后拨链器组件21、前拨链器组件22和相应的智能电池21-2、22-2所描述的内容也可以适用于附接到系统10的部件11的其它设备,例如除拨链器之外的设备的智能电池,或者仍然通过非限制性示例,在出于某种原因期望将部件视为“从属”的情况下,例如可穿戴控制设备27、28或杆端类型的控制设备(未示出)可能被视为控制设备23、24的“从属”部件。
根据数据结构200存储的参数和/或变量和/或常量中的每个可以是如上文所限定的由部件的特定程序使用的相同的参数和/或变量和/或常量的副本(不断更新),或者其可以是该参数和/或变量和/或常量的唯一实例。
如所提及的,性质或可归属信息片段210可以是各种类型的,如可以从前面和下面阐述的一些非限制性示例中推断的:
a1)与硬件或固件相关的数据(例如,型号、固件版本、MAC地址)
a2)与网络相关的数据(例如,连接状态、网络地址)
a3)与部件的状态相关的数据(例如,剩余容量、充电周期的计数器、所啮合的齿轮、当前操作模式)
a4)由传感器检测的数据(例如,温度、相对于地面的倾斜度、速度、加速度)
a5)由部件计算的数据(例如,踩踏功率、节奏、扭矩)
a6)部件的特定程序的参数(例如,按钮的最小操作时间、用于区分单次换挡请求和多次换挡请求的时间阈值、待啮合的齿轮、在换挡期间用以帮助与齿轮啮合的拨链器的额外行程)
a7)发信号通知错误的数据(例如,拨链器组件的电池电压过低而不允许换挡、传感器损坏、换挡请求超过极限齿轮、手动操纵杆卡住)。
通过限定数据类型,性质或可归属信息片段210也可以作为实际上的“多个性质”或“多个可归属信息片段”,其中,每个位或位组均指示相应的基本性质。例如,InfoTag 210“设备的状态”可以收集与部件11相关的一些信息片段,例如,当其值的一个或多个预设位被设定为预设布尔值(例如为1)时,存在不同种类的一个或多个错误。仍然仅通过非限制的示例,“多个性质”可以提供与电池相关的若干个指示,诸如电池正在充电(由一个位表示)、充电过热(由不同的位表示)、大约剩余充电水平(例如由两个其它位表示,其中00为完全放电、01为低电量、10为充足电量)。
有效载荷
参考图5,现在描述在网络中传送的数据包的有效载荷250或电子消息的格式,该格式由用于自行车电子系统10的部件11的可归属信息片段210的交换或传送的上层协议限定。
当要在网络中传送的特定可归属信息片段210或“性质”候选地址应实际地在网络中传送时,其字段中的至少一些被组合在电子消息或数据包的有效载荷250中,该有效载荷在网络中由网络架构50、60的下层52-54、62-63(或除ISO/OSI模型50和BLE架构60之外的网络架构中的对应下层级)传输。以本身众所周知的方式,除了有效载荷250之外,所传送的数据包还包含开销(报头和任何其它字段)。开销包含将有效载荷作为数据包传输的必要和充分的信息。
网络架构50、60的下层或下层级52-54、62-63(或除ISO/OSI模型50和BLE架构60之外的网络架构中的对应下层级)通常是由硬件制造商或第三方提供的软件库来控制的硬件部件和软件部件,换句话说,它们通常是固件部件。
有效载荷250的格式包括字段261,该字段261包括指令或操作唯一标识符Opcode,如在下文更好地描述的。字段Opcode 261具有固定的长度。
有效载荷250的格式包括字段262,该字段262包括可归属信息片段210或其字段221-226中的至少一些字段。为简化表述并仅通过示例,除非另有规定,否则下文将指整个可归属信息片段210的传送。
然而,应当强调的是,对于本文公开的主题的一些方面和/或从属特征,可能仅需要字段Opcode 261,而对于本文公开的主题的一些方面,可能仅需要字段InfoTag 262。
可选地,有效载荷250不限于字段261-262,而是可以包括与不同的可归属信息片段210相关的字段261-262的一个或多个重复。
在本说明书和所附权利要求书中,当需要将基本有效载荷260与整个有效载荷250区分开时,表述“基本有效载荷”260指与特定可归属信息片段210相关的字段261、262的组件。
每个有效载荷250中的基本有效载荷260的数量可以取决于每个特定基本有效载荷260的长度而变化,即,取决于所传输的每个性质或可归属信息片段210的长度,如在其字段222中表示的;可替代地,基本有效载荷260的数量对于所有有效载荷250可以是固定的。
每个有效载荷250中的基本有效载荷260的数量可以存在上限,其由网络架构50、60的下层52-54、62-63中的一个(或除ISO/OSI模型50和BLE架构60之外的网络架构中的对应下层级)的有效载荷的最大长度决定。
有效载荷250的格式可以包括如下的字段,该字段是可选的并且为了简洁起见未示出,该字段指定有效载荷250的其余部分是否被加密。可替代地,每个基本有效载荷260可以包括如下的字段,该字段为了简洁起见未示出,该字段指定基本有效载荷260的其余部分是否被加密。仍然可替代地,该信息可以例如编码在字段225Access中。
利用字段261传送的操作标识符Opcode可以代表能够由系统10的部件11执行的任何指令,并且该指令可以由系统10的不同部件11发出。
仅通过非限制性示例,下文提及了以下类型的指令和特定指令:
b1)用于获取或记录在字段262中标识的所传输的性质或可归属信息片段210的字段Data中指示的值的指令,在本文中称为“Notification(通知)”;
b2)用于修改在字段262中标识的可归属信息片段210的指令,在本文中称为“Write Property(写入性质)”;在这种情况下,由Tag224标识的性质所应当假定的值在字段Data 221中指示;
b3)用于请求读取在字段262(特别是字段Tag 224)中标识的可归属信息片段210、即请求将该可归属信息片段210作为回复进行传输的指令,在本文中称为“Read Property(读取性质)”:在这种情况下,在字段Len 222中指示的长度可以设定为零,字段Data 221不存在,或者在字段Data 221中指示的值可以是预定值,例如都为0或都为1;
b4)用于修改在字段262(特别是在字段Tag 224)中标识的可归属信息片段210的访问权限的指令;在这种情况下,字段Data和Len221-222的值可以像情况c3)中那样管理;
b5)用于请求将部件11的所有可归属信息片段210作为回复传输的指令,在本文中称为“Read All Properties(读取所有性质)”;
b6)用于对存储器中的数据执行特定动作(例如Reset to Factory values(重设为出厂值)或Delete Whitelist(删除白名单),其删除网络信息)或用于对部件的设备执行特定动作(例如打开LED)的指令;
b7)与部件的特定程序相关的指令,例如功能调用或参数传递,或者切换操作模式的指令,等等;
b8)代表由骑手C接收的输入或手动命令的指令;
b9)上述指令的组合。
需注意,在b6-b8的情况下以及在类似情况下,包含在字段262中的可归属信息片段210是辅助指令的执行的信息片段,其例如包含仅作为重要数据的Tag 224,Tag 224对指令(并因此对有效载荷250)的部件11收信人进行编码,或者其附加地包含在字段Data 221中的、待传递到部件11的特定程序的参数等。
上文描述的标签224All(如果插入InfoTag 262中)允许发信人部件11发送在字段Opcode 261中编码的指令,该指令被指向所有其它部件11,以节省网络流量,并由此实现某种广播。例如,这样的指令可以是Reset to Factory values、Delete Whitelist、Entersetting mode(进入设定模式)、Read software version(读取软件版本)等指令。
需注意,包含指令Notification的基本有效载荷260(或整个有效载荷250)通常由字段262中的Tag 224标识的可归属信息片段210所涉及的部件11形成并在网络中初步传输,然后仍然能够被转发。
仅为了更好地澄清指令Notification的目的,提供了一些实际的示例:部件11可以传输或“通知”其软件版本、由其传感器检测的温度、其按钮的按下状态(例如,如果部件11是控制设备23、24、27、28)、其充电水平(例如,如果部件11是智能电池21-2或22-2)或其电池的充电水平(如果部件11是拨链器组件21、22或拨链器21-1、22-1)等,例如基于请求或由于在字段Data 221中指示的相应值已经改变的事实的结果。
此外,需注意,包含不同于指令Notification的指令(在字段Opcode261中编码)的基本有效载荷260(或整个有效载荷250)通常由与在字段262中标识的性质所涉及的部件11不同的部件11(特别是由与在字段Tag 224中标识的部件不同的部件11)形成并在网络中初步传输,但其也能够被转发。
然而,在第二部件11具有代表第一部件11的性质的情况下,第一部件11也可以替代指令Notification而使用命令Write Property以向第二部件11传输其性质的值。例如,第一部件11可以具有可归属信息片段“模型”并利用指令Notification将其传送到第二部件11,或者第二部件11可以具有可归属信息片段“第一部件的模型”并且第一部件11可以通过指令Write Property传送其自身的模型。
仅通过非限制性示例,第一部件11可以:
c1)通过命令Read Property向第二部件11请求传输或“通知”其软件版本等,
c2)通过命令Read All Properties向第二部件11请求传输或“通知”其所有的可归属信息片段210,以便学习其具有哪些性质以及相应的标识符Tag 224,
c3)通过命令Write Property(如果第二部件11具有描述所述参数或常数或变量的性质210)或通过特定指令(例如,指令Set RTC(设定实时时钟)等)请求改变第二部件11的特定程序的参数或常数或变量(例如,改变按钮的最小按下时间,以便认为骑手的输入有效),
c4)通过命令Write Property(如果第二部件11具有描述操作模式的性质)或通过特定指令(例如,指令Set Adjustment Mode(设定调解模式)、指令Enter DFU(进入DFU)(激活固件更新模式)等)来请求第二部件11进入特定模式,
c5)请求第二部件11执行动作,例如通过指令Delete Whitelist、指令重置为出厂值(Reset to Factory Settings)、用于在发光刻度盘中显示电池的百分比电量的指令Show Battery Level(显示电池电量)等,
c6)向第二部件11请求执行先前对第一部件11已知的其特定程序280的功能调用,或执行其一部分,例如通过指令Increment Property(增加性质),以将字段Data 221中标识的性质增加也在字段数据221中标识的特定值等,
c7)将输入转发到第二部件11,例如由骑手或其它人类操作者接收的手动命令,例如通过指令Button Pressed(按钮按下)或指令Shift Up(升挡),或通过代表按钮状态(例如,在性质按钮状态(Button Status)的字段Data 221中传输值0或值1)或代表换挡请求(例如,通过在性质Shift请求的字段Data 221中传输预选值)的合适性质的指令Notification或Write Property等,
c8)修改第二部件11的性质的访问权限225。
同样从上文提供的示例中可以理解,可以存在两种或更多种不同的方式来在自行车电子系统10中表达和传送可归属于一个或多个部件的同一事项(其适当地限定代表其的一个或多个性质),可能地与其它信息一起和/或使用一个或多个指令标识符Opcode 261用于其通信。
需注意,总体上,有效载荷250可以包括:包括指令Notification的两个或更多个基本有效载荷260;包括除Notification之外的指令的两个或更多个基本有效载荷260;包括一个或多个指令Notification和除Notification之外的一个或多个指令的两个或更多个基本有效载荷260。
同样从上文提供的示例中可以理解,证明有利的是,性质标识符Tag 224也可以对发信人部件11或收信人部件11进行编码。该信息可以以本领域技术人员清楚的方式同时根据本描述来使用,以便辅助有效载荷250或基本有效载荷260的转发(routing),并且/或者将基本有效载荷260一起组合成有效载荷250,并且/或者将有效载荷250细分为基本有效载荷260,并且可能地将它们一起重新组合成一个或多个不同的有效载荷250,并且/或者管理传输队列和优先级,等等。
实际上,接收部件11基于在字段Opcode 261中编码的指令和/或由Tag 224标识的可归属信息片段来区分有效载荷是否被寻址。当指令被寻址时,接收部件11执行该指令;否则它将有效载荷250/基本有效载荷260转发到收信人部件11或收信人部件11直接或间接连接到的不同部件11,然后该不同部件提供进而转发有效载荷250/基本有效载荷260。
如上文所提及的,有效载荷250的传送被留给网络架构50、60的下层52-54、62-63(或除ISO/OSI模型50和BLE架构60之外的网络架构中的对应下层级)。
如上文所提及的,自行车系统10可以包括有线类型和/或无线类型的一个或多个网络。
沿有线类型的网络链路,例如使用串行通信协议以用于有效载荷250的传送。可以回顾的是,在说明性系统20的情况下,在拨链器组件21、22内、在拨链器21-1、22-1与相应智能电池21-2、22-2之间设有线链路。
沿除BLE之外的无线类型的网络链路,使用合适的无线协议以用于有效载荷250的传送。
在图6中,示意性地示出了在这些网络之一上传送的串行数据包或更通常的非BLE数据包290。非BLE数据包290包括有效载荷(Payload)291和开销(Overhead)292。开销292被示出在有效载荷291的前面,并且可选地在有效载荷291的后面,但其可以仅在有效载荷291的后面,或既在有效载荷291的前面又在有效载荷291的后面。有效载荷291包含有效载荷250,并且特别是对应于有效载荷250。
沿无线BLE类型的网络链路,为了有效载荷250的传送,在BLE网络架构60的应用层级61的子层级61-1(对应于ISO/OSI模型50的子层级51-1或网络架构的上层级的下子层级)中使用特定的通信方法或协议,上文提及的下层协议在下文中描述。
网络架构的上层级的相对下子层级(下层协议)
现在描述上文已经提及的下层协议,该下层协议被限定在OSI模型50的应用层级51的子层级中,特别是在BLE网络架构60的应用层级61的层级61-1中。
在下层协议上和/或在上层协议与所描述的下层协议的组合上,本文公开的主题的一些通信方法(传输方法和/或接收方法)以及其它相关方面均基于此。
如所提及的,BLE是一种通信的技术标准,其具有低能耗,特别是提供用于小型离散数据传递,例如传感器的状态信息、时钟的当前时间等。尽管BLE是众所周知的,但下文总结了与本文公开的主题的目的相关的BLE的一些原则。
BLE标准限定了硬件规格和软件规格,第二种规格是本文特别关注的。
BLE尤其在网络架构60的下层(在控制器63的链路层)中限定主(master)和从(slave)的角色,并且在网络架构60中间的主机层62的通用访问配置文件(GAP)中限定了中心设备和外围设备的角色。主中心设备建立并管理与一个或多个从外围设备的连接。设备可以发挥多个GAP的作用,并且因此承担中心设备和外围设备两者的状态,只要链路层对此支持即可。
BLE限定配置文件,这些配置文件描述了在特定应用中应当如何实现数据传输。配置文件的最主要部分基于属性协议(ATT)并且基于通用属性配置文件(GATT),通用属性配置文件GATT限定在网络架构60的主机层62中的通用规范,其建立了如何将数据组织为数据包(称为属性)并在BLE连接上进行交换。一些属性可以聚集在服务中,使得配置文件可以包含一个或多个服务,每个服务具有一个或多个属性。
蓝牙特别兴趣小组(SIG)限定了特定配置文件和服务,每个特定配置文件和服务均针对特定类型的应用,例如:用于测量血压的配置文件BPP(血压配置文件);用于通过附接到自行车的传感器测量节奏和速度的配置文件CSCP(骑行速度和节奏配置文件);用于通过附接到自行车的传感器测量踏板功率的配置文件CPP(骑行功率配置文件);暴露设备的电池状态和电池电量的服务Battery Service(电池服务)等。
可以自由限定其它配置文件和服务。
GATT限定了服务器和客户端的角色。还参考图7,服务器设备101(其通常但不一定关联于从外围设备的角色(the slave and peripheral roles))包含被组织为属性的数据库的数据、接收来自客户端设备102的请求并且响应该请求。
就服务器上可用的属性的存在和性质而言,客户端设备102(通常但不一定关联于主中心设备的角色(the master and central roles))通过Discovery Service(发现服务)提供询问、向服务器发送请求(称为GATT Client Read 103的操作),并接收响应(Read-RESP 104)。
客户端设备还可以在服务器上的属性可供写入(GATT Client Write 105)时修改这些属性,可能从服务器接收发生更改的确认(ACK-Write-REQ 106)。
服务器设备还可以通过通知或指示(GATT Notification 107、GATT Indication108)自发地发送数据,在指示的情况下从客户端接收发生接收的确认(ACK-Indication109)。
GATT限定了保持在GATT服务器101中的属性数据库110的数据结构,也称为GATT服务器配置文件110。这是一种分层级结构,其中,GATT服务器配置文件110的属性被组合在服务111中,每个服务包含一个或多个特性112。每个特性112包括声明(Declaration)属性113和值(Value)属性114,并且可以包括零个或多个描述符(Descriptor)属性115。
声明属性113包含用于值属性114的元数据。描述符115允许进一步扩展包含在声明113中的元数据,例如其可以包括扩展性质(Extended Properties)、相应特性的用户可读描述(Characteristic User Description)、启用/禁用服务器发起的更新的开关(CCCDClient Characteristic Configuration Descriptor),即,启用/禁用上文提及的GATTNotification 107和GATT Indication 108。
因此,服务111是用于执行特定功能的数据和相关行为的集合。
特性112是数据容器。每个特性112与由GATT服务器101提供的基础片段相关联,例如电池电量或血压的测量,参考上文提及的SIG配置文件的示例。
参考图8,每个属性120(无论是GATT服务器110的服务111的声明、特性112的声明113、特性112的值114或特性112的描述符115)具有数据结构,其包括:
-句柄(Handle)121,该句柄标识该数据结构并使该数据结构可寻址,
-类型(Type)122,该类型122由UUID(通用唯一标识符)编码,并且确定存在于属性值123中的数据的类型,
-(长度可变的)所述值(Value)123,该值123代表包含在属性中的真实数据(能够由客户端102访问)或代表与属性120相关的元数据,
-一组权限(Permissions)124,该组权限124与属性120的值123相关(读取,写入,不访问;加密请求;授权请求)。
如上文所提及的,GATT服务可以是公共的(由SIG限定并由代表128位UUID的预设部分的16位UUID标识)或者可以是私有的(由用户限定并由128位UUID标识)。由SIG分配的其它UUID(也是16位长)包括GATT特性和对象类型(GATT Characteristic and ObjectType)的UUID、GATT描述符的UUID、GATT服务的UUID、GATT测量统一性的UUID等等。
仅通过非限制性示例,图9示意性地示出了简单的GATT配置文件130的示例,根据传统的BLE实施方式,该GATT配置文件代表基于加速计并具有其自身电池的唤醒设备,其例如实现在自行车曲柄臂中。GATT配置文件130包括两个服务131、132。第一服务131是公共服务或SIG服务电池,其包括单个的特性电池电量(Characteristic Battery Level)133。第二服务132是私人服务加速/唤醒(Acceleration/Wake),其包括六个特性134-139,该六个特性代表沿三个笛卡尔轴的加速以及与沿每个轴的加速相关的唤醒阈值。
一些特性133-139具有描述符,而其它特性没有,使得GATT配置文件具有由相应的句柄121标识的总共20个属性。在该示例中,句柄121是连续的(从N至N+19的数字);然而这不是严格必要的,GATT服务器中的句柄增加就足够了。
第一属性140是服务131的声明,并且实际上其类型122是SERVICE或UUID 0x2800,其由SIG分配给初级服务的声明。在本说明书和所附权利要求书中,前缀0x标识十六进制系统中的数字。其权限124与所有的声明属性一样是可读取的(R-Read),因为客户端应当能够读取由GATT服务器暴露的服务。其值为0x180F,该值由SIG分配给电池服务。
第二属性141是服务131的单个特性133的声明(图7中的113)(Battery Level)。实际上,其类型122是CHAR或UUID 0x2803,其由SIG分配给特性声明,并且其权限124是可读取的。其值123为“R|NOT│N+2|0x2A19”,这表明以下事实:其为可以通过GATT Client READ103或通过GATT Notification 107传送的特性(即,由服务器传输的特性,而不需要客户端询问也不需要接收确认),相关的句柄为N+2(即,包含该特性的有效值的第三属性142)并且该特性为Battery Level(电池电量),SIG已将UUID 0x2A19分配给该特性。
如所提及的,第三属性142是特性133Battery Level的值(图7中的114),其实际上由句柄N+2和类型0x2A19标识,这与属性141中的声明一致;其权限为因为如通过第二属性141声明的那样,其是可以通过GATT Client READ 103或通过GATT Notification107来传送的特性。其值是以百分比表示的数值,在图9中表示为变量“电池电量”,例如35%。
第四属性143是第一特性133Battery Level的描述符(图7中的115)。其类型122为CCCD或客户端特性配置描述符(Client Characteristic Configuration Descriptor)或UUID 0x2902,其由SIG分配给所述开关,该开关启用/禁用服务器发起的更新;其权限124为读取/写入(R/W),并且其值例如被设定为通知启用(Notification Enabled)或0x0001(由SIG分配的值)。因此,在该示例中,由于描述符143中的值Notification Enabled(通知启用),客户端在电池电量百分比值变化时接收通知(GATT Notification 107);如果客户端不关注于当电池电量百分比值变化时进行自动提醒,则客户端可以修改该值,将其变为NONE或0x0000。而且,在后一种情况下,客户端可以在任何情况下了解电池电量百分比值,以发送与特性133Battery Level相关的GATT Client READ 103。
转到私有服务加速/唤醒(Acceleration/Wake)132,其由第五属性144以类似于通过属性140限定服务SIG Battery的方式来限定,不同之处在于本文表示为Sacc(服务加速计)的值123用128位UUID表示。
第六属性145、第七属性146和第八属性147分别是第一特性134、加速X(Acceleration X)或沿X轴的加速的声明、值和描述符,并且经过必要的修正而类似于上文关于特性Battery Level描述的属性141-143,不同之处在于由于其不是SIG特性,所以在本文中表示为CaccX(特性加速计X,Characteristic Accelerometer X)的特性类型在声明145的字段值123和属性值146的字段类型122中都用128位UUID表示。而且,特性134Acceleration X是可以通过GATT Client READ 103或GATT Notification 107(声明145的字段值123中的“R|NOT”)进行传送的特性。在该示例中,客户端不关注其值(以G表示),因为描述符147的值123被设定为NONE或0x0000,其仍然是可修改的(字段124中的读取和写入或R/W权限),使得服务器在沿X轴的加速变化时不发出任何GATT Notification 107或任何GATT Indication108。
第九属性148和第十属性149分别是第二特性135Wake Threshold X(唤醒阈值X)或沿X轴的唤醒阈值的声明和值;第二特性135没有描述符。而且,在这种情况下,特性的类型(在本文中表示为CwakeX(特性唤醒X,Characteristic Wake X))在声明148的字段值123和值属性149的字段类型122中都用128位UUID表示。属性值149的字段值123包含变量或参数的当前值,其在本文中表示为Acc.X.Thr。特性135、Wake Threshold X是读取/写入特性,其是由客户端可修改的参数:声明148的字段值123包含“R|W”,并且值属性149的字段权限124包含R/W。因此,客户端102可以通过GATT Client READ 103请求服务器哪一个是变量或参数的当前值Acc.X Thr,和/或通过GATT Client WRITE 105改变这种值。
经过必要的修正,特性136、137和138、139分别对应于相对于笛卡尔轴y和z的特性134、135。
如图10所示,BLE数据包150的格式包括由BLE架构60的层控制器63使用的数据包报头,该报头特别地包括前导码(Preamble)151和访问地址(Access Adress)152;长度可变的名为信息统一体PDU(协议数据单元,Protocol Data Unit)153的部分;以及也由层控制器63使用的骑行冗余检查字符串或CRC 154。
PDU 153依次包括前导码155、156和消息完整性检查字符串MIC(消息完整性检查,Message Integrity Check)157,其由BLE架构60的来自主机层62的层级使用;以及操作代码Op 158和有效载荷159,其由BLE架构60的层应用61使用。
需注意,MIC字符串在广告数据包中不存在,该广告数据包在网络的建立期间交换并用于其管理,而在数据包的情况下存在,即,一旦网络已经建立并且服务器与客户端之间的BLE连接已经建立就进行交换;此外,值得一提的是,在网络架构60的主机层62中,BLE还提供安全管理协议(SMP,Security Manager Protocol),其应用安全算法以用于对数据包进行加密和解密。
然而,在网络架构的最下层级处的BLE中传递的数据包的格式以及广告数据包在本文公开的主题的背景中不是特别受关注。
有效载荷159是包含BLE属性120的有效载荷;操作代码Op 158尤其表明,其是否是操作GATT Client READ 103、Read-RESP 104、GATT Client Write 105、ACK-Write-REQ106、GATT Notification 107、GATT Indication 108或ACK-Indication 109。
因为每个BLE属性120与相应的BLE数据包150通信,所以可以理解,传统的BLE实施方式很适合简单的系统,其中,在BLE服务器101和客户端101之间待交换的数据相对较少,而其本身可能变成不适合通用的自行车电子系统10,为了描述该通用自行车电子系统,由每个BLE服务器101暴露的(SIG或私有)服务应当包含甚至非常大量的属性。已经从图9所示的和上文描述的简单示例中确实可以看出,仅对于由测量用曲柄臂可用的一些数据的通信,需要约20个属性;因此可以理解,例如,对于说明性自行车电子系统20,根据传统的BLE实施方式,需要数百个甚至数千个属性。
因为服务的初步交换(暴露)步骤(如所提及的,其在BLE网络的建立之后、在发现阶段(Discovery phase)中发生)需要越来越多的时间,这归因于必须由BLE服务器101传送的属性的数量增加,每个属性在其自身的数据包150中,所以可以理解,这样的发现阶段的持续时间可能过长。
而且,一旦发现阶段结束,根据传统的BLE实施方式的通过针对特性112的每个值属性114的数据包150进行的数据交换可能需要非常大量的数据包,并且因此,平均通信时间很长。
本文公开的用于自行车电子系统10的下层协议利用了这样的事实:BLE配置文件和服务可以被定制(私有服务),而不考虑在下层级(主机62和控制器63)处发生什么。
仅通过非限制性示例,但是为了更清晰地表述,特别参考说明性自行车系统20进行相关描述,该自行车系统可以在图11中识别。
自行车电子系统10的至少两个部件11、说明性系统20中的所有部件21-29设有至少一个相应的“BLE模块”,在下文中,如果其发挥BLE中心设备、客户端的作用,则被标识为40,而如果其发挥BLE外围设备、服务器的作用,则被标识为300。
自行车系统10的至少一个部件11(在系统20的情况下为后拨链器组件21的拨链器21-1)相对于骑行网络30发挥BLE中心设备、客户端40的作用,并且至少一个其它部件11(在说明性系统20的情况下为所有其余部件22-28)在该骑行网络30中发挥BLE外围设备、服务器300的作用。
如果提供了交互网络31,至少一个骑行专用电子设备(在系统20的情况下再次为后拨链器组件21的拨链器21-1)相对于交互网络31发挥BLE外围设备、服务器300的作用,并且至少一个通用电子设备(在示例性系统20的情况下为智能手机29)发挥BLE中心设备、客户端40的作用。可替代地,至少一个骑行专用电子设备可以相对于交互网络31发挥BLE中心设备、客户端40的作用,并且至少一个通用电子设备可以发挥BLE外围设备、服务器300的作用。
在说明性系统20的情况下,后拨链器组件21的拨链器21-1因此发挥双重作用,并且在图11中,其被示出为设有两个不同的BLE模块40、300以说明这一点;然而,本领域的技术人员将理解,双重作用可以由具有双重功能的单个BLE模块发挥。此外,两个网络30、31中的同一部件的作用不一定是不同的,其可以是两者中的BLE服务器或两者中的BLE客户端。
选择后拨链器组件21的拨链器21-1来发挥骑行网络30中的BLE中心设备、客户端和相对于交互网络31的BLE外围设备、服务器的双重作用是优选的,因为后拨链器组件21设有最大容量电池21-2,但其它选择也是可能的。
此外,严格来说,骑行网络30的BLE中心设备不一定是在交互网络31中连接的同一部件;在任何情况下,为了表述的简单性,为了简洁起见,下文将专门参考该配置。
参考可穿戴控制设备28(在其它设备中,为了清楚起见,省略了一些细节和/或附图标记),发挥BLE服务器作用的每个部件21-28的GATT服务器300包括GATT私有服务301并在网络中暴露GATT私有服务301,在本文中称为“Serial(串行)”。GATT服务Serial 301就足够了,但GATT服务器300也可以暴露其它服务。在所示情况下,服务Serial 301包括两个特性,即特性A 302和特性B 303。
为了完整性,在图11中还示意性地示出了在说明性系统20的每个部件11中的实现上文提及的上层协议或相应部分(指令和数据库的部分)的模块270以及实现该部件的上文提及的特定程序的模块280。而且,这些模块仅对可穿戴控制设备28进行编号,并且同样为了更清晰起见,未示出各个模块270、280和40或300之间的逻辑链路。自行车电子系统10的一些部件11可能没有特定程序280。
GATT服务Serial 301在图12中以类似于上文描述的图9的方式示意性地表示。
特性A 302具有描述符,而特性B没有描述符,使得GATT服务Serial 301仅由六个属性310-315限定,该六个属性由相应的句柄121标识。在图11中,句柄121是连续的(从M至M+5的数字);然而,这并不是严格必要的,只要其增加就足够了。
第一属性310是服务301的声明,并且实际上其类型122为SERVICE或UUID 0x2800,如上文可见,其由SIG分配给初级服务的声明。由于这是私有服务,所以其值123(Serial)由128位UUID表示。如上文所讨论的,其权限124是像所有的声明属性一样。
第二属性311是第一特性302或特性A(Characteristic A)302的声明。实际上,其类型122为CHAR或UUID 0x2803(由SIG分配给特性的声明,如上文所提及的),并且其权限124是可读取的。其值123是“IND|NOT│N+2|CarA”,其中,CarA由128位UUID表示,表明其是可以通过GATT Indication 108或通过GATT Notification 107传送的特性,即,由GATT服务器101传输而不需要GATT客户端102询问的特性,其分别具有或不具有接收Ack-Indication109的确认。此外,上文指示的值123指示了特性A 302的句柄,即,第三属性312的句柄M+2。
如所提及的,第三属性312是实际上由句柄M+2和类型CarA标识的特性A 302的值,如上所述由128位UUID表示。其权限124是NONE,因为该特性既不能读取也不能写入。其值123是一串位,如下文更好地讨论的,其对应于由上层协议形成的且在图5中示出的有效载荷250。
第四属性313是特性A 302的描述符。其类型122为CCCD或客户特性配置描述符(Client Characteristic Configuration Descriptor)或UUID 0x2902,如上文参考图9的属性144所讨论的,其由SIG分配到启用/禁用由GATT服务器101发起的更新的开关;其权限124是读取/写入(R/W),并且其值123例如被设定为指示|通知启用(Indication|Notification Enabled)或0x0003(由SIG分配的值)。
因此,在该示例中,当GATT服务器101期望自发地发送形成在上层协议中的有效载荷250时,客户端在GATT服务器的判断力下接收GATT Notification 107或GATTIndication 108。
此外,在所示的情况下,GATT客户端102可以修改第四属性313的值123,因为权限124是R/W,例如将其改为通知启用(Notification Enabled)(0x0001)以仅接收GATTNotification 107,改为指示启用(Indication Enabled)(0x0002)以仅接收GATTIndication 108,或者如果期望避免GATT服务器101可以自发地传输有效载荷250,则为NONE或0x0000。
转到特性303或特性B 303,第五属性314是其声明,其类型122为CHAR或UUID0x2803,并且权限124为第五属性314的值123为“W│M+5│CarB”,其中CarB由128位UUID表示,表明其是可以通过GATT Client WRITE 105传送的特性,即,可以由GATT客户端102在GATT服务器101上修改的属性。在GATT服务器的判断力下,客户端可以从服务器101接收发生了改变的确认(ACK-Write-REQ 106)。此外,上文指示的值123指示了特性B 303的句柄,即,第六属性315的句柄M+5。
如所提及的,第六属性315是实际上由句柄M+5和类型CarB来标识的特性B 303的值,如所述由128位UUID来表示。其权限124是写入(W),因为特性303经受写入(如声明它的属性314的字段值123所表示的)。其值123是一串位,如下文更好地讨论的,其对应于由上层协议形成且在图5中示出的有效载荷250。
仅通过示例,没有指示第二特性303的描述符属性,但反之,其可能存在。
因此,当GATT客户端102期望向GATT服务器101发送形成在上层协议中的有效载荷250时,适于使用第二特性303。
应当注意,总体上,服务Serial 301可以仅包括特性302、303中的一个。例如,发挥GATT服务器101的作用但不需要根据上层协议形成任何有效载荷250的自行车电子系统10的部件11不需要可以通过GATT Indication 107或GATT Notification 108传送的特性,诸如特性A 302。这不一定意味着这样的部件11不能传输任何事项,因为其GATT配置文件110可能包括一个或多个其它服务,该一个或多个其它服务包含可以通过GATT Indication107或GATT Notification 108传送的一个或多个特性,但其遵循传统BLE实施方式。
反之,发挥GATT服务器101的作用但不需要接收任何(由另一部件11根据上层协议形成的)有效载荷250的自行车电子系统10的部件11不需要可以通过GATT Client WRITE105传送的特性,诸如特性B 303。这不一定意味着这样的部件11不能接收任何事项,因为其GATT配置文件110可能包括一个或多个其它服务,该其它服务包含可以通过GATT ClientWRITE 105传送的一个或多个特性,但其遵循传统BLE实施方式。
甚至更一般地,服务Serial 301可以包括可以通过GATT Indication107或GATTNotification 108或GATT Client WRITE 105传送的特性,并且因此适用于GATT服务器101与GATT客户端102之间的双向通信。然而,下文将仅通过非限制性示例的方式参考图12的特定服务Serial 301。
如上文所讨论的,特性A 302和特性B 303的值属性312、315的字段值123对应于图5所示的有效载荷250。从相反的角度来看,在本文描述的下层协议中,特性BLE 302、303用于通信上文描述的上层协议的有效载荷250。
值得强调的是,字段值123仅对应于形成在上层协议中的有效载荷,其还能够包括如上文描述的与整个有效载荷250的加密相关的字段,附加或替代关于单个基本有效载荷260的加密信息;换句话说,字段值123不包括由通信协议形成的真实的数据包,相反其还将具有传输开销,即,寻址字段、传输控制字段等(参考BLE数据包150的字段151-156和非BLE数据包290的字段292)。因此,字段值123没有传输开销,即,其没有足以直接作为数据包传输的信息。
如果有效载荷250必须由BLE服务器101传输到BLE客户端102,则这种有效载荷250形成特性A 302的值123,并且如果接收BLE客户端102已经启用对这种特性的通知/指示的接收,则其被接收。说明性和非限制性的情况是有效载荷250,其必须由说明性自行车电子系统20的骑行网络30的部件22-28之一传输到后拨链器组件21。另一说明性和非限制性的情况是有效载荷250,其必须从后拨链器组件21传输到说明性系统20的交互网络31的智能手机29。
如果有效载荷250必须从BLE客户端102传输到BLE服务器101,则这种有效载荷250形成特性B 303的值123。说明性和非限制性的情况是有效载荷250,其必须从后拨链器组件21传输到说明性系统20的骑行网络30的部件22-28之一。另一说明性和非限制性的情况是有效载荷250,其必须从智能手机29传输到说明性系统20的交互网络31的后拨链器组件21。
自行车电子系统10的部件11可以基于每个特定的有效载荷250的内容而例如提供给以下操作中的一个或多个:
d1)形成有效载荷250,其包含具有数据结构200的其可归属信息片段210中的一个或多个信息片断,这归因于存储在字段Data 221中的相应的值因外部事件而改变或被部件本身的特定程序280明确改变、或因为规定定期传输或出于其它原因;在多个可归属信息片段210的情况下,每个可归属信息片段将形成相应的基本有效载荷260的字段InfoTag 262;需注意,每个或单个基本有效载荷260的字段261将包含指令Notification;并将其作为服务301的特性的值123来传输,使得有效载荷250将作为BLE数据包150的PDU 153的有效载荷159来传输;
d2)形成具有至少一个基本有效载荷260的有效载荷250,其在字段261中包含除Notification之外的指令并且在字段InfoTag 262中包含另一部件11的具有数据结构200的可归属信息片段210之一,其可能是上文描述的辅助信息片段之一(例如,包含指令WriteProperty和待覆写的可归属信息片段X的基本有效载荷260;包含指令Reset to FactorySettings和辅助可归属信息片段的基本有效载荷260,其例如仅包含在Tag 224中编码的指令的收信人部件的标识符;包含指令Set RTC和辅助可归属信息片段的基本有效载荷260,其例如包含在Tag224中编码的指令的收信人部件的标识符和字段Data 221中的时间等);并将其作为服务301的特性的值123来传输,使得有效载荷250将作为BLE数据包150的PDU153的有效载荷159来传输;
d3)形成具有如情况d1中描述的至少一个基本有效载荷260和如情况d2中描述的至少一个基本有效载荷260的有效载荷250;并将其作为服务301的特性的值123来传输,使得有效载荷250将作为BLE数据包150的PDU 153的有效载荷159来传输;
d4)接收BLE数据包150,其在有效载荷159中包含服务301的特性,其值123包括包含一个或多个基本有效载荷260的有效载荷250,其字段261包括指令标识符Notification,并且其字段InfoTag 262包含另一部件11的可归属信息片段210之一;并且记录这种可归属信息片段210的值221,由此处理基本有效载荷260;
d5)接收BLE数据包150,其在有效载荷159中包含服务301的特性,其值123包括包含一个或多个基本有效载荷260的有效载荷250,其字段261包括除Notification之外的指令标识符,并且其字段InfoTag262包含部件本身(或所述Tag 224All)的可归属信息片段210之一;并且执行由字段261的标识符标识的指令,由此处理基本有效载荷260;需注意,在指令的执行中,部件11可以形成另一或其它基本有效载荷260或者另一或其它数据包250,其如上文的情况d1-d3中所阐述那样进行传输;此外,需注意,指令的执行可以涉及或不涉及本文考虑的部件11的特定程序280;
d6)接收BLE数据包150,其在有效载荷159中包含服务301的特性,其值123包括包含一个或多个基本有效载荷260的有效载荷250,其字段261包括除Notification之外的指令标识符,并且其字段InfoTag262包含自行车电子系统10的另一部件11的可归属信息片段210之一;并且将所述一个或多个基本有效载荷260作为服务301的特性的值123来传输,使得有效载荷250将作为BLE数据包150的PDU 153的有效载荷159传输到所述另一部件11或传输到第三部件11,以用于转发到所述另一部件11;
d7)接收BLE数据包150,其在有效载荷159中包含服务301的特性,其值123包括包含多个基本有效载荷260的有效载荷250;将基本有效载荷260细分为两个或更多个第二有效载荷250;并将每个第二有效载荷250作为服务301的特性的值123来传输,使得每个第二有效载荷250将作为相应的第二BLE数据包150的PDU 153的有效载荷159来传输;
d8)接收BLE数据包150,其在有效载荷159中包含服务301的特性,其值123包括包含多个基本有效载荷260的有效载荷250;可能地将基本有效载荷260细分为两个或更多个第二有效载荷250;等待接收至少一个第二BLE数据包150和/或形成一个或多个基本有效载荷260;将所考虑的BLE数据包150的一个或多个基本有效载荷260与所述至少一个第二BLE数据包150的一个或多个基本有效载荷260和/或与一个或多个所形成的基本有效载荷260组合成至少一个第三有效载荷250;并且将第三有效载荷250作为服务301的特性的值123来传输,使得每个第三有效载荷250将作为相应的第三BLE数据包150的PDU 153的有效载荷159来传输;
d9)接收BLE数据包150,其在有效载荷159中包含服务301的特性,其值123包括包含多个基本有效载荷260的有效载荷250;执行针对自身寻址的任何基本有效载荷260的指令;并且以上文在情况d4-d8中描述的一种或多种方式继续处理其余基本有效载荷260;
d10)上述操作的组合。
可以理解,在情况d7、d8中,基本有效载荷260基于由字段Tag224标识的收信人部件和/或基于该收信人部件是否与所考虑的部件11直接连接而被组合或聚集在部件传输的有效载荷中。
需注意,用于有效载荷250的每个基本有效载荷260的可归属信息片段210是从由部件11连续传输的有效载荷250的每个基本有效载荷260的可归属信息片段210中独立选择的。
需注意,如果部件11既是骑行网络30的一部分,又是交互网络31的一部分,或者在任何情况下是两个不同的BLE网络的一部分,则在d4至d10的情况下,其可以在网络中接收BLE数据包并在另一网络中传输BLE数据包。在这种情况下,该部件可以发挥“传送器(router)”的作用。
值得强调的是,总体上,有效载荷或基本有效载荷可以在特性A302上或在特性B302上传输,而不依赖于其已经接收的特性;或者其可以在可以作为上文描述的GATTClient WRITE、GATT Notification或GATT Indication传送的单个特性上接收和/或传输。
此外,将理解,部件可以管理传输队列和/或可以管理传输优先级。
本领域的技术人员将理解,如果没有规定有效载荷250能够包含多个基本有效载荷260,则上述操作被简化。
无论在无线网络中是BLE客户端101(说明性系统20中没有部件)、BLE服务器101(作为说明性系统20的前拨链器22-1)还是BLE客户端-服务器(作为说明性系统20的后拨链器21-1),作为无线网络和有线网络的一部分的自行车系统10的部件11都可以执行类似于上文列出的功能d1-d9的功能,不同之处在于,为了传输有效载荷250,其仅在相应的无线连接上使用BLE架构60(并且特别是特性A 302和/或特性B 303)以及BLE数据包150(特别是PDU 153的相关有效载荷159),而在相应的有线连接(特别是分别与智能电池21-1或智能电池22-2)上,其根据适当的协议将有效载荷250作为数据包290的有效载荷291传输,该数据包具有其本身的开销292。
再次强调,作为特性A 302和/或特性B 303的值传输的不是可以直接在有线链路上传输的整个数据包290(例如利用串行通信协议),相反仅包含由上层协议形成的有效载荷250,作为数据包290的有效载荷291传输。
根据前文的描述,本领域的技术人员将理解,为了创建具有任何物理拓扑和/或任何逻辑拓扑的网络(例如也使用允许例如创建Mesh网络的网络架构的其它角色和/或其它通信协议)要做出哪些改变。
示例
在不减损一般性的情况下并且仅为了更清晰地表述的目的,下文参考说明性系统20简要地描述根据上文描述的通信上层协议和下层协议的通信的一些简单示例。为了简洁起见,将使用简化的术语,在任何情况下,根据前文的描述而认为这些术语都是清楚的。
在附图中示意的数据流中,仅示出了说明性系统20中的涉及至少一个示例的数据通信的部件21-24、29,另一方面省略了测量用曲柄臂25、26和可穿戴控制设备27、28。
在实施例中,假定说明性系统的所有部件20已经执行了发现阶段,并且因此知晓作为BLE服务器101(21-1、22-1、23、24)的各个部件的服务器服务301(都彼此相等);此外,为了简洁起见,假定说明性系统的所有部件20在存储器中存储每个示例所涉及的可归属信息片段210。
示例1
在图13中示出了在说明性系统20中交换的数据流,以便由智能手机29致动前拨链器组件22的智能电池22-2的电压的显式读取请求,例如为了在其自身的显示器上向用户显示。
智能手机29形成具有指令标识符(字段261)读取属性(Read Property)和对应于智能电池22-2的具有数据结构200的可归属信息片段210(在本文中称为电池电压,BatteryVoltage)的InfoTag 262的单个基本有效载荷260。特别地,Tag 224标识可归属信息片段210,字段Len 222具有空值,并且字段Data 221不存在。
智能手机29形成第一BLE数据包150a,其在有效载荷159中具有特性B 303,其值123对应于包含所述单个基本有效载荷260的有效载荷250a。
第一BLE数据包150a从智能手机29(BLE客户端)传输到交互网络31中的后拨链器组件21(BLE服务器)的拨链器21-1(通过GATT Client WRITE 105)。
在其接收之后,后拨链器21-1(识别出其不是基于Tag 224的指令Read Property的收信人)形成在有效载荷159中具有特性B 303的第二BLE数据包150b,其值123再次对应于相同的有效载荷250a,并且在骑行网络30(其为BLE客户端)上将其朝向前拨链器组件22(BLE服务器)并且特别是向前拨链器22-1传输。
在其接收之后,前拨链器22-1通过有线网络的架构50的下层级52-54中的合适的传输协议(例如串行传输协议)将从第二BLE数据包150b中提取的有效载荷250a在其有线链路(电触点)上传输到其智能电池22-2,作为添加有开销292的数据包290的有效载荷291。
在其接收之后,智能电池22-2形成具有单个基本有效载荷260的第二有效载荷250b,其具有指令标识符Notification(字段261)和对应于相同的可归属信息片段210Battery Voltage(即,具有相同的Tag224)的InfoTag 262,但在字段Data 221中具有电池电压的当前值。
智能电池22-2在其有线链路(电触点)上将第二有效载荷250b传输到前拨链器22-1,作为具有开销292的数据包290的有效载荷291。
在其接收之后,前拨链器22-1形成在有效载荷159中具有特性A302的第三BLE数据包150c,其值123对应于所接收的有效载荷250b、291,但不包括开销292,并且作为BLE服务器将第三BLE数据包150c传输到后拨链器组件21(BLE客户端),特别是传输到其拨链器21-1(通过GATT Notification 107或GATT Indication 108)。
在其接收之后,后拨链器21-1作为BLE服务器形成在有效载荷159中具有特性A302的第四BLE数据包150d(其值123对应于相同的所接收的有效载荷250b),并在交互网络31上将其传输到智能手机29(BLE客户端)。
示例2
在图14中示出了在说明性系统20中交换的数据流,以便由智能手机29例如基于由用户通过其触摸屏插入的值在左控制设备24上致动延迟时间阈值的值的写入(修改)。
智能手机29形成具有单个基本有效载荷260的有效载荷250a,其包括指令标识符Write Property(字段261)和对应于左控制设备24(指令的收信人部件)的具有数据结构200的可归属信息片段210的InfoTag262,在本文中称为Delay Threshold(延迟阈值)。特别地,Tag 224标识可归属信息片段210,并且字段Data 221包含待分配给延迟时间阈值的值。智能手机29形成具有特性B 303的第一BLE数据包150a,其值123对应于有效载荷250a。
BLE数据包150a在交互网络31中从智能手机29(BLE客户端)传输到后拨链器组件21的拨链器21-1(BLE服务器)。
在其接收之后,后拨链器21-1(识别出其不是指令的收信人)形成具有特性B 303的第二BLE数据包150b(其值123再次对应于相同的有效载荷250a),并在骑行网络30(BLE客户端)上将其传输到左控制设备24(BLE服务器)。
在其接收之后,左控制设备24在修改了其自身的Delay Threshold且因此执行了指令之后形成第二有效载荷250b,其具有单个基本有效载荷260、具有指令标识符Notification(字段261)和对应于相同的可归属信息片段210Delay Threshold的InfoTag262,即,具有相同的Tag224,在此情况下是发信人部件的标识符,并且在字段Data 221中具有延迟阈值的当前值。
左控制设备24形成具有特性A 302的第三BLE数据包150c,其值123对应于有效载荷250b,并且作为BLE服务器将第三BLE数据包150c传输到后拨链器组件21(BLE客户端)。
在其接收之后,后拨链器组件21(特别地,其拨链器21-1)作为BLE服务器形成具有特性A 302的第四BLE数据包150d(其值123对应于相同的所接收的有效载荷250b),并在交互网络31上将其传输到智能手机29(BLE客户端)。
可替代地,第二有效载荷250b可以包含例如字段261中的指令WriteConfirmation(写入确认)和空InfoTag 262,或仅承载可归属信息片段210DelayThreshold的Tag 224。仍可替代地,左控制设备24可以不形成任何有效载荷250b,仅执行指令而不进行答复。
示例3
在图15中示出了在说明性系统20中交换的数据流,以便致动前拨链器组件22的智能电池22-2的充电水平到智能手机29的自发传输(通知),例如以便在其自身显示器上将其显示给用户,例如因为其已经改变或为了定期更新显示的数据等。
智能电池22-2形成具有单个基本有效载荷260的有效载荷250a,其具有指令标识符Notification(字段261)和对应于其可归属信息片段210Charge Level的InfoTag 262,在字段Data 221中具有电池充电水平的当前值。
智能电池22-2在其有线链路(电触点)上将有效载荷250a传输到前拨链器22-1,作为具有其自身开销292的数据包290的有效载荷291。
在其接收之后,前拨链器22-1形成具有特性A 302的BLE数据包150a,其值123不对应于整个所接收的数据包290,而是仅对应于所接收的有效载荷250a,并且作为BLE服务器将BLE数据包150a传输到后拨链器组件21(BLE客户端),特别地传输到其拨链器21-1。
在其接收之后,后拨链器21-1作为BLE服务器形成具有特性A302的第二BLE数据包150b(其值123对应于相同的所接收的有效载荷250a),并在交互网络31上将其传输到智能手机29(BLE客户端)。
示例4
在图16中示出了在说明性系统20中交换的数据流,以便致动通过左手动控制设备24输入的前拨链器组件22的换挡命令。
左手动控制设备24例如在其用于升挡命令的操纵杆的位移时形成具有单个基本有效载荷260的有效载荷250a,其包括指令标识符(字段261)Notification和对应于具有数据结构200的其可归属信息片段210Lever Event(操纵杆事件)的InfoTag 262,其值(字段Data 221)标识特定操纵杆。
左手动控制设备24作为BLE服务器形成具有特性A 302的第一BLE数据包150a(其值113对应于有效载荷250a),并将其传输到后拨链器组件21(BLE客户端),特别地传输到其拨链器21-1。
在其接收之后,后拨链器21-1可选地作为BLE服务器形成具有特性A 302的第二BLE数据包150b(其值123对应于相同的所接收的有效载荷250a),并在交互网络31上将其传输到智能手机29(BLE客户端),例如为了数据收集(数据记录器)的目的。
后拨链器21-1形成具有单个基本有效载荷260的第二有效载荷250b,其具有指令标识符Shift Up(字段261)和对应于前拨链器22的具有数据结构200的可归属信息片段210的InfoTag 262,例如,其中,Tag 224标识前拨链器22,并且字段Data 221为空。
后拨链器21-1形成具有特性B 303的第三BLE数据包150c(其值123对应于第二有效载荷250b),并在骑行网络30上作为BLE客户端将其传输到前拨链器组件22(BLE服务器)。
在其接收之后,前拨链器组件21致动换挡,并形成第三有效载荷250c,该第三有效载荷包含三个基本有效载荷260:
-一个基本有效载荷260包含指令标识符Notification(字段261)、对应于其可归属信息片段210齿轮的索引(Index of toothed wheel)的InfoTag 262,以及标识前拨链器22所啮合的特定齿轮的值(字段Data221),
-一个基本有效载荷260包含指令标识符Notification(字段261)、对应于其归属信息片段210换挡计数器(Gearshift counter)的InfoTag 262,以及等于有效换挡次数的值(字段Data 221),例如从出厂开始的,
-一个基本有效载荷260包含指令标识符Notification(字段261)、对应于其可归属信息片段210电机位置(Motor position)的InfoTag 262,以及等于电机的实际位置的值(字段Data 221),例如,以任意单位表示,
其中,这三个InfoTag具有数据结构200。
前拨链器组件22作为BLE服务器形成具有特性A 302的第四BLE数据包150d(其值123对应于有效载荷250c),并作为BLE服务器将第四BLE数据包150d传输到后拨链器组件21(BLE客户端),特别是传输到其拨链器21-1。
在其接收之后,后拨链器21-1作为BLE服务器形成具有特性A302的第五BLE数据包150e(其值123对应于相同的所接收的有效载荷250c),并在交互网络31上将其传输到智能手机29(BLE客户端),例如再次用于数据记录的目的。
需注意,可替代地,左手动控制设备24可以直接生成具有指令标识符Shift Up(字段261)和对应于前拨链器22的可归属信息片段210的InfoTag 262的有效载荷,后拨链器22-1(识别出其不是指令的收信人)仅转发到前拨链器22。因此,在这种情况下,有效载荷250a由后拨链器22-1始终以其BLE客户端102的角色接收和转发,改变所使用的特性(从特性A到特性B)。
示例5
在图17中示出了在说明性系统20中交换的数据流,该数据流强调了基本有效载荷260可以如何由部件11(特别是后拨链器21-1)组合,例如为了管理传输优先权和/或队列的目的。
后拨链器21-1作为交互网络31上的BLE服务器接收由智能手机29(BLE客户端)形成和传输的第一BLE数据包150a。第一BLE数据包150a在其有效载荷159中包含特性B 303,其值123对应于具有第一基本有效载荷260a的第一有效载荷250a。
第一基本有效载荷260a包含前拨链器的指令Read(字段261)软件版本(InfoTag262)。
后拨链器21-1认为该请求不具有优先级,并且不立即作出反应。
然后,后拨链器21-1作为骑行网络30上的BLE客户端接收由左手动控制设备24(BLE服务器)形成和传输的第二BLE数据包150b。第二BLE数据包150b在其有效载荷159中包含特性A 302,其值123对应于具有第二基本有效载荷260b的第二有效载荷250b,该第二基本有效载荷包含指令Lever Event和字段Data 221中的特定操纵杆的标识(参考示例4的BLE数据包150a)。
后拨链器21-1形成具有两个基本有效载荷的第三有效载荷250c:与前拨链器22的指令Shift Up相关的从智能手机29接收的基本有效载荷260a和由其自身形成的基本有效载荷260c(参考示例4的BLE数据包150c)。
后拨链器21-1形成具有特性B 303的第三BLE数据包150c(其值123对应于第三有效载荷250c),并作为BLE客户端在骑行网络30上将其朝向前拨链器组件22(BLE服务器)传输。
示例6
在图18中示出了在说明性系统20中交换的数据流,该数据流强调了基本有效载荷260可以如何由部件11(特别是后拨链器21-1)进行分类。
后拨链器21-1作为交互网络31上的BLE服务器接收由智能手机29(BLE客户端)形成和传输的第一BLE数据包150a。第一BLE数据包150a在其有效载荷159中包含特性B 303,其值123对应于具有两个基本有效载荷260a、260b的第一有效载荷250a。
第一基本有效载荷260a包含与左控制设备24的Delay Threshold相关的指令Write Property(字段261)(参考示例2的第一有效载荷250a)。
第二基本有效载荷260b类似地包含与右控制设备23的Delay Threshold相关的指令Write Property(字段261)。
后拨链器21-1形成仅具有基本有效载荷260a的第二有效载荷250b;形成具有特性B 303的第二BLE数据包150b(其值123对应于第二有效载荷250b),并作为BLE客户端在骑行网络30上将其朝向左控制设备24(BLE服务器)传输。
后拨链器21-1形成仅具有基本有效载荷260b的第三有效载荷250c;形成具有特性B 303的第三BLE数据包150c(其值123对应于第三有效载荷250c),并作为BLE客户端在骑行网络30上将其朝向右控制设备23(BLE服务器)传输。
最终评论
自行车电子系统可以包括比所示更少的部件,并且在足以实施本文公开的至少一些通信方法或协议的最小配置中,其可以包括两个部件11。仅通过示例,提及了自行车电子系统,其仅包括拨链器或其它可控设备和用于控制其的手动控制设备;或者包括拨链器和体现为配置成自动控制拨链器的控制器或处理器的部件,例如基于由其一个或多个检测器设备检测的一个或多个量,例如基于所检测的速度;等。
根据前文的描述,本领域技术人员将理解,为了创建具有任何物理拓扑和/或任何逻辑拓扑的网络(例如也使用允许例如创建Mesh网络的网络架构的其它作用)要做出哪些改变。
本领域的技术人员将理解,上文描述的通信方法或协议的一些方面允许获得显著的优势,正如相关联的自行车系统和部件、计算机程序和可读装置一样。所述方面(即使它们已经在更具体的上下文中被描述)也在更一般的上下文中且独立于在其被公开的上下文中提供的任何其它细节而应当被认为本身是新的和创造性的。
也独立于在其被公开的上下文中提供的任何其它细节而创新的方面的示例涉及以下事实:由于作为BLE服务的特性的值而将多个基本有效载荷组合在一起的可能性,每个基本有效载荷包含可归属于一个或多个部件的信息片段,并且因此包含一个或多个部件的可归属信息片段,所以相对于根据BLE标准的传统实施方式能够明显减少发现时间(Discovery time)和/或网络流量,特别是在需要传输的高数据量的情况下也是如此。
这可能需要减少通信延迟时间和/或对数据交换请求的响应时间,其可能包括用于执行手动或自动命令的请求,该手动或自动命令确定自行车部件(如拨链器组件21、22)的功能,这从安全角度来看也是非常重要的。
这独立于例如上文参考图4至图5描述的基本有效载荷260的特定格式、其每个字段的特定格式以及在用于其传输的网络架构50、60的下层52-54、62-63中使用的特定协议。
为了也在量方面理解可能获得的优势,仅通过非限制性示例考虑,对应于说明性系统20的自行车电子系统10的配置可以用总数为几百甚至几千的可归属信息片段进行建模,从而达到至少在实践中利用基于BLE架构的传统实施方式无法达到的详细程度。
与对应于说明性系统20的自行车电子系统10的配置相关的实验测试(其中,上层协议(基本有效载荷260)和下层协议(图12的服务Serial 301)都被实施,具有一百个可归属信息片段)允许检测到发现阶段的持续时间减少至少两个数量级,该减少随着可归属信息片段的增加而以基本线性的方式提高,相对于基于BLE架构的传统实施方式中的几秒钟,降至几十毫秒(并因此使用具有专用于每个系统部件的每个特定信息片段的BLE特性的BLE服务)。
而且,如果需要标识各种系统部件的全部可归属信息片段的步骤,上文提及的组合能力允许获得一定的时间节省。
也是独立于在其被公开的上下文中提供的任何其它细节而创新的方面的另一示例涉及以下事实:通过BLE网络架构的GATT服务器的服务的特性,作为该特性的值(123)发送有效载荷,其包括:可归属信息片段的唯一标识符,其可以凭借其单义性追溯到发信人部件或收信人部件;以及指令的标识符,其能够由作为该指令的收信人的部件执行。
以这种方式,能够利用BLE技术通信甚至非常大量的指令和/或甚至非常大量的数据,但不需要限定具有非常大量特性的GATT服务。
此外,可以使指令在不直接连接的两个系统部件之间容易地传播。
在用于执行指令的第一种情况下以及在用于将有效载荷转发到收信人部件或收信人部件直接或间接连接到的不同部件的第二种情况下,接收部件基于指令和/或可归属信息片段的标识符来区分有效载荷是否被寻址。
此外,类似于上文所描述的,能够减少发现阶段的延迟时间。
对于在网络流量方面可能实现的优势的定量指示,参考了上文已经强调的内容。
也是独立于在其已公开的上下文中提供的任何其它细节而创新的方面的另一示例涉及以下事实:如上文所强调的,在BLE数据包中传输的BLE特性用于仅传输形成在上层协议中的有效载荷250,而不是真实的数据包(真实的数据包相反还具有传输开销,即,寻址字段、传输控制字段等),从而节省BLE网络中的流量。
以这种方式,有效载荷250也可以在同一网络的多个链路上或在不同网络的链路上、在多个部件之间不变地传播。
特别地,有效载荷250可以在作为BLE特性的值的BLE数据包与除BLE之外的通信协议的数据包之间不变地传递。
这不同于其中使用两个BLE特性(特别是GATT Notification和GATT ClientWRITE)的实施方式,以便根据串行协议创建两个通信信道,在该通信信道上传输串行协议的恰好所有流量,即,整个数据包。
特别地,在本文公开的上层协议与下层协议之间的交互模式中,不存在信息的重复,因为没有必要相对于BLE提供的开销而增加任何开销。
类似地,有效载荷250可以在同一BLE网络中或在两个不同的BLE网络中,在作为BLE特性的值的第一BLE数据包与作为第二BLE特性的值的第二BLE数据包之间不变地传递。
需注意,同样由于形成在上层协议中的所述有效载荷250包括在自行车电子系统10中是唯一的标识符(Tag 224)这一事实,因此该有效载荷不需要被绑定到特定的发信人字段或特定的收信人字段。
也是独立于在其被公开的上下文中提供的任何其它细节而创新的方面的另一示例涉及以下事实:自行车电子系统的特定部件(在说明性系统20中为智能电池21-2、22-2)的可归属信息片段在BLE网络中通过不同的部件(在说明性系统20中为拨链器21-1、22-1)进行通信,相反,所述特定部件与之具有非BLE连接。
在传统BLE系统建模中,每个部件被连接在BLE网络中,并以其自身的一组特性进行建模。需注意,本文考虑了能够通信的部件,因此这不是在能够通信的部件中建模不能通信的部件的问题。
该规定允许减少网络链路的数量,因为所述特定部件也可以仅连接到所述不同部件,将与系统的其余部分的通信委托给所述不同部件。
所述不同部件可能还在BLE网络中通信其自身的可归属信息片段。
也是独立于在其被公开的上下文中提供的任何其它细节而创新的方面的另一示例涉及以下事实:作为服务301的特性的有效载荷被传送的可归属信息片段包括字段值221,其中,每个位或位组指示相应的基本信息片段,可归属信息片段的基本信息片段是对自行车电子系统中联合通信的候选地址。
例如,数据类型“设备状态”可以收集部件的一些基本信息,例如各种类型的一个或多个错误的存在、电池正在充电的状态、正在建立网络的状态,当其值的一个或多个预设位被设定为预设布尔值(例如设定为1)时可能例如与少量模式中的活动模式有关。
通过以这种方式在自行车电子系统的建模中提供“类似容器”的方法,尤其能够辅助编程,以减少与可归属信息片段相关的唯一标识符的总数,这可能缩短相关的位串并由此减少网络流量。
还观察到,当该规定与上文描述的将上层协议的多个基本有效载荷组合到下层协议中的可能性一起使用时,人们得到了可归属信息片段的分层级两级结构,这进一步减少网络流量。
也是独立于在其被公开的上下文中提供的任何其它细节而创新的方面的另一示例涉及通过对系统部件的/系统部件的多个可归属信息片段而对自行车电子系统进行建模,这些系统部件在整个系统中被唯一地标识,并且通过BLE网络架构的GATT服务器的GATT服务的特性来通信包括部件的可归属信息片段的标识符的有效载荷(250)。
这不同于根据BLE的传统实施方式,其中相反,类似特性具有相同的标识符,例如,所有电池电压由同一个标识符(例如,由SIG限定的16位UUID)标识并且仅在其在特定BLE数据包中在两个特定部件之间传送时被区分,其中开销152存在收信人部件的地址。另一方面,通过使用本文公开的唯一标识符,有效载荷也可以在同一BLE网络的多个链路上或在不同BLE网络的链路上、在多个部件之间不变地传播。
部件的可归属信息片段的标识符可以与有效载荷中的相关指令一起传送。
有效载荷可以在ISO/OSI模型50的应用层级51或网络架构的最上层级(特别是BLE网络架构60或BLE标准的应用层级61)的下子层级51-1、61-1中传送,并且形成在ISO/OSI模型50的应用层级51或网络架构的最上层级(特别是高于所述下子层级的BLE标准60的应用层级61)中的子层级51-2、61-2中。
ISO/OSI模型50的所述应用层级51或网络架构的最上层级(特别是BLE标准60的应用层级61)可以包括高于形成有效载荷250的子层级51-2、61-2的最上子层级51-3、61-3。
在最上子层级51-3、61-3中可以提供应用程序,其利用上文描述的上层协议和下层协议。
也是独立于在其被公开的上下文中提供的任何其它细节而创新的方面的另一示例涉及以下事实:在自行车电子系统中,其中每个部件具有零个或多个可归属信息片段和用于系统内的通信的候选地址(通过BLE特性),可归属信息片段在整个系统中被唯一地标识,第一部件的可归属信息片段取代相对于第二部件的给定数据建模。
该数据可以选自由以下组成的组:第二部件的特定程序的参数或变量或常数;第二部件的状态变量;由第二部件获得的测量值;第二部件的给定标识符;以及第二部件的特定程序的给定标识符。
因为以这种方式,可归属信息片段的固有或自然归属可以颠倒,例如将部件X的可归属信息片段限定为“部件Y的电机的位置”,所以提高了系统的通用性,因为在建模中存在较少的义务,并且还能够对具有可分配给相应可归属信息片段的少量存储器资源的部件进行建模。
根据本说明书,本领域的技术人员将理解在上文在一般方面描述的自行车电子系统10的任何配置中以及在相关的自行车或骑行电子部件、自行车电子系统、计算机程序、计算机可读装置和/或通信网络(这些应被视为本文公开的主题的其它方面)中如何实现本文描述的通信、传输和/或接收方法或协议。
本领域的技术人员将理解,上文描述的各方面可以彼此组合,正如相应的从属特征那样。
本领域的技术人员将理解,为了简洁起见仅在特定方面的上下文中描述的一些从属特征也适用于其它方面。
适用于一个或多个上述方面的其它特征包括以下特征。
作为BLE服务器的至少一个且优选地每个部件暴露至少一个且优选地单个GATT服务。
所述至少一个且优选地单个GATT服务包括适于通过GATT Notification或GATTIndication传送的至少一个且优选地单个特性,和/或适于通过GATT Client WRITE传送的至少一个且优选地单个特性,和/或适于通过GATT Notification或GATT Indication或GATT Client WRITE传送的至少一个且优选地单个特性。
自行车电子系统的至少一个部件在至少一个第一BLE网络中与至少一个第二系统部件连接且优选地为BLE客户端,并且在至少一个第二BLE网络中与至少一个第三系统部件连接且优选地为BLE服务器,所述第三系统部件等同于或不同于所述至少一个第二部件。
当所述至少一个第三系统部件不同于所述至少一个第二部件时,所述至少一个部件可以被配置成在有效载荷的传输中将所述至少一个第一BLE网络和所述至少一个第二BLE网络接通。
自行车电子系统的部件可以包括自行车专用电子设备。
自行车电子系统的部件还可以包括配置成与一个或多个骑行专用电子设备交互的通用电子设备。
自行车电子系统的部件可以选自由图1所示的若干个设备组成的组。
自行车电子系统的部件可以包括:右手动控制设备、左手动控制设备、前拨链器、后拨链器。
自行车电子系统的部件可以优选地还包括传输侧上的曲柄臂和/或与传输侧相反的一侧上的曲柄臂和/或至少一个可穿戴控制设备。
右手动控制设备、左手动控制设备、前拨链器、后拨链器以及传输侧上的可选曲柄臂和/或与传输侧相反一侧上的曲柄臂和/或至少一个可穿戴控制设备可以连接在具有单个中心主BLE(其优选为后拨链器)的第一BLE网络中。
自行车电子系统的部件还可以包括设有图形用户界面的至少一个通用电子设备。
所述至少一个通用电子设备可以在第二BLE网络中与第一BLE网络的部件(其为所述单个中心主BLE)连接。
Claims (20)
1.应用于自行车电子系统(10)的第一部件(11;21-1;22-1)中的通信方法,所述第一部件(11;21-1;22-1)在蓝牙低功耗BLE网络(31)中与第二部件(11;22-29;21、23-28)连接,并且在除BLE网络之外的网络(32、33)或非BLE网络(32、33)中与第三部件(21-2;22-2)连接,所述通信方法包括以下步骤a1-a3:
a1)根据除BLE之外的通信协议从所述第三部件(21-2;22-2)接收数据包(290),所述数据包(290)具有开销(292)和有效载荷(291、250);
a2)向所述有效载荷(291、250)设定GATT服务(301)的特性(302、303)的值(123),以及
a3)将所述特性(302、303)传输到所述第二部件(11;22-29;21、23-28)
和/或以下步骤b1-b3:
b1)从所述第二部件(11;22-29;21、23-28)接收GATT服务(301)的特性(302、303),所述特性(302、303)具有值(123),
b2)根据除BLE之外的通信协议将所述特性(302、303)的所述值(123)作为有效载荷(250、291)封装在数据包(290)中,所述数据包(290)还具有开销(292),以及
b3)将所述数据包(290)传输到所述第三部件(22-2;22-2)。
2.根据权利要求1所述的通信方法,其中,所述非BLE网络(32、33)是有线网络,并且所述除BLE之外的通信协议是串行通信协议。
3.根据权利要求1所述的通信方法,其中,所述GATT服务(301)属于所述第一部件(11;21-1;22-1),所述第一部件是BLE服务器,所述第二部件(11;22-29;21、23-28)是BLE客户端;或者其中,所述GATT服务(301)属于所述第二部件(11;22-29),所述第二部件是BLE服务器,所述第一部件(11;21-1)是BLE客户端。
4.根据权利要求1所述的通信方法,其中,所述特性(302、303)通过GATT Client WRITE(105)或通过GATT Notification(107)或GATTIndication(108)进行传送。
5.根据权利要求1所述的通信方法,其中,所述自行车电子系统(10)的每个部件(11)具有零个或多个能够归属于所述部件(11)的信息片段(210)并且具有用于所述系统(10)内的通信的候选地址,每个所述可归属信息片段(210)包括至少一个标识符(224),所述至少一个标识符(224)在所述自行车电子系统(10)中是唯一的,
其中,在步骤a1)的第二执行中接收的第二有效载荷(250)或相应地在步骤b1)的第二执行中接收的第二特性(302、303)的第二值(123)包括能够由收信人部件(11)执行的指令的标识符(261)和可归属信息片段(210)的唯一标识符(224),
其中,所述第一部件(11;21-1;22-1)基于所述指令标识符(261)和/或基于可归属信息片段的所述唯一标识符(224)来区分所述指令是否针对自身被寻址,并且在肯定的情况下,所述第一部件(11;21-1;22-1)执行所述指令,而不执行步骤a2)、a3)或相应地b2)、b3)的第二执行。
6.根据权利要求5所述的通信方法,其中,所述唯一标识符(224)标识所述第二有效载荷(250)或基本有效载荷(260)的发信人部件或收信人部件。
7.根据权利要求1所述的通信方法,其中,所述自行车电子系统(10)的每个部件(11)具有零个或多个能够归属于所述部件(11)的信息片段(210)并且具有用于所述系统(10)内的通信的候选地址,每个所述可归属信息片段(210)包括标识符(224),所述标识符(224)在所述自行车电子系统(10)中是唯一的,
其中,在步骤a1)的第二执行中接收的第二有效载荷(250)或相应地在步骤b1)的第二执行中接收的第二特性(302、303)的第二值(123)包括两个或更多个基本有效载荷(260),每个基本有效载荷(260)包括能够由收信人部件(11)执行的指令的标识符(261)和可归属信息片段(210)的唯一标识符,
其中,对于每个基本有效载荷(260),所述第一部件(11;21-1;22-1)基于所述指令标识符(261)和/或基于可归属信息片段的所述唯一标识符(224)来区分所述指令是否针对自身被寻址,并且在肯定的情况下,所述第一部件(11;21-1;22-1)执行所述指令,并在步骤a2)、a3)或相应地b2)、b3)的第二执行之前从所述有效载荷(250)移除对应的基本有效载荷(260)。
8.根据权利要求7所述的通信方法,其中,所述唯一标识符(224)标识所述第二有效载荷(250)或所述基本有效载荷(260)的发信人部件或收信人部件。
9.应用于自行车电子系统(10)的第一部件(11)中的通信方法,所述第一部件(11)在同一个或两个不同的蓝牙低功耗BLE网络(30、31)中与第二部件(11)和第三部件(11)连接,所述通信方法包括以下步骤:
a1)从所述第二部件(11)接收GATT服务(301)的特性(302、303),所述特性(302、303)具有值(123、250),
a2)将GATT服务(301)的第二特性(302、303)的第二值(123)设定为所述值(123、250),以及
a3)将所述第二特性(302、303)传输到所述第三部件(11)。
10.自行车电子系统(10)中的通信方法,所述系统(10)包括被配置成通信的至少三个部件(11),所述系统的每个部件(11)具有零个或多个能够归属于所述部件(11)的信息片段(220)并且具有用于所述系统(10)中的通信的候选地址,每个所述可归属信息片段(210)包括至少一个标识符(224),所述至少一个标识符(224)在所述自行车电子系统(10)中是唯一的,
其中,所述第一部件(11;21-1;22-1)与第二部件(11;22-29;21、23-28)传送第三部件(22-2、22-2)的一个或多个可归属信息片段(210)的值以及可能地自身的值,作为蓝牙低功耗BLE网络架构(60)的GATT服务器(101、300)的服务(301)的特性(302、303)的值(123、250),并且
所述第一部件(11;21-1;22-1)传送所述第三部件(22-2;22-2)的所述一个或多个可归属信息片段(210),其中所述第三部件(22-2;22-2)作为根据除BLE之外的通信协议的数据包(290)的有效载荷(250、291)。
11.自行车电子系统(10,20),所述自行车电子系统包括至少三个部件(11),所述至少三个部件(11)具有被配置成执行根据权利要求1所述的通信方法的步骤的处理器装置,所述至少三个部件(11)分别作为所述第一部件(11;21-1;22-1)、所述第二部件(11;22-29;21、23-28)和所述第三部件(21-2;22-2)。
12.当所述通信方法是根据权利要求1的通信方法时根据权利要求11所述的自行车电子系统(10、20),其中,所述第三部件(22-2;22-2)是所述第一部件(11;21-1;22-1)的从属设备。
13.当所述通信方法是根据权利要求1的通信方法时根据权利要求11所述的自行车电子系统(10、20),其中,所述第三部件(22-2;22-2)是智能电池。
14.当所述通信方法是根据权利要求10的通信方法时根据权利要求11所述的自行车电子系统(10、20),其中,所述第三部件(22-2;22-2)是所述第一部件(11;21-1;22-1)的从属设备。
15.当所述通信方法是根据权利要求10的通信方法时根据权利要求11所述的自行车电子系统(10、20),其中,所述第三部件(22-2;22-2)是智能电池。
16.根据权利要求11所述的自行车电子系统(10,20),其中,所述第一部件(11;21-1;22-1)是拨链器。
17.根据权利要求11所述的自行车电子系统(10,20),其中,所述BLE网络包括其它部件(11),并且其中,所述第一部件(11;21-1;22-1)是所述BLE网络中的星形中心。
18.自行车/骑行电子部件,所述自行车/骑行电子部件具有被配置成执行根据权利要求1所述的通信方法的步骤的处理器装置,并作为所述第一部件(11;21-1;22-1)和/或作为所述第二部件(11;22-29;21、23-28)和/或作为所述第三部件(21-2;22-2)。
19.自行车/骑行电子部件,所述自行车/骑行电子部件具有被配置成执行根据权利要求9所述的通信方法的步骤的处理器装置,并作为所述第一部件(11;21-1;22-1)和/或作为所述第二部件(11;22-29;21、23-28)和/或作为所述第三部件(21-2;22-2)。
20.自行车/骑行电子部件,所述自行车/骑行电子部件具有被配置成执行根据权利要求10所述的通信方法的步骤的处理器装置,并作为所述第一部件(11;21-1;22-1)和/或作为所述第二部件(11;22-29;21、23-28)和/或作为所述第三部件(21-2;22-2)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102022000005816A IT202200005816A1 (it) | 2022-03-24 | 2022-03-24 | Metodi di comunicazione in un sistema elettronico di bicicletta |
IT102022000005816 | 2022-03-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116806017A true CN116806017A (zh) | 2023-09-26 |
Family
ID=82196688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310288099.9A Pending CN116806017A (zh) | 2022-03-24 | 2023-03-22 | 自行车电子系统中的通信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230303213A1 (zh) |
EP (1) | EP4250785A1 (zh) |
CN (1) | CN116806017A (zh) |
IT (1) | IT202200005816A1 (zh) |
TW (1) | TW202344024A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITUB20152302A1 (it) * | 2015-07-20 | 2017-01-20 | Campagnolo Srl | Sistema elettronico di bicicletta |
US9846577B1 (en) * | 2016-06-03 | 2017-12-19 | Afero, Inc. | Integrated development tool with preview functionality for an internet of things (IoT) system |
US10855367B2 (en) * | 2017-10-02 | 2020-12-01 | Fisher Controls International Llc | Methods and apparatus to bridge communications between devices using low-energy devices |
-
2022
- 2022-03-24 IT IT102022000005816A patent/IT202200005816A1/it unknown
-
2023
- 2023-03-03 TW TW112107733A patent/TW202344024A/zh unknown
- 2023-03-13 US US18/183,115 patent/US20230303213A1/en active Pending
- 2023-03-16 EP EP23162441.2A patent/EP4250785A1/en active Pending
- 2023-03-22 CN CN202310288099.9A patent/CN116806017A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4250785A1 (en) | 2023-09-27 |
TW202344024A (zh) | 2023-11-01 |
US20230303213A1 (en) | 2023-09-28 |
IT202200005816A1 (it) | 2023-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7400127B2 (ja) | デュアル独立制御系に基づく車両インテリジェント制御システムと車両 | |
JP2018150049A (ja) | 自転車用電子システム | |
US11943334B2 (en) | Separating hashing from proof-of-work in blockchain environments | |
CN108809972B (zh) | 基于开源生态系统的物联网综合实验及应用开发平台 | |
CN104125152B (zh) | 一种基于车载网关提高车载网络可靠性的方法 | |
CN111524250B (zh) | 远程自动识别可配置车辆自行车的系统 | |
CN106406980A (zh) | 一种虚拟机的部署方法和装置 | |
CN116806017A (zh) | 自行车电子系统中的通信方法 | |
CN116806018A (zh) | 自行车电子系统中的通信方法 | |
CN116806019A (zh) | 自行车电子系统中的通信方法 | |
JP2022161342A5 (zh) | ||
CN110602177A (zh) | 电动自行车通讯的方法、装置及系统 | |
Ingram | Reconfigurable middleware for high availability sensor systems | |
Han et al. | MiMoSense: An Open Crowdsensing Platform for Micro-Mobility | |
WO2023277185A1 (ja) | 車載装置、データ生成方法、データ生成プログラムおよび車両システム | |
CN116782277B (zh) | 一种用于车载c-v2x的分布式部署系统 | |
Ala-Hynnilä | Replacing internal communication protocol in UNIC control system | |
CN114679417A (zh) | 车载数据的分发方法、系统、装置及可读存储介质 | |
Van Themsche | Connected Cities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |