- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Windows Phone 8.1平台蓝牙通信技术
基于Windows Phone 8.1平台蓝牙通信技术
摘 要:Windows Phone 8.1是最新一代Windows Phone操作系统,为了满足可穿戴设备的软件需求,我们根据此平台蓝牙通信技术,开发了基于Windows Phone 8.1平台的应用软件。在这里,我们介绍了可穿戴设备的通信网络系统,蓝牙通信关键技术以及开发过程中遇到的问题。
【关键词】Windows Phone 8.1可穿戴设备 蓝牙通信
蓝牙4.0技术的发展,使可穿戴设备从小众、新颖转变为了有用、主流的市场需求,因此促进了基于各种操作系统的可穿戴设备应用软件市场的发展。Windows Phone平台是全球第三大智能手机操作系统,它是微软面对iPhone和Android的强势,综合地考虑了许多iPhone和Android的优点以及缺点的基础上诞生的。Windows Phone 8.1是最新一代Windows Phone操作系统,可以说Windows Phone 8.1平台仍属于蓝海阶段,大部分可穿戴设备没有Windows Store应用,但是考虑Windows生态系统的巨大潜力,它与可穿戴设备的结合将会赋予更多个人开发者以及开发团队绝佳的发展机遇。因此我们为一些可穿戴设备开发了基于Windows Phone 8.1平台的手机应用软件。
1 通信系统设计
可穿戴设备使人脱离了电脑和智能手机的限制,催生了新的移动网络入口,引领了个人局域网的全面升级。所以在我们开发的系统里,智能手机充当联网服务器,而可穿戴设备将成为移动网络输入和输出终端,让人们随时随地接入互联网。例如,通过智能手表自动输入人体健康状态和运动状态,智能眼镜负责输出反馈结果。
下面我们以智能手表为例,简单介绍通信网络系统,如图1所示。智能手表实时监测人体心率信息,通过蓝牙通信把数据发送给智能手机,智能手机作为联网服务器把数据发送给云服务器,接着云服务器把这些数据存入数据库,并根据所需算法对心率数据进行分析计算,最终把结果反馈回智能手表。
2 关键技术
2.1 蓝牙4.0技术
蓝牙4.0版本将传统蓝牙技术、高速技术和低耗能技术合为一体,强化了蓝牙在数据传输上的低功耗性能。此外,低成本和跨厂商互操作性,3毫秒低延迟、AES-128加密等诸多特色,可以用于计步器、心率监视器、智能仪表、传感器物联网等众多领域,大大扩展蓝牙技术的应用范围。
可穿戴设备在蓝牙4.0通信中是从机角色,从机的主要工作是对外广播,接受主机的连接,并且与主机之间进行通信,其数据传输是通过特征值的读写来实现的。
2.2 Windows Phone 8.1蓝牙通信
Windows Phone 8.1的配置符合蓝牙技术联盟的标准,它的蓝牙技术支持两个蓝牙方案:一个是应用程序到应用程序的通信,另一个是应用程序到设备的通信。下面给出了Windows Phone 8.1在应用程序到设备的通信中,蓝牙通信读写操作的具体代码。
2.2.1 读操作
//根据设备ID寻找蓝牙设备
BluetoothLEDevice bleDevice = await BluetoothLEDevice.FromIdAsync(ID);
//使用给定的服务 ID 返回 GATT 服务
var service = bleDevice.GetGattService(new Guid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx));
//返回多个特征的矢量,这些特征由指定的 UUID 标识并属于此 GattDeviceService 实例
var characteristics= recKEYService.GetCharacteristics(new Guid(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx))[0];
//创建监听,监听特征值变化
characteristics.ValueChanged += characteristics_ValueChanged;
await Characteristics.WriteClientCharacteristicConfigurationDescriptorAsync(GattClientCharacteristic-
ConfigurationDescriptorValue.Notify);
//特征值变化时的读取函数
public void characteristics_ValueChanged(GattCharacteristic sender, GattValueChangedEventArgs args)
文档评论(0)