Windows Phone 8.1低功耗蓝牙开发-Nokia Treasure Tag

1. 引言

上一篇文章《Windows 8.1 低功耗蓝牙开发》讲述了如何在Windows 8.1平台上创建低功耗蓝牙应用,并且以TI的Sensor Tag为例,给出了代码步骤和演示。其实当前很多低功耗蓝牙的应用场景是与用户的手机相连接,如TI的Sensor Tag官方就给出了Android和iOS的客户端应用(很遗憾没有Windows Phone版本的,不过现在大家可以去Store上下载个人开发者开发的Sensor Tag应用了,前段时间刚刚出现在美国区的市场了)。再比如小米刚刚出的79块钱的手环,也是通过低功耗蓝牙与Android设备连接。今天,让我们来看一看如何在Windows Phone 8.1上开发低功耗蓝牙的应用。

2. 设备

Windows Phone 8的大部分设备从硬件上是支持蓝牙4.0 BLE的,前提是系统必须升级,以Lumia设备为例,需要在Black以上。而且,从Build大会上的消息来看,目前大部分开发者的Developer Preview系统在软件上是不支持蓝牙4.0 BLE的。不过昨天刚刚在中国举办的Windows Phone 8.1 Update 1表明,1520、1320、1020等设备马上就要迎来这次关键的系统更新,更新以后就可以开发蓝牙4.0 BLE应用了。另外,已经在市场上可以买到了Lumia 630和Lumia 930是原生的Windows Phone 8.1系统,他们是支持蓝牙4.0 BLE的。这里,我使用的是Lumia 630的设备,系统版本号是8.10.12359.845。

蓝牙设备用的是Nokia Treasure Tag,淘宝上有卖,国内好像没有出行货。对于这个小东西,我想很多人可能不知道。其实,这个东西对于那些马虎爱丢东西的人比较有用,我们可以把车钥匙挂在上面,或者把它和钱包等重要的东西放在一起,同时与手机通过蓝牙连接起来,只要这个Tag与手机之间的距离超过一定范围,手机和Tag就会发出警报提醒用户。而当手机和 Treasure Tag 距离非常远的时候,可以通过 HERE 地图定位出位置。Store中有专门的应用Nokia Treasure Tag,用于实现上述功能。下面给出实验用到的设备,左边的是Treasure Tag,中间的是Lumia 630,右边的是待追踪的钥匙,如图1所示。

图1

3. 准备

如果在Windows Phone上第一次使用Treasure Tag,我们需要进行配对,第一次使用配对成功以后,后面就不需要再进行这个操作了。首先,在设置->蓝牙中打开蓝牙,等待Nokia Proximity Sensor的出现,然后点击配对,PIN码是0000.如下图2所示。

图2

连接以后,我们就可以创建应用了。

4. 创建应用

关于Nokia Treasure Tag的应用程序处理,可以参考今年Build大会上的课程《Building Great Bluetooth Apps for Windows Phone》,目前在Channel9上可以看到这个视频。这个视频所对应的代码也可以在msdn的code sample网页上找到:Keep The Keys (Bluetooth LE)。源代码工程包含三个项目:KeepTheKeys、KeepTheKeysBackground和KeepTheKeysCommon。

需要注意的地方有以下几点:

4.1在应用的Package.appxmanifest文件中,添加以下Capabilities,因为这个和Treasure Tag的蓝牙通信有关:

<Capabilities>

<m2:DeviceCapability Name="bluetooth.genericAttributeProfile">

<m2:Device Id="any">

<m2:Function Type="serviceId:1803" />

</m2:Device>

</m2:DeviceCapability>

</Capabilities>

4.2 后台任务

关于Treasure Tag的任务,是以后台方式运行的,这个工程是winmd的工程.

4.3 在main project中需要添加对这个后台任务的引用,如下图3所示。

图3

4.4 在Package.appxmanifest文件的Application中,将"Toast capable" 设置为"Yes",因为应用要用到Toast消息,如下图4所示。

图4

4.5 在Package.appxmanifest文件的Declarations中,添加"Background Task"这一项,设置其EntryPoint为"KeepTheKeysBackground.KeyFobTask",如下图5所示。

图5

4.6 Treasure Tag中提供的服务是GATT Service中标准的LinkLoss服务,并不包含如TxPower等等其他服务。

应用程序运行以后,主页面显示的是设备页面,即蓝牙能够搜索到的当前BLE 4设备,如下图6所示。

图6

点击其中的Nokia Proximity Sensor,进行报警的设置。如下图7所示。

图7

在Tag远离手机以后,Tag端会发出声音提示。手机端也会在Action Center中出现消息,如下图8所示。

图8

资源:

1. Channel 9:Building Great Bluetooth Apps for Windows Phone

2. MSDN Code Sample:Keep The Keys (Bluetooth LE)

3. Windows Store:Nokia Treasure Tag

Windows Phone 8.1低功耗蓝牙开发-Nokia Treasure Tag

时间: 2024-10-07 19:56:57

Windows Phone 8.1低功耗蓝牙开发-Nokia Treasure Tag的相关文章

Windows 8.1 低功耗蓝牙开发

