Android平台BLE应用程序开发指南
从Android 4.3开始,BLE(Bluetooth Low Energy)在Android平台上被支持了。但是目前Android上BLE应用程序稀少,尤其是中文应用程序,希望本文对有兴趣开发BLE应用程序的开发者有所帮助。本文主要是对目前已有的Andriod BLE开发相关资料进行整理,给出一个开发资料的索引。(本文会根据大家的问题,不断完善)
基本参考资料
- 最基本的学习资料是这篇Android官方文档:《Bluetooth Low Energy》。该文档对BLE涉及的基本概念进行了介绍,并结合例子代码对如何使用Android BLE API进行了讲解。所用的例子源代码在AOSP/developers/samples/android/connectivity/bluetooth/BluetoothLeGatt/。
- 开发中需要用到的BLE profile的spec,可以在蓝牙组织的官方网站上找到《Specification Adopted Documents》,该页面的“GATT-Based Specifications“即是BLE profile and service的spec。我们开发手机端的应用主要是根据某个profile spec,但是该profile对应的service spec也需要阅读,因为它通常包含了该profile相关的专业概念的说明和数据格式的定义,比如Heart Rate Service spec中就介绍了从sensor发送到手机的Heart Rate Measurement Value field的定义,手机端在接收到数据后就要根据这个field定义来解析数据。
- “Definition Browser“页面也是一个很重要的参考资料,在这个页面你可以“View the structure of XML definitions for GATT profiles, services, characteristics, descriptors and declarations and download the definitions in an XML format“,此外还能查看Units和Format Types。比如你可以在characteristics->Heart Rate Measurement下看到该characteristic的Assigned number(uuid16)和Value fields的表格。
- Profile, service, characteristic等都有一个128-bit UUID(Universally Unique Identifier),它可以通过把uuid16加到BASE_UUID的高32位得到,可以参考"Service Discovery"。
BLE相关的类
- BluetoothGatt
- BluetoothGattCallback
- BluetoothGattService
- BluetoothGattCharacteristics
- BluetoothGattDescriptor
- BluetoothGattServer
- BluetoothGattServerCallback
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。