当前文档版本为 v1.2.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

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定义了两种设备角色:

  1. Server端:iOS设备为中央设备(Central),提供Service以及数据源。

  2. Client端:BLE设备为外围设备(Peripheral),连接iOS设备后发现其服务以及读写数据。

    Server端与Client端的交互流程如下图所示:

    image

    Client & Server交互流程图

    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 演示说明

  1. 烧录完成后,设备自动启动蓝牙广播,可以在手机或抓包工具上获取如下信息:

    • Service UUID: 7905F431-B5CE-4E99-A40F-4B1E122D00D0

    • Device Name: Panchip_ANCS_C

  2. 当手机或其它主设备与其建立连接后,串口log 会显示连接信息,如下:

    Connected 45:2F:A4:18:98:44 (random)
    
    Security changed: 45:2F:A4:18:98:44 (random) level 2
    
  3. 开发板上电后,打开iOS设备蓝牙功能,搜索周边蓝牙设备,发现广播设备名为Panchip_ANCS_C的蓝 牙设备,如下图所示:

    image

    发现广播名Panchip_ANCS_C

    4.点击“Panchip_ANCS_C”,连接开发板,弹出下图所示的配对请求信息,点击“配对”

    image

    配对界面

    连接配对成功

    image

    连接界面

6 串口LOG

用户可根据串口终端的打印信息,验证ANCS服务是否运行正常

  1. 当手机通知消息有动作后会主动上报给开发板,如下所示:

    [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
    

    显示当前通知消息的事件类型,删除当前通知

  2. 以用户接打电话为例。使用其他手机给本iOS测试机拨打电话,拨通后本测试机将立刻推送通知 到开发板,开发板将处理接收到的通知消息,并将信息打印到Panchip Serial Assistant。

    • 此时用户如需知道具体拨入的电话号码,可按下开发板的“WKUP”按键;

    • 如用户选择接听,按下“KEY2”查看到电话已接通;

    • 如用户拒绝接听,按下“KEY1”可以查看到电话已挂断。

7 RAM/Flash资源使用情况

Memory region         Used Size  Region Size  %age Used
FLASH:      108132 B       384 KB     27.50%
SRAM:       30288 B        50 KB     59.16%