我正在尝试使用Adafruit Feather 32u4 Bluefruit LE来实现Apple 通知中心服务,以便能够从我的 iPhone 接收通知到 Feather 板,通过串行连接将它们发送到我的 PC 并使用我编写的一些软件来处理它们.
我使用 AT+GATTADDSERVICE 和 AT+GATTADDCHAR 命令设置了 ANCS 服务和特性,但是当我尝试使设备可被发现并宣传使用 ANCS 服务时,设备将无法被发现。
这是我使用的命令:
AT+GAPSETADVDATA=02-01-06-11-06-79-05-F4-31-B5-CE-4E-99-A4-0F-4B-1E-12-2D-00-D0
在哪里:
- 0x02:是有效载荷中第一条消息的字节长度
- 0x01:是“数据类型值”,表示这是一个“标志”
- 0x06:表示标志 LE General Discoverable Mode without BR/EDR support
- 0x11:为第二条消息的字节长度(0x11为十进制的17个字节,1为“消息“Incomplete List of 128-bit Service Class UUIDs”的类型,16个字节为ANCS的UUID)
- 0x06:是“128 位服务类 UUID 的不完整列表”的“数据类型值”
- 0x7905F431B5CE4E99A40F4B1E122D00D0:是 ANCS 的 UUID。
但是,当我使用上述命令时,设备将无法被发现。你知道为什么吗?
在尝试解决问题时,我注意到如果我尝试宣传不同的服务,例如心率服务和设备信息服务,则该设备确实会在其他设备上可见。这是我使用的命令:
# Advertise as Discoverable and BLE only with 16-bit UUIDs 0x180D and 0x180A
AT+GAPSETADVDATA=02-01-06-05-02-0d-18-0a-18
您知道为什么在尝试宣传 ANCS 服务时设备不会变得可见吗?
谢谢!
PS我是蓝牙协议的新手,对不起。