gpt4 book ai didi

linux - BlueZ:如何从命令行设置 GATT 服务器

转载 作者:IT王子 更新时间:2023-10-29 00:27:53 24 4
gpt4 key购买 nike

我想知道是否有办法从 Linux 命令行设置 gatt 服务器。我知道 BlueZ gatttool 命令允许您充当 gatt 客户端并询问远程 gatt 服务器,但是,我认为该工具不能用于设置服务器。

我想要实现的是一个 gatt 服务器,从命令行创建,并且可以被任何中央设备(例如 iOS 或 Android 设备)询问以连接到 GATT 服务器,发现服务和特征,并在特征中操作数据。

例子:

具有 1 个服务的 Gatt 服务器,其中包含 3 个特征。

  • 服务 uuid = 0xFFFF
  • 字符 1 uuid = 0xAAAA,值 = 01,属性 = 可读
  • Char 2 uuid = 0xBBBB, value = 00, properties = readable & writable
  • 字符 3 uuid = 0xCCCC,值 = 02,属性 = 可通知

我正在使用内核版本 3.11.0 和 BlueZ 5.19

最佳答案

因此现在使用新的 bluetoothctl 工具来处理。可以使用此工具如下设置 gatt 表:-

#bluetoothctl
[bluetoothctl] menu gatt
[bluetoothctl] register-service 0xFFFF # (Choose yes when asked if primary service)
[bluetoothctl] register-characteristic 0xAAAA read # (Select a value of 1 when prompted)
[bluetoothctl] register-characteristic 0xBBBB read,write # (Select a value of 0 when prompted)
[bluetoothctl] register-characteristic 0xCCCC read # (Select a value of 2 when prompted)
[bluetoothctl] register-application # (This commits the services/characteristics and registers the profile)
[bluetoothctl] back
[bluetoothctl] advertise on

我已经尝试了一些服务/特征组合,并且能够让它发挥作用。 GAP (0x1800) 和 GATT (0x1801) 服务在默认情况下可用,并且在您发布广告时将成为 GATT 表的一部分。您还可以使用以下命令查看可用服务:-

[bluetoothctl] show
Controller 00:AA:BB:CC:DD:EE (public)
Name: MyMachine
Alias: MyMachine
Class: 0x000c0000
Powered: yes
Discoverable: no
Pairable: yes
UUID: Headset AG (00001112-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Audio Source (0000110a-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb)
**UUID: Unknown (0000ffff-0000-1000-8000-00805f9b34fb)**
UUID: Headset (00001108-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d0532
Discovering: no

关于linux - BlueZ:如何从命令行设置 GATT 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25427768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com