CN110545265A - 一种依赖于att和指示进行适配的数据通信***及方法 - Google Patents
一种依赖于att和指示进行适配的数据通信***及方法 Download PDFInfo
- Publication number
- CN110545265A CN110545265A CN201910765383.4A CN201910765383A CN110545265A CN 110545265 A CN110545265 A CN 110545265A CN 201910765383 A CN201910765383 A CN 201910765383A CN 110545265 A CN110545265 A CN 110545265A
- Authority
- CN
- China
- Prior art keywords
- layer
- cpa
- att
- phd
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明属于数据通信技术领域,尤其涉及一种依赖于ATT和指示进行适配的数据通信***及方法,其中,所述CPA层用于发送方CPA层将PHD层传输的APDU封装为CPA PDU并将CPA PDU通过CPA数据交换过程传输于ATT层,本发明解决了现有技术中BLE技术与ISO/IEEE 11073标准的特性不直接兼容,不能完全满足基于ISO/IEEE 11073标准的应用层数据交换需求,需要在ATT层和PHD层之间建立适配,使得下层满足上层的需求的问题,本发明具有保持通信双方在应用层的同步交互,进而还可以节省时间和计算资源,提高用户体验,降低成本,同时也不会对***的安全造成负面影响,这样还避免了接收到的BLE消息被移动设备操作***中的多个程序共享时所出现的安全隐患的有益技术效果。
Description
技术领域
本发明属于数据通信技术领域,尤其涉及一种依赖于ATT和指示进行适配的数据通信***及方法。
背景技术
在众多短距离通信技术当中,蓝牙是应用最为广泛、最为普及的技术之一。其中低功耗蓝牙重用了经典蓝牙协议栈的许多模块,定义了全新的物理层和链路层,简化了协议栈的实现。由于大多数健康监测设备和健康应用程序只需传输少量的数据,这使得低功耗蓝牙在医疗卫生健康、体育健身、家庭娱乐、安全保障等诸多领域具有巨大的潜力。
ISO/IEEE 11073系列标准实现了为医疗应用和健康而使用的个人健康设备(Personal Health Devices,PHD)与外界的通信,并将信息以固定格式传输给与外界联通的设备(例如手机、无线路由器、机顶盒、健康监测网关、计算机***等)。例如将个人健康设备用户的健康数据传输到医生办公室、诊所或者录入监测服务机构。ISO/IEEE 11073标准定义了两个实体,分别为“Agent”和“Manager”。Agent用于收集个人健康数据并传输给相关的Manager,Manager用于从一个或多个Agent处接收数据。ISO/IEEE 11073标准还定义了Agent与Manager之间传输的数据格式以及使用的通信协议。
ISO/IEEE 11073-20601优化交换协议定义了一种独立于底层传输的通用框架,建立了个人健康数据通信的抽象模型。从理论上讲,BLE技术具备承载ISO/IEEE 11073-20601优化交换协议的可能,但是关键的技术问题在于,在BLE领域中,由于ISO/IEEE 11073标准的特性与BLE技术不直接兼容,使得通过BLE技术传输符合ISO/IEEE 11073系列标准的个人健康设备的健康数据无法轻易付诸实践,例如,(1)ISO/IEEE 11073-20601要求数据传输必须基于可靠的通信信道完成,但是BLE通信技术本身不能进行可靠信道传输或者保证数据完整性(即:BLE中重用的L2CAP层不会重发或数据校验)。(2)通信双方的应用层使用ISO/IEEE 11073-20601优化交换协议来交换数据消息,要求底层传输技术保持双方在应用层数据通信方面的状态同步,但是BLE标准技术的通信特征是无状态(stateless)的,通常为了节省功耗,底层传输会频繁断开和重连,无法支持通信双方在应用层的同步交互。(3)ISO/IEEE 11073-20601协议传输的消息的长度(最大为63K字节)远大于BLE中ATT消息的长度。基于所述的技术问题,现有技术中没有有效的技术方案可以使得两者之间协同工作:欧洲专利局在2015年8月4日公开的申请号为13734512的发明“测量设备(发明名称为MEASUREMENT DEVICE)”中,涉及到使用无线通信技术(包括BLE技术)和双向通信协议(ISO/IEEE 11073-20601)实现设备间的互操作,但是此发明提出的技术方案仅限于将双向通信模式改为单向通信模式,达到降低功耗的目的,没有提出在BLE技术上承载ISO/IEEE 11073标准的有效方案。美国专利局在2015年7月16日公开的申请号为14155954的发明“一种用于医疗设备的低功耗无线通信***和方法(发明名称为Low energy wirelesscommunication systems and methods for medical devices)”中,测量设备从ISO/IEEE11073-20601的数据包中提取部分数据以形成修改后的数据包,然后将数据进行分包并为每一个分割后的数据包添加一个序号,进而通过BLE技术进行传输,此发明提出的技术方案重点在于将ISO/IEEE 11073-20601协议传输的较长APDU进行分包,且在应用层处理数据,不涉及状态管理,忽略了BLE底层传输会频繁断开和重连的机制,没有解决BLE和ISO/IEEE11073-20601状态不同步的问题。中国专利局在2016年4月20日公开的申请号为CN201480049286.0的发明“用于经由社交网络平台控制***设备的方法和装置”和在2016年11月30日公开的申请号为CN201480076808.6的发明“通过社交网络平台控制***设备的方法和装置”中提出的技术方案,建立了蓝牙设备与智能终端上社交平台的通信协议,这两项发明主要是基于蓝牙在应用层建立业务,对应用层的数据处理进行规范,以及包括一个复杂的鉴权过程;
现有技术中BLE技术与ISO/IEEE 11073标准的特性不直接兼容,不能完全满足基于ISO/IEEE 11073标准的应用层数据交换需求,需要在ATT层和PHD层之间建立适配,使得下层满足上层的需求的问题。
发明内容
本发明提供一种依赖于ATT和指示进行适配的数据通信***及方法,以解决上述背景技术中提出了现有技术中BLE技术与ISO/IEEE 11073标准的特性不直接兼容,不能完全满足基于ISO/IEEE 11073标准的应用层数据交换需求,需要在ATT层和PHD层之间建立适配,使得下层满足上层的需求的问题。
本发明所解决的技术问题采用以下技术方案来实现:本发明还提供一种依赖于ATT和指示进行适配的数据通信方法,包括:
通过通信协议适配层CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理,使得依赖于可靠底层传输的应用层数据交换协议PHD能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态通信为特征的ATT层上正常运行。
进一步,所述数据通信的方法还包括主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层、ATT层、CPA层、PHD层和应用层的数据通信协议栈层级结构。
进一步,所述通过通信协议适配层CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理包括:
主、从设备进行数据交换时,应用层打开PHD层的连接并且通过执行PHD层数据交换过程来保持通信双方在应用层数据通信的状态同步;
其中包括:
发送方:
若PHD层确定CPA数据交换过程处于CPA运行子流程且PHD层进入已连接状态,则通过PHD层数据交换过程将应用层数据交换单元APDU传输于CPA层并进行结束交互;
若CPA层确定ATT数据交换过程处于ATT运行过程中时,则将PHD层传输的APDU封装为CPA PDU并将CPA PDU通过CPA数据交换过程传输于ATT层;
若ATT层打开底层传输层的连接,则将CPA层传输的CPA PDU封装为ATT PDU并将ATT PDU通过ATT数据交换过程传输于底层传输层;
底层传输层将ATT层传输的ATT PDU按照BLE标准中所定义的属性的格式通过通信连接的过程传输于接收方的底层传输层;
接收方:
底层传输层接收到按照BLE标准中所定义的属性的格式传输的ATT PDU;
ATT层将底层传输层接收到的按照BLE标准中所定义的属性的格式传输的ATT PDU解封装为CPA PDU,并将CPA PDU传递给CPA层;
CPA层将从ATT层接收到的CPA PDU解封装为APDU,并将APDU传递给PHD层;
PHD层从CPA层接收APDU并进行结束交互。
进一步,所述通过PHD层数据交换过程进行APDU传输并执行结束交互包括:
若发送方的PHD层向CPA层发送APDU,则通过CPA层进行数据传输;
若CPA层接收到PHD层发送的语义为断开底层连接的内部指令,则CPA层进入CPA断开子流程。
进一步,若通信双方的PHD层结束交互或者PHD层发生异常断开时,则通信双方各自的PHD层由当前的状态转换到未连接状态,并向各自CPA层发送语义为断开底层连接的内部指令,且不等待各自的CPA层的反馈。
进一步:
若通信双方在PHD层处于已连接状态并且CPA层未接收到新的APDU时,若应用层不打算断开PHD层的连接,通信双方可以通过CPA层断开ATT层的连接;
若CPA层接收到新的APDU需要ATT层重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程。
进一步,所述通过CPA层断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据。
进一步,所述ATT数据交换过程包括:
ATT建立连接过程:通信双方使用BLE中定义的广播事件和扫描事件建立双方之间在底层传输层的通信连接的过程;
ATT运行过程:通信双方基于ATT发送和接收CPA PDU,CPA PDU被置于ATT PDU的净荷中,通过ATT写请求和ATT写响应、ATT指示和ATT确认这两对属性操作方法完成数据交换过程;
如果通信双方已达成共识且目标应用可以接受数据丢失的风险,则双方可以选择用无连接和无确认的广播通信方式来替代指示子程序;
ATT有计划断开连接过程:ATT层接收到CPA层发送的断开底层连接内部指令时,通信双方保存工作状态数据,使用BLE中定义的终止连接事件断开双方之间在底层传输层的通信连接,并向CPA层发送语义为ATT层连接已断开事件通知的过程。
进一步,所述CPA数据交换过程包括:
所述CPA层实例化一个CPA服务,该服务包含一个CC特征,所述CC特征符合GATT中的特征定义,至少包括一个特征值和一个客户端特征配置描述符;
所述CC特征作为写特征描述符子程序、写特征值子程序和指示子程序的操作对象,其包括所述主设备执行写特征描述符子程序使能CC特征的指示功能,以及执行写特征值子程序向从设备发送数据,从设备判断若CC特征的指示功能被使能,则通过指示子程序发送数据;
CPA连接子流程:主设备CPA层通过ATT向从设备CPA层发送写请求以向IE属性写入第一预定值来启用CC属性的指示功能,通信双方CPA层向PHD层发送语义为底层连接已建立的事件通知并进入CPA运行子流程;
CPA运行子流程:通信双方分别从各自所在设备的PHD层获得APDU,然后封装为CPAPDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;
每一个CPA PDU的传输为CPA层的不可再分且必须一次性完成的最小操作,发送方在完整发送一个CPA PDU之前禁止发送其它CPA PDU,接收方在完整接收一个CPA PDU之前,禁止接收其它CPA PDU;
CPA断开子流程:主设备CPA层通过ATT向从设备CPA层发送写请求以向IE属性写入第二预定值来关闭CC属性的指示功能,通信双方的CPA层向各自的应用层发送语义为底层连接已断开事件通知。
同时,本发明还提供一种依赖于ATT和指示进行适配的数据通信***,所述通信***包括依次包括底层传输层、属性协议ATT层、通用属性规范协议适配CPA层、数据交换协议PHD层和应用层的数据通信协议栈层级结构;
所述数据通信协议栈层级结构用于:
实现如上述任一项的数据通信方法。
有益技术效果:
为了解决需要在ATT层和PHD层之间建立适配,使得下层满足上层的需求的问题,本发明构建了一个建立在ATT层和PHD层之间的通信协议适配层(CPA层),是一种有针对性的适配方式。本发明通过CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理,使得依赖于可靠底层传输(connection-oriented)的应用层数据交换协议PHD(ISO/IEEE 11073-20601)能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态(stateless)通信为特征的ATT层上正常运行,既充分利用ATT的低功耗特性,又能够实现通信双方在应用层的同步交互;
本发明构建的CPA层采用ATT作为端到端设备的通信协议,ATT用于在独立的服务访问点之间提供数据单元(PDU)的传输,CPA层可以将PHD层交换的数据单元(APDU)置于CPA层所定义的数据格式相应的域中,进而通过ATT定义的通信方法将CPA PDU传输到对等设备;
通信双方可以通过CPA来完成对ATT的使用和管理,当通信双方在PHD层已处于“已连接”状态时,通信双方可以通过CPA层断开ATT层的连接以便于减少功耗,如果应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;在需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程,CPA层的这项特性使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,相当于CPA层为PHD层屏蔽了底层传输可能发生的不可靠情况,换句话说,因为CPA层的存在,PHD层可以认为底层传输是可靠的;
本发明提供的技术方案充分利用了BLE的低功耗特性以及保持通信双方在应用层的同步交互,进而还可以节省时间和计算资源,提高用户体验,降低成本,同时也不会对***的安全造成负面影响,这样还避免了接收到的BLE消息被移动设备操作***中的多个程序共享时所出现的安全隐患,本发明的诸多优势使得本发明具有较强的通用性和兼容性。
附图说明
图1是本发明一种依赖于ATT和指示进行适配的数据通信***的数据通信协议栈的体系结构图;
图2是本发明一种依赖于ATT和指示进行适配的数据通信方法的总流程图;
图3是本发明一种依赖于ATT和指示进行适配的数据通信方法的具体流程图;
图4为是本发明一种依赖于ATT和指示进行适配的数据通信方法的逻辑拓扑结构和通信方式图;
图5是本发明一种依赖于ATT和指示进行适配的数据通信方法的CPA连接子流程的时序图;
图6是本发明一种依赖于ATT和指示进行适配的数据通信方法的CPA Manager端的运行子流程图;
图7是本发明一种依赖于ATT和指示进行适配的数据通信方法的CPA Agent端的运行子流程图;
图8是本发明一种依赖于ATT和指示进行适配的数据通信方法的CPA运行子流程的时序图;
图9是本发明一种依赖于ATT和指示进行适配的数据通信方法的CPA层对ATT层的使用和管理时序图;
图10是本发明一种依赖于ATT和指示进行适配的数据通信方法的PHD层向CPA层发送语义为“断开底层连接”内部指令时,CPA断开子流程的时序图;
图11是本发明一种依赖于ATT和指示进行适配的数据通信方法的CPA层完整通信过程的一个实施例二的时序图;
本发明提供的技术方案在实施时具有灵活性,通过设置该技术方案中的部分参数以及阐述与之关联的较佳的应用设计,可以为本发明所要达到的技术效果提供优选方案,下面结合附图对本发明做进一步描述:
图中标号表示如下:
1—底层传输层,2—ATT层,3—CPA层,4—PHD层,5—应用层;
ST101:通过通信协议适配层CPA层;
ST102:对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理;
ST103:使得依赖于可靠底层传输的应用层数据交换协议PHD能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态通信为特征的ATT层上正常运行;
ST201:应用层打开PHD层的连接并且通过执行PHD层数据交换过程来保持通信双方在应用层数据通信的状态同步;
ST202:若PHD层确定CPA数据交换过程处于CPA运行子流程且PHD层进入已连接状态,则通过PHD层数据交换过程将应用层数据交换单元APDU传输于CPA层并进行结束交互;
ST203:若CPA层确定ATT数据交换过程处于ATT运行过程中时,则将PHD层传输的APDU封装为CPA PDU并将CPA PDU通过CPA数据交换过程传输于ATT层;
ST204:若ATT层打开底层传输层的连接,则将CPA层传输的CPA PDU封装为ATT PDU并将ATT PDU通过ATT数据交换过程传输于底层传输层;
ST205:底层传输层将ATT层传输的ATT PDU按照BLE标准中所定义的属性的格式通过通信连接的过程传输于接收方的底层传输层;
ST206:底层传输层接收到按照BLE标准中所定义的属性的格式传输的ATT PDU;
ST207:ATT层将底层传输层接收到的按照BLE标准中所定义的属性的格式传输的ATT PDU解封装为CPA PDU,并将CPA PDU传递给CPA层;
ST208:CPA层将从ATT层接收到的CPA PDU解封装为APDU,并将APDU传递给PHD层;
ST209:PHD层从CPA层接收APDU并进行结束交互。
具体实施方式
实施例一:
本实施例:如图1所示,所述数据通信的协议栈层级结构由下至上分别为底层传输层、属性协议(Attribute Protocol,下称为ATT)层、CPA层、个人健康设备应用层数据交换协议(下称为PHD)层和应用层。底层传输层包括有BLE技术标准体系中为ATT层及其上层提供通信链路、配置接口及数据服务等功能的底层协议;ATT层运行的ATT是BLE技术标准体系中的一个标准,主设备可以通过ATT中定义的属性操作方法去访问从设备公布的一组属性;CPA层为本技术方案中提出的用于低功耗、低计算资源的从设备与主设备之间进行数据通信的协议适配层,CPA层使用ATT完成通信服务;PHD层运行的是ISO/IEEE 11073-20601标准所定义的应用层数据交换协议,用于保持通信双方在应用层数据通信方面的状态同步;应用层主要包含业务逻辑,从下层读取数据或者向下层写入数据,以及接收用户的请求消息并输出显示内容。本实施例以及后续的实施例中,涉及到一个设备的协议栈中层与层之间的交互时,上层对下层的操作称之为“内部指令”,下层对上层的反馈称之为“事件通知”。
所述ATT是蓝牙低功耗(BLE)技术标准体系中的一个标准,遵循该标准的主、从设备进行数据交换时,按照ATT中所定义的属性(Attribute)的格式提供被交换的数据,并使用ATT中所定义的属性操作方法来操作属性。所述ATT包括ATT数据单元(ATT PDU)。所述ATTPDU,是在ATT层被交换的、符合ATT定义的消息格式的数据消息,其净荷(Payload)部分的字节长度不会超过“ATT PDU最大净荷长度”。
所述ATT由ATT数据单元(ATT PDU)和ATT数据交换过程构成。所述ATT PDU,是在ATT层被交换的、符合ATT定义的消息格式的数据消息,其净荷(Payload)部分的字节长度不会超过“ATT PDU最大净荷长度”。ATT PDU的传输由底层传输层来完成。所述ATT数据交换过程包括“ATT建立连接过程”、“ATT运行过程”和“ATT有计划断开连接过程”。所述ATT建立连接过程是通信双方使用BLE中定义的广播事件和扫描事件建立双方之间在底层传输层的通信连接的过程;所述ATT有计划断开连接过程是通信双方使用BLE中定义的终止连接事件断开双方之间在底层传输层的通信连接的过程。
所述CPA由CPA数据交换单元(CPA PDU)和CPA数据交换过程构成。所述CPA PDU是在CPA层被交换的、具有特定格式的数据消息,CPA PDU作为ATT PDU中的净荷经ATT传输。通信双方只有当处于“ATT运行过程”中时,才能运行CPA数据交换过程,该过程包括“CPA连接子流程”、“CPA运行子流程”和“CPA断开子流程”。通信双方在CPA层的数据交换过程中各自扮演一个设备角色,其中从设备的角色为CPA Agent,主设备的角色为CPA Manager。CPAAgent和CPA Manager负责传输和接收PHD层的数据(APDU)以及在接收到APDU时及时通知PHD层,APDU的数据格式完全由PHD层数据交换协议定义,PHD层的数据对于CPA层来说为一个黑盒,CPA层不对PHD层数据进行解析。
所述CPA Agent包含一个通信协议适配层通信CC属性(CPA CommunicationAttribute,简称为CC属性)并且在建立底层连接后向CPA Manager公开。所述CC属性符合ATT中对“属性地址(handle)”和“属性值域(value)”的定义,并且具有一个由CPA Agent和CPA Manager共同认可的唯一识别码,该属性可以被CPA Manager发现和写入。其特征还在于,通信双方可将该属性作为操作对象,使用ATT中定义的“写请求”、“写响应”、“指示”和“确认”方法来完成CPA PDU传输。
所述CPA Agent还包含一个指示功能使能IE属性(Indication EnableAttribute,简称为IE属性)并且在建立底层连接后向CPA Manager公开。所述IE属性符合ATT中对属性地址和属性值域的定义,并且具有一个由CPA Agent和CPA Manager共同认可的唯一识别码,该属性可以被CPA Manager发现和写入。其特征还在于,CPA Manager通过向IE属性写入预定值一以启用CC属性的指示(Indication)功能或写入预定值二以关闭CC属性的指示(Indication)功能。进一步,IE属性的存在是基于BLE技术标准中的ATT标准中的相关规定,具体实施时可以进一步对此进行简化,由通信双方事先约定“CC属性的指示功能默认打开或关闭”,由此可以省略掉本技术方案中的IE属性以及与其相关的各种操作。
如图2所示,本发明提供一种依赖于ATT和指示进行适配的数据通信方法,包括:
通过通信协议适配层CPA层3 ST101对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层2的运行进行管理ST102,使得依赖于可靠底层传输的应用层5数据交换协议PHD能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态通信为特征的ATT层2上正常运行ST103;
由于采用通过通信协议适配层CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理,使得依赖于可靠底层传输的应用层数据交换协议PHD能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态通信为特征的ATT层上正常运行,由于本发明提供的技术方案,在ATT层和PHD层之间构建了一个适配层,即CPA层。本发明构建的CPA层采用ATT作为端到端设备的通信协议,ATT用于在独立的服务访问点之间提供数据单元(PDU)的传输。CPA层可以将PHD层交换的数据单元(APDU)置于CPA层所定义的数据格式相应的域中,进而通过ATT定义的通信方法将CPA PDU传输到对等设备。通信双方可以通过CPA来完成对ATT的使用和管理,当通信双方在PHD层已处于“已连接”状态时,通信双方可以通过CPA层断开ATT层的连接以便于减少功耗。如果应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;在需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程。CPA层的这项特性使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,相当于CPA层为PHD层屏蔽了底层传输可能发生的不可靠情况,换句话说,因为CPA层的存在,PHD层可以认为底层传输是可靠的。本发明中CPA Agent和CPA Manager通过发送ATT PDU来发送CPA PDU以及通过接收ATT PDU来接收CPA PDU。ATT层及底层提供数据传输服务,并保证数据单元有序传输。此外,CPA Agent和CPA Manager还负责对CPA PDU进行封装和解封装。本发明的诸多优势使得本发明具有较强的通用性和兼容性,本发明公开一种依赖于ATT和指示进行适配的数据通信方法,包括通信协议适配层(CPA层),CPA层所属的数据通信协议栈层级结构由下至上分别为底层传输层、ATT层、CPA层、PHD层和应用层。CPA由数据单元CPA PDU和CPA数据交换过程构成。本发明提供的CPA层通过对ATT的运行进行管理,使得依赖于可靠底层传输(connection-oriented)的PHD能够在以无状态(stateless)通信为特征的ATT上正常运行,不受ATT和底层传输频繁断开和重连的影响,不受ATT的协议消息长度的限制,既充分利用ATT的低功耗特性,又能够实现通信双方在应用层的同步交互,为了解决需要在ATT层和PHD层之间建立适配,使得下层满足上层的需求的问题,本发明构建了一个建立在ATT层和PHD层之间的CPA层,是一种有针对性的适配方式,使得依赖于可靠底层传输的个人健康设备数据交换协议(ISO/IEEE 11073-20601)可以运行在以无状态(stateless)通信为特征的ATT层上,本发明提供的技术方案充分利用了BLE的低功耗特性以及保持通信双方在应用层的同步交互,进而还可以节省时间和计算资源,提高用户体验,降低成本,同时也不会对***的安全造成负面影响,这样还避免了接收到的BLE消息被移动设备操作***中的多个程序共享时所出现的安全隐患。
所述数据通信的方法还包括从设备在与主设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层1、ATT层2、CPA层3、PHD层4和应用层5的数据通信协议栈层级结构;
由于采用所述数据通信的方法还包括主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层1、ATT层2、CPA层3、PHD层4和应用层5的数据通信协议栈层级结构;
由于包括通信协议适配层(CPA层),CPA层所属的数据通信协议栈层级结构由下至上分别为底层传输层、ATT层、CPA层、PHD层和应用层。CPA由数据单元CPA PDU和CPA数据交换过程构成。本发明提供的CPA层通过对ATT的运行进行管理,使得依赖于可靠底层传输(connection-oriented)的PHD能够在以无状态(stateless)通信为特征的ATT上正常运行,不受ATT和底层传输频繁断开和重连的影响,不受ATT的协议消息长度的限制,既充分利用ATT的低功耗特性,又能够实现通信双方在应用层的同步交互。
所述通过PHD层4数据交换过程进行APDU传输并执行结束交互包括:
若发送方的PHD层4向CPA层3发送APDU,则通过CPA层3进行数据传输;若CPA层3接收到PHD层4发送的语义为断开底层连接的内部指令,则CPA层3进入CPA断开子流程。
所述PHD层4发生异常断开处理包括:
若通信双方的PHD层4结束交互或者PHD层4发生异常断开时,则通信双方各自的PHD层4由当前的状态转换到未连接状态,并向各自CPA层3发送语义为断开底层连接的内部指令,且不等待各自的CPA层3的反馈。
若通信双方在PHD层4处于已连接状态并且CPA层3未接收到新的APDU时,若应用层5不打算断开PHD层4的连接,通信双方可以通过CPA层3断开ATT层2的连接;
若CPA层3接收到新的APDU需要ATT层2重新连接时,通信双方通过CPA层3重新建立ATT层2的连接,并基于先前保存的工作状态数据继续执行PHD层4数据交换过程。
所述通过CPA层3断开ATT层2的连接之前,通信双方保存CPA层3和PHD层4的工作状态数据。
由于采用所述通过PHD层数据交换过程进行APDU传输并执行结束交互包括:若通过PHD层数据交换过程进行APDU传输时,若发送方的PHD层向本端的CPA层发送APDU,则通过本端的CPA层进行数据传输;若通信双方的PHD层结束交互或者PHD层发生异常断开时,则通信双方各自的PHD层由当前的状态转换到未连接状态,并向各自CPA层发送语义为断开底层连接内部指令,且不等待各自的CPA层的反馈。
所述应用层基于底层传输技术的低功耗特性可以根据数据传输需求设置BLE中定义的连接间隔和从设备延迟两个等涉及功耗的连接参数,进而控制设备间的底层链路进行重新连接的时序。若通信双方在PHD层处于已连接状态时,通信双方可以通过CPA层断开ATT层的连接,若应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;若需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程。
由于所述PHD是指ISO/IEEE 11073-20601标准所定义的应用层数据交换协议,从设备的应用层与主设备的应用层使用该协议来交换数据消息,并且保持双方在应用层数据通信方面的状态同步,被交换的PHD层的数据消息对于CPA层而言是应用层数据交换单元(APDU),由于通信双方只有当处于“CPA运行子流程”中且PHD层进入“已连接”状态之后,才能运行PHD层数据交换过程。当通信双方的PHD层进行APDU传输时,发送方的PHD层向己方的CPA层发送APDU,通过CPA层进行数据传输。当通信双方的PHD层结束交互或者PHD层发生异常断开的时候,通信双方的PHD层由当前的状态转换到“未连接”状态,并向各自CPA层发送语义为“断开底层连接”内部指令,且不等待各自的CPA层的反馈。所述应用层基于底层传输技术的低功耗特性可以根据数据传输需求设置BLE中定义的连接间隔(Connectioninterval)和从设备延迟(Slave latency)等涉及功耗的连接参数,进而控制设备间的底层链路进行重新连接的时序
所述ATT数据交换过程包括:
ATT建立连接过程:通信双方使用BLE中定义的广播事件和扫描事件建立双方之间在底层传输层1的通信连接的过程;
ATT运行过程:通信双方基于ATT发送和接收CPA PDU,CPA PDU被置于ATT PDU的净荷中,通过ATT写请求和ATT写响应、ATT指示和ATT确认这两对属性操作方法完成数据交换过程;
如果通信双方已达成共识且目标应用可以接受数据丢失的风险,则双方可以选择用无连接和无确认的广播通信方式来替代指示子程序;
ATT有计划断开连接过程:ATT层2接收到CPA层3发送的断开底层连接内部指令时,通信双方保存工作状态数据,使用BLE中定义的终止连接事件断开双方之间在底层传输层1的通信连接,并向CPA层3发送语义为ATT层2连接已断开事件通知的过程。
由于采用所述ATT数据交换过程包括:ATT建立连接过程:通信双方使用BLE中定义的广播事件和扫描事件建立双方之间在底层传输层的通信连接的过程;ATT运行过程:通信双方基于ATT发送和CPA PDU接收,将CPA PDU被置于ATT PDU的净荷中,依次通过ATT写请求、ATT写响应、ATT指示、ATT确认以及相应的属性操作方法以完成数据交换过程;ATT有计划断开连接过程:通信双方使用BLE中定义的终止连接事件断开双方之间在底层传输层的通信连接的过程,由于所述属性协议(ATT)是蓝牙低功耗(BLE)技术标准体系中的一个标准,其特征在于:遵循该标准的从设备在与主设备进行数据交换时,按照BLE标准中所定义的属性(Attribute)的格式提供被交换的数据。遵循该标准的主设备可以通过ATT中所定义的属性操作方法中的“写请求”、“写响应”、“指示”、“确认”和“信息查找请求”方法对从设备提供的属性进行操作。所述ATT由ATT数据单元(ATT PDU)和ATT数据交换过程构成。所述ATTPDU,是在ATT层被交换的、符合ATT定义的消息格式的数据消息,其净荷(Payload)部分的字节长度不会超过“ATT PDU最大净荷长度”。ATT PDU的传输由底层传输层来完成。所述ATT数据交换过程包括“ATT建立连接过程”、“ATT运行过程”和“ATT有计划断开连接过程”。所述ATT建立连接过程是通信双方使用BLE中定义的广播事件和扫描事件建立双方之间在底层传输层的通信连接的过程;所述ATT有计划断开连接过程是通信双方使用BLE中定义的终止连接事件断开双方之间在底层传输层的通信连接的过程。
所述CPA数据交换过程包括:
所述CPA层实例化一个CPA服务,该服务包含一个CC特征,所述CC特征符合GATT中的特征定义,至少包括一个特征值和一个客户端特征配置描述符;
所述CC特征作为写特征描述符子程序、写特征值子程序和指示子程序的操作对象,其包括所述主设备执行写特征描述符子程序使能CC特征的指示功能,以及执行写特征值子程序向从设备发送数据,从设备判断若CC特征的指示功能被使能,则通过指示子程序发送数据;
CPA连接子流程:主设备CPA层3通过ATT向从设备CPA层发送写请求以向IE属性写入第一预定值来启用CC属性的指示功能,通信双方CPA层3向PHD层4发送语义为底层连接已建立的事件通知并进入CPA运行子流程;
CPA运行子流程:通信双方分别从各自所在设备的PHD层4获得APDU,然后封装为CPA PDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层4;
每一个CPA PDU的传输为CPA层3的不可再分且必须一次性完成的最小操作,发送方在完整发送一个CPA PDU之前禁止发送其它CPA PDU,接收方在完整接收一个CPA PDU之前,禁止接收其它CPA PDU;
CPA断开子流程:主设备CPA层3通过ATT向从设备CPA层发送写请求以向IE属性写入第二预定值来关闭CC属性的指示功能,通信双方的CPA层3向各自的应用层5发送语义为底层连接已断开事件通知。
由于采用所述CPA数据交换过程包括:所述CPA层实例化一个CPA服务,该服务包含一个CC特征,所述CC特征符合GATT中的特征定义,至少包括一个特征值和一个客户端特征配置描述符;所述CC特征作为写特征描述符子程序、写特征值子程序和指示子程序的操作对象,其包括所述主设备执行写特征描述符子程序使能CC特征的指示功能,以及执行写特征值子程序向从设备发送数据,从设备判断若CC特征的指示功能被使能,则通过指示子程序发送数据;CPA连接子流程:主设备CPA层通过ATT向从设备CPA层发送写请求以向IE属性写入第一预定值来启用CC属性的指示功能;CPA运行子流程:通信双方分别从各自所在设备的PHD层获得APDU,然后封装为CPA PDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;CPA断开子流程:主设备CPA通过ATT向从设备CPA层发送写请求以向IE属性写入第二预定值来关闭CC属性的指示功能,由于所述CPA层的特征在于,由CPA数据交换单元(CPA PDU)和CPA数据交换过程构成。所述CPA PDU是在CPA层被交换的、具有特定格式的数据消息,CPA PDU作为ATT PDU中的净荷经ATT传输。所述CPA层将APDU封装为CPA PDU后,能够对CPA PDU进行分割和重组。通信双方只有当处于“ATT运行过程”中时,才能运行CPA数据交换过程,该过程包括“CPA连接子流程”、“CPA运行子流程”和“CPA断开子流程”。通信双方在CPA层的数据交换过程中各自扮演一个设备角色,其中从设备的角色为CPA Agent,主设备的角色为CPA Manager。这两个设备角色分别从各自所在设备的PHD层获得APDU,然后封装为CPA PDU的格式并通过ATT传输给对方;这两个设备角色还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层,所述CPA层的特征在于,通信双方可以通过CPA来完成对ATT的使用和管理。当通信双方在PHD层处于“已连接”状态时,通信双方可以通过CPA层断开ATT层的连接以便于减少功耗。如果应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;在需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程。
同时,本发明还提供一种依赖于ATT和指示进行适配的数据通信***,所述通信***包括依次包括底层传输层、属性协议ATT层、通用属性规范协议适配CPA层、数据交换协议PHD层和应用层的数据通信协议栈层级结构;
所述数据通信协议栈层级结构用于:实现如上述任一项的数据通信方法。
如图1所示,由于通信协议适配层(Communication Protocol Adaption,下称为CPA)层,用于低功耗、低计算资源的从设备(个人健康设备)与主设备之间的数据通信。所述数据通信的协议栈层级结构由下至上分别为底层传输层、属性协议(Attribute Protocol,下称为ATT)层、CPA层、个人健康设备应用层数据交换协议(下称为PHD)层和应用层。所述CPA层通过对ATT的运行进行管理,使得依赖于可靠底层传输(connection-oriented)的PHD能够在以无状态(stateless)通信为特征的ATT上正常运行,不受ATT和底层传输频繁断开和重连的影响,不受ATT的协议消息长度的限制,既充分利用ATT的低功耗特性,又能够实现通信双方在应用层的同步交互;所述属性协议(ATT)是蓝牙低功耗(BLE)技术标准体系中的一个标准,其特征在于:遵循该标准的从设备在与主设备进行数据交换时,按照BLE标准中所定义的属性(Attribute)的格式提供被交换的数据。遵循该标准的主设备可以通过ATT中所定义的属性操作方法中的“写请求”、“写响应”、“指示”、“确认”和“信息查找请求”方法对从设备提供的属性进行操作。所述ATT由ATT数据单元(ATT PDU)和ATT数据交换过程构成。所述ATT PDU,是在ATT层被交换的、符合ATT定义的消息格式的数据消息,其净荷(Payload)部分的字节长度不会超过“ATT PDU最大净荷长度”。ATT PDU的传输由底层传输层来完成。所述ATT数据交换过程包括“ATT建立连接过程”、“ATT运行过程”和“ATT有计划断开连接过程”。所述ATT建立连接过程是通信双方使用BLE中定义的广播事件和扫描事件建立双方之间在底层传输层的通信连接的过程;所述ATT有计划断开连接过程是通信双方使用BLE中定义的终止连接事件断开双方之间在底层传输层的通信连接的过程,所述CPA层的特征在于,由CPA数据交换单元(CPA PDU)和CPA数据交换过程构成。所述CPA PDU是在CPA层被交换的、具有特定格式的数据消息,CPA PDU作为ATT PDU中的净荷经ATT传输。通信双方只有当处于“ATT运行过程”中时,才能运行CPA数据交换过程,该过程包括“CPA连接子流程”、“CPA运行子流程”和“CPA断开子流程”。通信双方在CPA层的数据交换过程中各自扮演一个设备角色,其中从设备的角色为CPA Agent,主设备的角色为CPA Manager。
这两个设备角色分别从各自所在设备的PHD层获得APDU,然后封装为CPA PDU的格式并通过ATT传输给对方;这两个设备角色还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层,通信双方只有当处于“CPA运行子流程”中且PHD层进入“已连接”状态之后,才能运行PHD层数据交换过程。当通信双方的PHD层进行APDU传输时,发送方的PHD层向己方的CPA层发送APDU,通过CPA层进行数据传输。当通信双方的PHD层结束交互或者PHD层发生异常断开的时候,通信双方的PHD层由当前的状态转换到“未连接”状态,并向各自CPA层发送语义为“断开底层连接”内部指令,且不等待各自的CPA层的反馈。所述应用层基于底层传输技术的低功耗特性可以根据数据传输需求设置BLE中定义的连接间隔(Connection interval)和从设备延迟(Slave latency)等涉及功耗的连接参数,进而控制设备间的底层链路进行重新连接的时序,所述CPA层的特征在于,通信双方可以通过CPA来完成对ATT的使用和管理。当通信双方在PHD层处于“已连接”状态时,通信双方可以通过CPA层断开ATT层的连接以便于减少功耗。如果应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;在需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程。
实施例二:
如图4~11所示,本实施例中ATT数据交换过程的具体流程如下:
所述ATT建立连接过程使用到广播过程和设备发现过程。所述广播过程为一个BLE设备通过BLE中定义的广播事件向其他BLE设备广播数据,使得该BLE设备可以被其他BLE设备发现的过程。所述设备发现过程为其他BLE设备通过BLE中定义的扫描事件接收该BLE设备广播的数据包,进而发现该BLE设备的过程。
更具体地,ATT层建立连接的过程实际上是BLE技术标准体系中的链路层采用多个事件建立底层通信链路的过程,这些事件包括BLE中定义的用于建立连接的广播事件、扫描事件和连接事件。当从设备处于广播过程时,通过广播事件发送的广播包中包含CC属性的唯一识别码,以表示该从设备支持CPA。此外,广播包中还可以包括标识从设备类型的编号,从而加快建立从设备与支持CPA且具备目标功能的主设备之间的有效连接。主设备通过扫描事件执行设备发现流程时,仅向支持CPA的外设(即从设备)发送连接请求。当主设备发送连接请求后或者从设备接收到主设备发送的连接请求后,通信双方的连接创建,并通过连接事件进一步完成通信双方的连接确立。连接事件中包含了由应用层根据数据传输要求可以进行设置的主要涉及低功耗的连接参数,包括连接间隔(Connection Interval)和从设备延迟(Slave latency)。通过设置连接参数,可以控制设备在断开后重新建立底层连接的时序。
此外,若主设备接收到的广播数据除了包含CC属性的唯一识别码外,还包含有标识设备类型的编号数据,则主设备仅向支持CPA且具备目标功能的外设发送连接请求。更具体地,从设备发送的广播包数据中,包含BLE中定义的服务识别码(Service UUID)和制造商指定的数据(Manufacture Specific Data)这两种类型的广播结构,且制造商指定的数据广播结构紧随服务识别码广播结构之后。其中,在服务识别码广播结构中放入CC属性的唯一识别码;在制造商指定的数据广播结构中放入制造商标识以及标识设备类型的编号数据,其中设备类型编号中可放入11073-PHD中定义的从设备数据命名码。
更具体地,从设备与主设备在通信初始时,从设备使用可发现无向可连接广播事件开启背景广播,使用白名单过滤掉除目标设备(可与从设备连接的主设备)以外的其他设备的连接请求。当从设备与主设备处于通信过程中,为了节约能耗,通常情况下由从设备端主导节能操作,主设备端配合从设备端的节能操作,由从设备控制节能模式的开启和关闭,即由从设备端主动断开ATT层连接,并在有数据传输时,由主设备端发起连接进而完成数据传输。为了使主设备在从设备需要传输APDU时快速建立ATT层连接,因此,在通信过程中,当从设备由于节约能耗与主设备暂时断开ATT层连接后,从设备的CPA层有APDU等待传输时,从设备采用定向可连接广播事件进行广播,主设备在接收到从设备发送的定向可连接广播包时,认为从设备有APDU等待传输,进而立即发起连接请求与从设备建立ATT连接。
所述ATT建立连接过程包括:
S1、从设备执行广播过程,调用BLE中的广播事件,发送广播包,广播包中包含所述的CC属性的唯一识别码,这代表着该从设备支持CPA。广播包中还可以包含在PHD层使用的代表从设备类型的编号。
S2、主设备执行设备发现过程,调用BLE中的扫描事件,接收S1所述的广播包,解析并根据广播包中的内容筛选目标设备,并根据用户的要求向目标设备发送连接请求。
S3、从设备基于连接请求中的信息与主设备建立ATT层连接。
S4、ATT层连接建立完成,并向通信双方的CPA层发送语义为“ATT层连接已建立”事件通知。
ATT层建立连接过程中,S1至S4按照顺序执行。
CPA Manager和CPA Agent基于ATT发送和接收CPA PDU。CPA PDU被置于ATT PDU的净荷中,并以此来完成数据交换过程,该过程是通过ATT中定义的“写请求”、“写响应”、“指示”和“确认”方法来执行的。所述ATT运行过程的特征包括:
S21a、CPA Manager基于ATT发送“写请求”将第m个CPA PDU发送给CPA Agent。依据ATT中的“请求—响应”消息流控制原则,一条“写请求”被发送后,在未接收到对应的响应之前,CPA Manager不会发送其它请求。
S21b、CPA Agent基于ATT接收“写请求”以接收第m个CPA PDU,并通过ATT向CPAManager回复相应的“写响应”。
S22a、CPA Agent基于ATT发送“指示”将第n个CPA PDU发送给CPA Manager。依据ATT中的“指示—确认”消息流控制原则,一条“指示”被发送后,在未接收到对应的确认之前,CPA Agent不会发送其它指示。
S22b、CPA Manager基于ATT接收“指示”以接收第n个CPA Agent,并通过ATT向CPAAgent回复相应的“确认”。
ATT运行过程中,S21a和S21b总是成对按顺序执行,S21a和S21b共同组成了S21;S22a和S22b总是成对按顺序执行,S22a和S22b共同组成了S22;S21和S22的执行顺序由应用层根据自身需求来安排。
所述ATT有计划断开连接过程只在PHD层处于“已连接”状态且CPA层当前没有待传输的APDU时才可能被执行,发起断开ATT层连接事件的设备角色称为发起方,接受ATT层连接已断开事件的设备角色称为接受方。CPA Manager和CPA Agent任一方可作为但不可同时作为发起方或接受方,其特征如下:
S31、发起方的CPA层向己方ATT层发送语义为“断开ATT层连接”的内部指令,同时保存工作状态的数据。
S32、发起方的ATT层接收到“断开ATT层连接”内部指令后,调用BLE中定义的终止连接事件,断开底层传输层的连接。
S33、发起方的ATT层向己方CPA层发送语义为“ATT层连接已断开”事件通知。接受方的ATT层向己方CPA层发送语义为“ATT层连接已断开”事件通知,接受方CPA层保存工作状态数据。
ATT有计划断开连接过程中,S31至S33按照顺序执行。
实施例三:
本实施例中CPA数据交换过程的具体流程如下:
图4为实施例中的逻辑拓扑结构和通信方式,在有效的范围内,一个BLE主设备可以与一个或多个BLE从设备建立点到点连接,连接链路之间是相互独立的。
图5为CPA连接子流程的时序图,当CPA层接收到由ATT层发送的“ATT层连接已建立”事件通知时,CPA层启动协议连接过程。本实施例中,ATT层和PHD层已具有各自的鉴权流程,CPA本身无需鉴权,因此适用于设备间需要经常重连的应用场景,能够大大缩短重连时间,提高用户体验。
CPA Manager通过“写请求”写入的预定值包括预定值一和预定值二。CPA连接子流程的中,CPA Manager通过写入预定值一来启用CC属性的指示功能;CPA断开子流程中,CPAManager通过写入预定值二来关闭CC属性的指示功能。预定值一包括通用使能值和特定服务使能值,预定值二为关闭值。其中通用使能值可以定义为“0x0001”,特定服务使能值可定义为标识具体服务或应用的服务ID,关闭值可定义为“0xFFFF”。更具体地,当CPA Manager向CPA Agent的IE属性:1)写入通用使能值时表示非特定的远端应用或服务启用CC属性的指示功能;2)写入特定服务使能值时表示特定的远端应用或服务启用CC属性的指示功能;3)写入关闭值时表示通用应用或服务以及特定应用或服务关闭CC属性的指示功能。
CPA连接子流程的具体过程为:
CPA Manager基于ATT向CPA Agent发送“写请求”以向IE属性写入预定值一来启用CC属性的指示功能,其中“写请求”中属性地址设置为IE属性的属性地址。若CPA Manager未知IE属性的属性地址,先使用ATT定义的“信息查找请求”来获取CPA Agent端IE属性和CC属性的属性地址。
CPA连接子流程中,CPA Agent接收到CPA Manager发送的“写请求”后,判断是否可识别写入的预定值,如果写入值与预定值(预定义的通用使能值或特定服务使能值)一致,CPA Agent在向CPA Manager发送一个语义为“操作成功”的“写响应”,并向PHD层发送“底层连接已建立”事件通知,并进入CPA运行子流程。CPA Manager在接收到“写响应”后,向PHD层发送“底层连接已建立”事件通知,并进入到CPA运行子流程。
CPA运行子流程具体过程为:
CPA层建立协议连接后,CPA Agent和CPA Manager执行CPA运行子流程。通信双方进入CPA运行子流程后处于等待状态,直到接收到对方发送的消息或者接收到己方PHD层发送的APDU。
图6为CPA Manager端的运行子流程图,结合图8 CPA运行子流程时序图。当CPAManager接收到CPA Agent发送的CC属性的“指示”时,CPA Manager回复“确认”,并将接收的CPA PDU解封装为APDU,然后传递给己方PHD层。当CPA Manager接收到来自己方PHD层的APDU时,依次执行步骤A1和A2:
步骤A1:CPA Manager先构造一个CPA PDU,即将接收到的APDU作为净荷封装为CPAPDU。
步骤A2:CPA PDU在ATT层被封装为ATT PDU,并通过CPA Manager向CPA Agent的CC属性发送“写请求”的方式发送到对端,并且CPA Manager会接收到相应的“写响应”。
CPA Agent从ATT层接收到CPA PDU后,进一步将CPA PDU解封装为APDU并传递给己方PHD层。被传输的APDU对于CPA层来说为一个黑盒,即CPA层不解析所传输的APDU。
图7为CPA Agent端的运行子流程图,结合图8 CPA运行子流程时序图。当CPAAgent接收到CPA Manager发送的对CC属性的“写请求”时,CPA Agent回复“写响应”,并将接收的CPA PDU解封装为APDU,然后传递给己方PHD层。当CPA Agent接收到己方PHD层下发的APDU时,依次执行步骤B1和B2:
步骤B1:CPA Agent先构造一个CPA PDU,即将接收到的APDU作为净荷封装为CPAPDU。
步骤B2:CPA PDU在ATT层被封装为ATT PDU,并通过CPA Agent向CPA Manager的CC属性发送“指示”的方式发送到对端,并且CPA Agent会接收到相应的“确认”。
CPA Manager从ATT层接收到CPA PDU后,进一步将CPA PDU解封装为APDU并传递给己方PHD层。被传输的APDU对于CPA层来说为一个黑盒,即CPA层不解析所传输的APDU。
图9为CPA数据交换过程中CPA层对ATT层的使用和管理,阐述了CPA层在PHD层和ATT层之间的适配作用。该过程使得PHD层能够在以无状态通信为特征的ATT上运行,不受ATT层和底层传输频繁断开和重连的影响。因为CPA层的中间作用,使得PHD层可以认为底层传输是可靠的。图9所描述的通信过程只是本技术方案实施时多种情况中的一种。
当主从设备之间的连接已确立,PHD层处于“已连接”状态的某一子状态(假设为“运行中(Operating)”状态)时,如果从设备此时有待处理的测量数据,将通过本实施方法发送给与之连接的主设备,CPA层对ATT层的使用和管理具体过程为:
从设备(此处称之为“发送方”)的PHD层将测量数据以APDU(假设此APDU为第m-2个APDU)的形式传递给己方的CPA层;
发送方CPA层执行步骤B1构建一个CPA PDU(一个APDU对应一个CPA PDU),即将APDU(m-2)封装为CPA PDU(m-2);
发送方CPA层执行步骤B2,CPA PDU(m-2)被封装为ATT PDU(m-2),并通过属性指示发送到接收方的ATT层;
接收方ATT层将ATT PDU(m-2)解封装为CPA PDU(m-2)并传递给CPA层;
接收方CPA层将CPA PDU(m-2)解封装为APDU(m-2)并传递给己方PHD层,至此,由从设备发送给主设备的测量数据传输完成。类似的,主设备向从设备传输数据(假设为第m-1个APDU)时,具有对称的过程。
当PHD层没有数据进行传输且处于“已连接”状态的某个子状态时,CPA层任意一方向ATT层发送语义为“断开ATT层连接”内部指令,并保存工作状态数据。ATT层断开连接后,向CPA层发送“ATT层连接已断开”事件通知。当CPA层任意一方(此处假设为原接收方)接收到PHD层发送的APDU(假设为第m个APDU)时,如果ATT层连接已断开,则CPA层立即向ATT层发送“建立ATT层连接”内部指令,并等待接收ATT层发送的“ATT层连接已建立”事件通知,进而CPA层将CPA PDU(m)通过ATT定义的“写请求”发送给原发送方。
本实施例中,通常为了节约功耗,ATT层可能会在无数据传输时由CPA层控制ATT层主动断开连接,但是ATT层也可能保持在连接状态,因为设备重连时也会消耗一定的能量,如果设备不断重连消耗的能量比保持连接消耗的能量更多,则保持连接的方式更好一些,主要取决于设备的使用方法。
在本实施例中,CPA断开子流程的触发条件是当通信双方结束PHD层的交互或者PHD层发生异常断开的时候,通信双方的PHD层由当前的状态转换到“未连接”状态,并向各自的CPA层发送语义为“断开底层连接”的内部指令,且不等待各自的CPA层的反馈。
图10为CPA断开子流程的时序图。
CPA断开子流程的具体过程为:
CPA Manager向CPA Agent的IE属性发送带有预定值二(即关闭值)的“写请求”,用于关闭CC属性的指示功能。CPA Agent在接收到“写请求”后,向CPA Manager发送“写响应”,并关闭CC属性的指示功能,清除工作状态数据,向应用层发送“底层连接已断开”事件通知。CPA Manager在接收到“写响应”后,表示CPA Manager已知CC属性的指示功能已关闭,清除工作状态数据,并向应用层发送“底层连接已断开”事件通知。除了应用层根据数据传输需求并基于BLE低功耗特性,控制CPA层主动有计划地断开ATT层连接的情况外,CPA层断开连接时不会进一步控制ATT层断开连接。这是由于ATT层可能承载了多项应用或服务,而CPA层只适用于传输符合11073-20601优化交换协议的数据,当PHD层数据传输服务结束后,CPA层的连接就会断开,而ATT层可能继续用于传输其他的服务。
实施例四:
CPA层完整通信过程为:
图11为CPA层完整通信过程的一个实施例的时序图。当ATT层向CPA层发送“ATT层连接已建立”事件通知后,CPA Manager基于ATT向CPA Agent的IE属性写入预定值一来使能CC属性的指示功能;CPA Agent在接收到“写请求”后向CPA Manager发送“写响应”,并向PHD层发送“底层连接已建立”事件通知;CPA Manager在接收到“写响应”后,向己方的PHD层发送“底层连接已建立”事件通知。
如果此时CPA Agent接收到己方PHD层发送的APDU(1),CPA Agent将此APDU(1)封装为CPA PDU(1),并通过属性“指示”传输给CPA Manager;CPA Manager接收到属性“指示”后向CPA Agent发送指示的“确认”;当CPA Manager接收到CPA PDU(1)后,将CPA PDU(1)解封装为APDU(1)并传递给PHD层;当CPA Manager在接收到己方PHD层回复的APDU(2)后,将该APDU(2)封装为CPA PDU(2),并通过属性“写请求”发送给CPA Agent;CPA Agent接收到属性“写请求”后回复相应的“写响应”;当CPA Agent接收到CPA PDU(2)后,将CPA PDU(2)解封装为APDU(2)并传递给PHD层。
当CPA层接收到PHD层的发送的“断开底层连接”内部指令时,CPA Manager基于ATT向CPA Agent的IE属性写入预定值二来关闭CC属性的指示功能;CPA Agent在接收到“写请求”后,关闭CC属性的指示功能,清除工作状态数据,向CPA Manager发送一个“写响应”,并向己方的应用层发送“底层连接已断开”事件通知。CPA Manager接收到“写响应”后,清除工作状态数据,向己方的应用层发送“底层连接已断开”事件通知。
本专利采用通信协议适配层CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理,使得依赖于可靠底层传输的应用层数据交换协议PHD能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态通信为特征的ATT层上正常运行,由于为了解决需要在ATT层和PHD层之间建立适配,使得下层满足上层的需求的问题,本发明构建了一个建立在ATT层和PHD层之间的通信协议适配层(CPA层),是一种有针对性的适配方式,本发明通过CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理,使得依赖于可靠底层传输(connection-oriented)的应用层数据交换协议PHD(ISO/IEEE 11073-20601)能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态(stateless)通信为特征的ATT层上正常运行,既充分利用ATT的低功耗特性,又能够实现通信双方在应用层的同步交互;本发明构建的CPA层采用ATT作为端到端设备的通信协议,ATT用于在独立的服务访问点之间提供数据单元(PDU)的传输,CPA层可以将PHD层交换的数据单元(APDU)置于CPA层所定义的数据格式相应的域中,进而通过ATT定义的通信方法将CPA PDU传输到对等设备;通信双方可以通过CPA来完成对ATT的使用和管理,当通信双方在PHD层已处于“已连接”状态时,通信双方可以通过CPA层断开ATT层的连接以便于减少功耗,如果应用层不打算断开PHD层的连接,在断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据;在需要重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程,CPA层的这项特性使得PHD层的数据传输不会受到ATT层传输频繁断开和重连的影响,支持应用层的同步交互,相当于CPA层为PHD层屏蔽了底层传输可能发生的不可靠情况,换句话说,因为CPA层的存在,PHD层可以认为底层传输是可靠的,本发明解决了现有技术中BLE技术与ISO/IEEE 11073标准的特性不直接兼容,不能完全满足基于ISO/IEEE 11073标准的应用层数据交换需求,需要在ATT层和PHD层之间建立适配,使得下层满足上层的需求的问题,本发明提供的技术方案充分利用了BLE的低功耗特性以及保持通信双方在应用层的同步交互,进而还可以节省时间和计算资源,提高用户体验,降低成本,同时也不会对***的安全造成负面影响,这样还避免了接收到的BLE消息被移动设备操作***中的多个程序共享时所出现的安全隐患,本发明的诸多优势使得本发明具有较强的通用性和兼容性。
利用本发明的技术方案,或本领域的技术人员在本发明技术方案的启发下,设计出类似的技术方案,而达到上述技术效果的,均是落入本发明的保护范围。
Claims (10)
1.一种依赖于ATT和指示进行适配的数据通信方法,其特征在于,包括:
通过通信协议适配层CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理,使得依赖于可靠底层传输的应用层数据交换协议PHD能够不受ATT和底层传输频繁断开和重连的影响且不受ATT的协议消息长度的限制地在以无状态通信为特征的ATT层上正常运行。
2.根据权利要求1所述数据通信方法,其特征在于,所述数据通信的方法还包括主、从设备进行数据交换前,通信双方分别建立由下至上依次为底层传输层、ATT层、CPA层、PHD层和应用层的数据通信协议栈层级结构。
3.根据权利要求2所述数据通信方法,其特征在于,所述通过通信协议适配层CPA层对蓝牙低功耗BLE技术标准体系中的属性协议层ATT层的运行进行管理包括:
主、从设备进行数据交换时,应用层打开PHD层的连接并且通过执行PHD层数据交换过程来保持通信双方在应用层数据通信的状态同步;
其中包括:
发送方:
若PHD层确定CPA数据交换过程处于CPA运行子流程且PHD层进入已连接状态,则通过PHD层数据交换过程将应用层APDU传输于CPA层并进行结束交互;
若CPA层确定ATT数据交换过程处于ATT运行过程中时,则将PHD层传输的APDU封装为CPA PDU并将CPA PDU通过CPA数据交换过程传输于ATT层;
若ATT层打开底层传输层的连接,则将CPA层传输的CPA PDU封装为ATT PDU并将ATTPDU通过ATT数据交换过程传输于底层传输层;
底层传输层将ATT层传输的ATT PDU按照BLE标准中所定义的属性的格式通过通信连接的过程传输于接收方的底层传输层;
接收方:
底层传输层接收到按照BLE标准中所定义的属性的格式传输的ATT PDU;
ATT层将底层传输层接收到的按照BLE标准中所定义的属性的格式传输的ATT PDU解封装为CPA PDU,并将CPA PDU传递给CPA层;
CPA层将从ATT层接收到的CPA PDU解封装为APDU,并将APDU传递给PHD层;
PHD层从CPA层接收APDU并进行结束交互。
4.根据权利要求3所述数据通信方法,其特征在于,所述通过PHD层数据交换过程进行APDU传输并执行结束交互包括:
若发送方的PHD层向CPA层发送APDU,则通过CPA层进行数据传输;
若CPA层接收到PHD层发送的语义为断开底层连接的内部指令,则CPA层进入CPA断开子流程。
5.根据权利要求4所述数据通信方法,其特征在于,若通信双方的PHD层结束交互或者PHD层发生异常断开时,则通信双方各自的PHD层由当前的状态转换到未连接状态,并向各自CPA层发送语义为断开底层连接的内部指令,且不等待各自的CPA层的反馈。
6.根据权利要求3所述数据通信方法,其特征在于:
若通信双方在PHD层处于已连接状态并且CPA层未接收到新的APDU时,若应用层不打算断开PHD层的连接,通信双方可以通过CPA层断开ATT层的连接;
若CPA层接收到新的APDU需要ATT层重新连接时,通信双方通过CPA层重新建立ATT层的连接,并基于先前保存的工作状态数据继续执行PHD层数据交换过程。
7.根据权利要求6所述数据通信方法,其特征在于,所述通过CPA层断开ATT层的连接之前,通信双方保存CPA层和PHD层的工作状态数据。
8.根据权利要求3所述数据通信方法,其特征在于,所述ATT数据交换过程包括:
ATT建立连接过程:通信双方使用BLE中定义的广播事件和扫描事件建立双方之间在底层传输层的通信连接的过程;
ATT运行过程:通信双方基于ATT发送和接收CPA PDU,CPA PDU被置于ATT PDU的净荷中,通过ATT写请求和ATT写响应、ATT指示和ATT确认这两对属性操作方法完成数据交换过程;
如果通信双方已达成共识且目标应用可以接受数据丢失的风险,则双方可以选择用无连接和无确认的广播通信方式来替代指示子程序;
ATT有计划断开连接过程:ATT层接收到CPA层发送的断开底层连接内部指令时,通信双方保存工作状态数据,使用BLE中定义的终止连接事件断开双方之间在底层传输层的通信连接,并向CPA层发送语义为ATT层连接已断开事件通知的过程。
9.根据权利要求3所述数据通信方法,其特征在于,所述CPA数据交换过程包括:
所述CPA层实例化一个CPA服务,该服务包含一个CC特征,所述CC特征符合GATT中的特征定义,至少包括一个特征值和一个客户端特征配置描述符;
所述CC特征作为写特征描述符子程序、写特征值子程序和指示子程序的操作对象,其包括所述主设备执行写特征描述符子程序使能CC特征的指示功能,以及执行写特征值子程序向从设备发送数据,从设备判断若CC特征的指示功能被使能,则通过指示子程序发送数据;
CPA连接子流程:主设备CPA层通过ATT向从设备CPA层发送写请求以向IE属性写入第一预定值来启用CC属性的指示功能,通信双方CPA层向PHD层发送语义为底层连接已建立的事件通知并进入CPA运行子流程;
CPA运行子流程:通信双方分别从各自所在设备的PHD层获得APDU,然后封装为CPA PDU的格式并通过ATT传输给对方,通信双方还分别从对方那里接收CPA PDU,并将其中包含的APDU提取后发给各自的PHD层;
每一个CPA PDU的传输为CPA层的不可再分且必须一次性完成的最小操作,发送方在完整发送一个CPA PDU之前禁止发送其它CPA PDU,接收方在完整接收一个CPA PDU之前,禁止接收其它CPA PDU;
CPA断开子流程:主设备CPA层通过ATT向从设备CPA层发送写请求以向IE属性写入第二预定值来关闭CC属性的指示功能,通信双方的CPA层向各自的应用层发送语义为底层连接已断开事件通知。
10.一种依赖于ATT和指示进行适配的数据通信***,其特征在于,所述通信***包括依次包括底层传输层、属性协议ATT层、通用属性规范协议适配CPA层、数据交换协议PHD层和应用层的数据通信协议栈层级结构;
所述数据通信协议栈层级结构用于:
实现如权利要求1~权利要求9的任一项的数据通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910765383.4A CN110545265B (zh) | 2019-08-19 | 2019-08-19 | 一种依赖于att和指示进行适配的数据通信***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910765383.4A CN110545265B (zh) | 2019-08-19 | 2019-08-19 | 一种依赖于att和指示进行适配的数据通信***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110545265A true CN110545265A (zh) | 2019-12-06 |
CN110545265B CN110545265B (zh) | 2021-12-31 |
Family
ID=68711628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910765383.4A Active CN110545265B (zh) | 2019-08-19 | 2019-08-19 | 一种依赖于att和指示进行适配的数据通信***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110545265B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111262657A (zh) * | 2020-01-16 | 2020-06-09 | 重庆大学 | 通过gatt和数据分割重组来适配的通信方法及*** |
CN111314448A (zh) * | 2020-02-05 | 2020-06-19 | 重庆大学 | 基于cpa的现场保护来适配的数据通信***及方法 |
CN111328056A (zh) * | 2020-01-20 | 2020-06-23 | 钟代笛 | 基于att和读写指令进行协议适配的通信方法及*** |
CN111416889A (zh) * | 2020-01-16 | 2020-07-14 | 重庆大学 | 通过gatt和异常处理来适配的通信方法及*** |
CN111614459A (zh) * | 2020-05-29 | 2020-09-01 | 上海交通大学 | 针对ble密钥协商协议的侧信道分析方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103080957A (zh) * | 2010-08-24 | 2013-05-01 | 三星电子株式会社 | 用于综合管理个人健康设备标准和个人健康设备非标准数据的终端和服务器 |
KR20140056682A (ko) * | 2012-10-30 | 2014-05-12 | 주식회사 비트컴퓨터 | 저사양 하드웨어에 구현될 수 있는 ieee 11073 메시지 파싱 방법, 이에 기반한 헬스케어 게이트웨이 |
CN104159294A (zh) * | 2014-08-01 | 2014-11-19 | 西南科技大学 | 一种基于蓝牙4.0技术的云定位平台 |
CN105467901A (zh) * | 2016-01-08 | 2016-04-06 | 重庆大学 | 超低功耗生化传感器检测电路 |
CN108259604A (zh) * | 2018-01-17 | 2018-07-06 | 电子科技大学 | 基于ieee11073标准的医疗设备信息交互***及方法 |
CN108683650A (zh) * | 2018-05-03 | 2018-10-19 | 电子科技大学 | 一种医疗设备数据安全传输*** |
CN109474969A (zh) * | 2018-12-19 | 2019-03-15 | 苏芯物联技术(南京)有限公司 | 基于ieee 802.15.4和低功耗蓝牙双协议栈的混合通信方法及*** |
CN109495870A (zh) * | 2018-07-24 | 2019-03-19 | 华为机器有限公司 | 蓝牙测试的方法和装置 |
-
2019
- 2019-08-19 CN CN201910765383.4A patent/CN110545265B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103080957A (zh) * | 2010-08-24 | 2013-05-01 | 三星电子株式会社 | 用于综合管理个人健康设备标准和个人健康设备非标准数据的终端和服务器 |
KR20140056682A (ko) * | 2012-10-30 | 2014-05-12 | 주식회사 비트컴퓨터 | 저사양 하드웨어에 구현될 수 있는 ieee 11073 메시지 파싱 방법, 이에 기반한 헬스케어 게이트웨이 |
CN104159294A (zh) * | 2014-08-01 | 2014-11-19 | 西南科技大学 | 一种基于蓝牙4.0技术的云定位平台 |
CN105467901A (zh) * | 2016-01-08 | 2016-04-06 | 重庆大学 | 超低功耗生化传感器检测电路 |
CN108259604A (zh) * | 2018-01-17 | 2018-07-06 | 电子科技大学 | 基于ieee11073标准的医疗设备信息交互***及方法 |
CN108683650A (zh) * | 2018-05-03 | 2018-10-19 | 电子科技大学 | 一种医疗设备数据安全传输*** |
CN109495870A (zh) * | 2018-07-24 | 2019-03-19 | 华为机器有限公司 | 蓝牙测试的方法和装置 |
CN109474969A (zh) * | 2018-12-19 | 2019-03-15 | 苏芯物联技术(南京)有限公司 | 基于ieee 802.15.4和低功耗蓝牙双协议栈的混合通信方法及*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111262657A (zh) * | 2020-01-16 | 2020-06-09 | 重庆大学 | 通过gatt和数据分割重组来适配的通信方法及*** |
CN111416889A (zh) * | 2020-01-16 | 2020-07-14 | 重庆大学 | 通过gatt和异常处理来适配的通信方法及*** |
CN111328056A (zh) * | 2020-01-20 | 2020-06-23 | 钟代笛 | 基于att和读写指令进行协议适配的通信方法及*** |
CN111328056B (zh) * | 2020-01-20 | 2023-03-24 | 钟代笛 | 基于att和读写指令进行协议适配的通信方法及*** |
CN111314448A (zh) * | 2020-02-05 | 2020-06-19 | 重庆大学 | 基于cpa的现场保护来适配的数据通信***及方法 |
CN111314448B (zh) * | 2020-02-05 | 2022-02-08 | 重庆大学 | 基于cpa的现场保护来适配的数据通信***及方法 |
CN111614459A (zh) * | 2020-05-29 | 2020-09-01 | 上海交通大学 | 针对ble密钥协商协议的侧信道分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110545265B (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110545265B (zh) | 一种依赖于att和指示进行适配的数据通信***及方法 | |
CN110545318B (zh) | 一种依赖于gatt和指示进行适配的数据通信方法及*** | |
EP2645636B1 (en) | Home gateway, cloud server, and method for communication therebetween | |
US7088687B2 (en) | Managing packet transmissions between a device in a limited connectivity network and a device residing outside the limited connectivity network | |
US8670724B2 (en) | Wireless communication terminal, control method therefor, and information storage medium | |
US11166137B2 (en) | Method, device, and system for adjusting packet length in near field communication | |
CN102612033B (zh) | 具有瘦无线接入点功能的手机以及其通信方法 | |
WO2020011026A1 (zh) | 终端应用的控制方法、装置及*** | |
CN110493775A (zh) | 通过att和异常处理来适配的通信方法及*** | |
US20220256629A1 (en) | Data radio bearer control method, device and system for multi-connection system | |
US20150305074A1 (en) | Content delivery method | |
US20240040341A1 (en) | Communication method and terminal device | |
WO2022151420A1 (zh) | 一种数据包传输的方法、装置和*** | |
CN108307537B (zh) | 一种报文交互方法及相关设备 | |
CN113452416B (zh) | 关联接入点设备的方法、装置及存储介质 | |
CN111328056B (zh) | 基于att和读写指令进行协议适配的通信方法及*** | |
CN111314448B (zh) | 基于cpa的现场保护来适配的数据通信***及方法 | |
CN111416889B (zh) | 通过gatt和异常处理来适配的通信方法及*** | |
EP3735024B1 (en) | Data transmission method and device and computer storage medium | |
WO2024020986A1 (zh) | 确定设备的连接状态的方法、装置、芯片和存储介质 | |
CN108810154A (zh) | 一种智能终端的通信连接*** | |
CN114786244B (zh) | 软接入设备控制方法、装置、设备、存储介质及程序产品 | |
WO2023116289A1 (zh) | 用户报文转发的方法、网元、电子设备和存储介质 | |
CN112654021B (zh) | 一种设备间通信的方法、相关设备及*** | |
CN113194508B (zh) | 一种数据传输方法、LoRA服务器以及LoRA终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |