之前讲的都是SDK中对于SOC资源的用法,如PIO、timer、ADC等,从BC0012开始,我们将逐步加入BLE的内容。本节主要讲的是如何利用第三方APP-“LightBlue”与CSR1010建立连接。
首先,我们需要准备好APP,在苹果商店搜索“LightBlue”就可以找到,这里要求IOS7.0以上,iPhone 4S以上。
安装完毕后,我们要将测试程序下载到CSR1010中。打开我们本次测试的工程–hr_sensor:
打开后,将我们的开发板连接到USB口,然后点击run:
一开始有可能要编译,请耐心等待,不一会儿会出现下载成功提示:
接下去我们打开下好的APP,注意此时确保手机蓝牙已经打开:
打开后,我们会看到以下界面:
不一会应该就会出现我们的设备“CSR HR Sensor”,如果没有,重新用SDK烧录一遍程序并运行。
我们点击“CSR HR Sensor”与设备建立连接:
这里我们可以看到“ADVERTISEMENT DATA“,点击Show按钮,我们可以看到具体的广播数据。
下面的“Heart Rate”,“Battery Service”,表示的是所支持的服务,继续往下拉,能看到其他服务:
这里有名称的是标准的profile,那个”UUID:00001016…”是用户定义的私有服务,用于传输一些私有协议。
我们再来看“Heart Rate”下面有三个选项“Heart Rate Measurement”、“Body Sensor Location”、“Heart Rate control Piont”,分别支持“Notify”、“Read”、“Write”,Notify是设备主动给APP上报数据,Read是APP发送read指令从设备端读取数据,Write是APP端给设备写入一些设置数据。通过这些选项,我们就可以实现设备与APP的通信。
首先我们点击“Heart Rate Measurement”:
我们可以选择“Listen for…”进行设备数据的监听:
从图中我们可以看到,每秒钟设备给APP上报的数据。
我们再退回到上一个界面,并点击“Body Sensor Location”查看:
非常明显,这里可以进行Read操作,点击“Read again”会收到设备的反馈数据0x01.
点击“Write new value”会跳出对话框:
可以输入对应的数据,点击“Done”会将刚刚输入的数据发送到设备端。
关于其他的profile,如“Battery Service”、”Device Information“等,基本的调试方法也一样,用户可以自己去熟悉。
当然,CSR官方也推出了”BLE Apps”这一个APP,苹果商店也可以直接下载到,为什么本次讲解用第三方工具LightBlue呢?自然,是因为LightBlue这个工具是比较好用的,可以说是在IOS端调试BLE不可缺少的工具之一,当然,这只限于给工程师调试。目前没有发现Android端的LightBlue,当然也有类似的工具,用户自己可以在网上搜索一下,我这边没测试过,就不做推荐了。