Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种以边缘为中心的低功耗蓝牙应用开发方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

摘要:一种以边缘为中心的低功耗蓝牙应用开发方法,包括:1在边缘节点上编写代码,并提供相关设备的配置文件;2优化可执行连接的参数,生成二进制可执行文件并部署这些节点;3使用无线总线体系结构来实现设备发现、连接管理和数据传输的功能;4在系统运行期间,选择是否重定向设备,并提供了一个用于动态设备重定向的命令行界面工具,无需对节点重新编程即可完成对连接的重定向。本发明使用无线总线架构将BLE的底层细节屏蔽,从而大大降低应用开发所需的代码量,并针对多连接的场景进行了优化,自动为开发者选取最优的连接参数配置,在满足平均延迟满足应用需求的前提下,最小化能量消耗。

主权项:1.一种以边缘为中心的低功耗蓝牙应用开发方法,包括以下步骤:1在边缘节点上编写代码,并提供相关设备的配置文件,包括以下步骤:1.1设置设备信息,包括设备的所有基本信息;ADDR字段表示设备地址,设置为LOCAL,或远程节点的MAC地址;DEVICE_TYPE字段表示设备类型,DRIVER_NAME字段用于查找相应的驱动程序;1.2设置绑定信息,将物理设备映射到程序语言中的设备对象;1.3设置连接参数,用来选择优化的连接参数;LATENCY字段给出了每次访问远程设备的延迟要求,设置为确切的延迟值,或根据经验值所提供的不同的延迟级别,在程序运行时将其自动转换成对应的延迟值;1.4设置工作模式,设置工作模式为主动模式,同步被动模式和异步被动模式中的一种;主动模式下,远程设备会自动将传感器数据报告给具有给定周期的边节点;同步被动模式下,边缘节点从数据请求命令或写入命令开始并进入阻塞状态,以等待远程节点的响应;异步被动模式下,边缘节点同样从数据请求命令或写入命令开始,但异步被动模式下的边缘节点将不再等待应答,而是使用回调函数来处理应答数据;2优化可执行连接的参数,生成二进制可执行文件并部署这些节点;包括如下步骤:2.1计算主动模式下一秒钟内保持活动的连接事件数nka:2.1.1计算平均等待时间,因为数据包等待下一个连接事件来开始传输数据的等待时间均匀分布在0至teci,故令平均等待时间为0.5teci2.1.2计算lapp位负载的应用程序数据包分割后的个数npak,由于利用逻辑链路控制和适配协议L2CAP进行数据传输,因此每个L2CAP数据包的有效负载长度应小于247字节: 2.1.3计算数据交换的次数: 2.1.4计算传输所有数据的连接事件数nce和最后一个连接事件中的数据交换量nlast: nlast=modnpaklapp,nmaxce42.1.5计算最后一次数据交换的位数:lrem=modlapp,24752.1.6故单向传输lapp字节的数据包所花费的时间tunilapp可以表示为:tunilapp=ncelapp-1×teci+tint247×nlast-1+tintlrem62.1.7因此,主动模式下的远程节点的总延迟可以表示为,其中tint表示远程节点生成数据并将数据传递到BLE链路层时间:tactive=tint+0.5teci+tunilapp72.1.8综上所述,主动模式下一秒钟内保持活动的连接事件数nka可以得到,其中tapp+tinittci为两次连续数据传输之间的平均连接事件数: 2.2计算被动模式下一秒钟内保持活动的连接事件数nka:2.2.1计算请求数据传输开始和响应数据传输开始之间的延迟: 2.2.2计算访问一次被动节点所需要的总时间tpassive,其中tunilrsp表示远程节点传输响应所需要的时间:tpassive=tinit+0.5teci+trspdly+tunilrsp102.2.3被动模式下,设备支持同步和异步调用;对于同步调用,应用程序在收到响应数据前,将被阻塞;至于异步调用,一旦数据包被处理到链路层,应用程序计时器就会重新启动;对于突发型数据,相应的连接的能量消耗主要用于保持连接,因此一秒内保持活动的连接事件数应为因此被动模式下一秒钟内保持活动的连接事件数nka可以得到: 2.3根据2.1和2.2得到的nka,将连接参数优化问题表述为: 2.4首先,计算有效连接间隔teci和有效数据交换数neden;2.4.1为了计算teci和neden,需要分析多连接场景中连接交叠情况,连接交叠可能会导致性能显著降低;经过分析,将其区分为两种连接交叠:换出式交叠和屏蔽式交叠;2.4.2换出式交叠:每次连接时BLE链路层会为每个连接事件预留最短持续时间;这一段事件能够保证主设备和从设备分别传输具有最大有效负载长度的数据包;2.4.3屏蔽式交叠:当一个连接扩展其连接事件以传输大数据包时,如果新的连接事件启动,则连接事件将提前终止;如果当前连接事件有更多数据要传输,主机将估计下一次数据交互的时间,并测量到下一个锚点的时间;如果时间不足以完成下一次数据交互,则主机将终止当前连接事件来保证下一个连接事件能够被及时地调度;2.4.4如果存在换出式交叠,链路层不能在下一次连接事件中传输任何数据;两个有效连接事件之间的时间间隔teci将大于原始连接间隔;2.4.5有效数据交换数neden用来表示在每个有效连接事件中,传输一个具有最大有效负载长度的L2CAP数据包的平均数据交换次数;2.4.6一旦定义了连接间隔和锚定点位置,就可以按如下方式获得这两个值;首先,计算公共连接间隔tcci,它是所有连接间隔中的最小公共倍数;2.4.7然后,在tcci内使用与BLE链路层相同的调度策略进行连接;在调度过程中,记录每个连接的两个值:有效连接事件的数量neff,和在第i次连接事件中传输最大有效载荷L2CAP数据的最大数据交换次数2.4.8最后,每次连接的teci和teden可以通过如下计算得到: 2.5接着,计算第i次连接的传输延迟ti和一秒钟内保持活动状态的连接事件数如果所有设备ndev的传输延迟小于tdes,则函数返回平均能耗的倒数nka;2.6由于某些连接参数集会导致nto个设备的延迟超过其设计平均延迟,为了舍弃这些参数集同时不陷入局部最优解,因此要对返回值进行放宽,并添加一个惩罚项;惩罚项是负值,超时越多,值越小;2.7综上所述,可以得到适应度函数如下所示,其中表示第i台设备所设计的平均延时,α是惩罚系数,经验值为100000: 2.8遗传算法首先使用随机连接间隔初始化总体,然后开始迭代;在每次迭代中,它对每组参数进行排序,并使用竞赛选择来选择那些具有最高排名值的参数;2.9采用多点交叉和交换变异对种群进行更新;2.10迭代结束后丢弃可能导致超时的参数集,并选择值最高的参数集;3使用无线总线体系结构来实现设备发现、连接管理和数据传输的功能,该;无线总线屏蔽了通信协议并完全负责数据传输,且模块化的设计使其具有很高的可扩展性;具体包括以下步骤:3.1远程设备启动BLEdge服务器并初始化与其连接的外围设备;3.2远程节点开始广播,BLEdge核心根据配置发现并连接到远程节点,BLEdge核心和BLEdge服务器为每个连接维护一个连接状态机用来连接管理,四种状态包括待机、广播、发现和连接;3.3BLEdge核心注册本地和远程外围设备,应用程序通过BLEdge核心或使用抽象驱动程序直接访问设备,其中传感器和执行器的驱动被存储为一个系统模块,包括以下三个文件:3.3.1驱动文件,通过物理连接操作传感器或执行器,通常由制造商或操作系统提供;3.3.2移植文件,用来移植一个新的传感器或执行器驱动程序;3.3.3初始化代码,用来初始化设备,并将设备接口注册到BLEdge核心或BLEdge服务器;一旦节点通电启动,BLEdge将调用此文件来自动初始化设备并注册接口,边缘节点可以发现并访问远程设备;3.4BLEdge核心和服务器建立连接,接口wireless_interface_t包含八个控制无线协议栈的指针和四个用于无线协议栈状态变化的回调函数,通过这个接口不仅能适配NimBLE栈,还能适配IEEE802.15.4等其他协议栈;3.5BLEdge核心和服务器之间开始传递消息,提出了bledgedata_t的数据结构用来传递消息并为其动态分配内存;该数据结构保存了外围设备的类型、单位和数据长度,可以轻易使用它得到相应的数据;4在系统运行期间,选择是否重定向设备,并提供了一个用于动态设备重定向的命令行界面工具,无需对节点重新编程即可完成对连接的重定向。

全文数据:

权利要求:

百度查询: 浙江大学 一种以边缘为中心的低功耗蓝牙应用开发方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。