3

我是新的 bluez 用户,我正在尝试使用 bluez API 并使用 NDK 开发本机代码 c,以使 android 4.0.3 支持 BLE 我阅读了 Bluez 的代码源,但我找不到确切的功能我应该像连接到 GATT 一样使用吗?任何帮助将不胜感激。

谢谢!

4

1 回答 1

3

我认为您在尝试通过阅读 Bluez 源代码来确定您需要什么方面处于正确的轨道上,但您需要确切地知道您在寻找什么。如果您只想实现 BLE 功能,请从此处获取 bluez 包,并查看实现大多数 BLE 功能的两个特定源文件:

  • 工具/hcitool.c
  • 属性/gatttool.c

一般来说,基本的 blueZ shell 命令是:

hcitool lescan                                #scanning for LE devices
hcitool lecc                                  #connecting to LE devices
hcitool ledc                                  #disconnecting from LE devices
gatttool -b <MAC Address> --primary           #discover primary services
gatttool -b <MAC Address> --characteristics   #discover characteristics
gatttool -b <MAC Address> --char-read         #read characteristic value
gatttool -b <MAC Address> --char-write        #write to a characteristic value

然后,您可以通过在上述源文件中查找这些命令来进行一些逆向工程,并查看它们是如何在那里实现的。

我希望这至少可以为您指明正确的方向。

于 2014-04-09T17:31:26.387 回答