1. 概述 在蓝牙4.0发布以前,给大家的直观印象就是蓝牙耳机,它就是用来满足短距离内中等带宽的音频通信需求.然而蓝牙4.0发布之后,用途就大不一样了,特别是现在物联网和可穿戴之风盛行的年代,很多小玩意都使用了它,如心率计.手环.钥匙扣等等物件,最终它能够和用户的手机.Pad以及PC等设备连接,实现五花八门的功能.为什么蓝牙4.0的用途广泛了呢?首先归功于低功耗,运行Bluetooth Low Energy的设备,一节纽扣电池可以支持其半年的时间:其次是低成本,如TI公司的CC2540蓝牙SoC

NRF52833蓝牙5.1可用于105℃环境温度的Nordic蓝牙5.1 SoC能实现更广泛的并发多协议低功耗蓝牙、mesh和Thread应用

Nordic Semiconductor宣布推出nRF52833先进多协议系统级芯片(SoC),这是其广受欢迎且验证通过的nRF52系列的第五个新成员.nRF52833是一款功耗超低的低功耗蓝牙 (Bluetooth® Low Energy /Bluetooth LE).Thread.Zigbee和2.4 GHz私有无线连接解决方??案,包含蓝牙5.1测向功能的无线电,并且可以在-40至105°C温度范围内有效运作.nRF52833采用具有FPU的64 MHz 32位 Arm® Cortex®-

Android低功耗蓝牙(蓝牙4.0)——BLE开发(上)

段时间,公司项目用到了手机APP和蓝牙设备的通讯开发,这里也正好对低功耗蓝牙(蓝牙4.0及以后标准)的开发,做一个总结. 蓝牙技术联盟在2010年6月30号公布了蓝牙4.0标准,4.0标准在蓝牙3.0+HS标准的基础上增加了对低功耗蓝牙(BLE)的支持.相比原有的普通蓝牙和高速蓝牙,BLE最大的特点就是低功耗,低延时,快速的搜索和连接速度,但数据传输速度相比传统蓝牙低.接下去将从BLE的概念以及代码两个方面介绍Android下的BLE. 先来说说基本概念: 1.BLE相关概念 1.1 GATT.

使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发具体解释

转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50909410 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发具体解释 演示样例源代码: https://github.com/junkchen/BleLib/tree/master/sample Android ble4.0开发基础篇:http://blog.csdn.net/kjunchen/article/details/50339549 BleLib是An

Android 低功耗蓝牙BLE 开发注意事项

基本概念和问题 1.蓝牙设计范式? 当手机通过扫描低功耗蓝牙设备并连接上后,手机与蓝牙设备构成了客户端-服务端架构.手机通过连接蓝牙设备,可以读取蓝牙设备上的信息.手机就是客户端,蓝牙设备是服务端. 手机做为客户端可以连接多个蓝牙设备,所以手机又可以叫中心设备(Central),蓝牙设备叫外围设备(Peripheral). 还有另外一个称谓:手机叫主设备(Master),蓝牙设备叫从设备(Slave). Android4.3 开始支持低功耗蓝牙,此版本只支持单模式:同时只能工作在中心设备模式或者

【转】Android低功耗蓝牙应用开发获取的服务UUID

原文网址:http://blog.csdn.net/zhangjs0322/article/details/39048939 Android低功耗蓝牙应用程序开始时获取到的蓝牙血压计所有服务的UUID如下所示: 08-28 09:05:48.488: D/BluetoothGatt(4251): onGetService() - Device=08:7C:BE:21:D1:24 UUID=00001800-0000-1000-8000-00805f9b34fb 08-28 09:05:48.48

nRF52系列来袭,Nordic的低功耗蓝牙方案大有可为

坐落在北欧的挪威不像他的邻居芬兰那样,可以先后依靠NOKIA和愤怒的小鸟在世界科技界享有盛名.在一般人看来,挪威除了一个逐渐式微的Opera浏览器以外,并没有更多拿得出手的科技企业.而事实证明这只是你一厢情愿的想法. 在物联网热潮席卷全球的最近几年,有一家挪威公司凭借着在低功耗无线领域的数十年深厚积累,在物联网应用领域攻城拔寨,且获取了客户的一致好评.这家公司叫做Nordic半导体,而他们的主要产品就是物联网必不可少的低功耗无线方案. Nordic技术营销经理Pål Kastnes(左).Nor

低功耗蓝牙BLE之AES-128加密算法

版权声明: 博主:枫之星雨 声明:本文为博主原创文章,转载请注明原文出处. 博文地址:http://blog.csdn.net/zzfenglin 邮箱:[email protected] QQ号:454086991(申请加好友时请备注"技术交流") 加密 在连接时,可以对净荷中的数据进行加密,确保数据的机密性,从而抵御攻击者.机密性是指第三方"攻击者"由于没有加密链路的共享密钥,因此无法拦截.破译或读取消息的原始内容. 加密数据包含一个消息完整性校验值,表明该数据

【原创】cocos2d-x3.9蓝牙开发之蓝牙开启

本人第一次搞android开发,很多东西都是只知道一点点,然而都没怎么实践过,所以这次就边学边做自己想要的功能,可能会花较长时间,不过肯定是值得的,有用词或哪里说得不对的请指正. 我自己有android和windows的东西,所以只能暂时只能搞android. 蓝牙开发有几个关键步骤,我一步步来 1,首先开启蓝牙 2,搜索可用设备 3,创建蓝牙socket,获取输入输出流 4,读取和写入数据 5,断开连接关闭蓝牙 我先从第一步开始实现,开启蓝牙,而开启蓝牙是需要一个过程的. 流程是这样的,点击开