Bluetooth: Peripheral ANCS Client¶
1 功能概述¶
苹果通知中心服务(Apple Notification Center Service,ANCS)应用于BLE设备,如手环、手表等智能设 备,可通过BLE获取iOS设备的各类通知;同时BLE设备也可以使用ANCS向iOS设备发送ANCS相关控制命令。
此项目主要介绍在PAN1080平台上实现ANCS Client。
2 环境要求¶
board: 支持 BLE 的蓝牙设备
uart: 用来显示配对码,日志等
测试设备: iphone手机或平板
PC串口工具:Panchip Serial Assistant V0.0.006.exe
3 编译和烧录¶
例程位置:zephyr\samples_panchip\bluetooth\peripheral_ancs_c
。
使用 ZAL 工具可以对其进行编译、烧录、打开 VS Code 调试等操作。关于 ZAL 工具的详细介绍请参考:Zephyr APP Launcher 工具介绍。
4 Profile介绍¶
ANCS Profile定义了两种设备角色:
Server端:iOS设备为中央设备(Central),提供Service以及数据源。
Client端:BLE设备为外围设备(Peripheral),连接iOS设备后发现其服务以及读写数据。
Server端与Client端的交互流程如下图所示:
ANCS主要包括以下3种特征值(Characteristic):
Characteristic
UUID
Type
Support
Security
Properties
Notification Source
9FBF120D-6301-42D9- 8C58-25E699A21DBD
128 bits
Mandatory
None
Notify
Control Point
69D1D8F3-45E1-49A8-9821- 9BBDFDAAD9D9
128 bits
Mandatory
None
Write
Data Source
22EAC6E9-24D6-4BB5-BE44- B36ACE7C7BFB
128 bits
Mandatory
None
Notify
5 演示说明¶
烧录完成后,设备自动启动蓝牙广播,可以在手机或抓包工具上获取如下信息:
Service UUID: 7905F431-B5CE-4E99-A40F-4B1E122D00D0
Device Name: Panchip_ANCS_C
当手机或其它主设备与其建立连接后,串口log 会显示连接信息,如下:
Connected 45:2F:A4:18:98:44 (random) Security changed: 45:2F:A4:18:98:44 (random) level 2
开发板上电后,打开iOS设备蓝牙功能,搜索周边蓝牙设备,发现广播设备名为Panchip_ANCS_C的蓝 牙设备,如下图所示:
4.点击“Panchip_ANCS_C”,连接开发板,弹出下图所示的配对请求信息,点击“配对”
连接配对成功
6 串口LOG¶
用户可根据串口终端的打印信息,验证ANCS服务是否运行正常
当手机通知消息有动作后会主动上报给开发板,如下所示:
[15:26:46.044]收←◆Performing Negative Action. [15:26:46.136]收←◆Notification Event: Removed Category ID: Other Category Cnt:0 UID: 0 Flags: Negative Action
显示当前通知消息的事件类型,删除当前通知
以用户接打电话为例。使用其他手机给本iOS测试机拨打电话,拨通后本测试机将立刻推送通知 到开发板,开发板将处理接收到的通知消息,并将信息打印到Panchip Serial Assistant。
此时用户如需知道具体拨入的电话号码,可按下开发板的“WKUP”按键;
如用户选择接听,按下“KEY2”查看到电话已接通;
如用户拒绝接听,按下“KEY1”可以查看到电话已挂断。
7 RAM/Flash资源使用情况¶
Memory region Used Size Region Size %age Used
FLASH: 108036 B 384 KB 27.47%
SRAM: 30288 B 50 KB 59.16%