完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这篇应用笔记描述了如何通过WB415的蓝牙模块来ANCS的功能,可以与苹果设备连接,对苹果设备的通知信息进行实时的监听与接收。 PDF文件见附件 支持型号:AT32WB415 目录 1 概述... 5 2 AT32WB415ANCS程序设计.. 6 2.1 ANCS服务特征... 6 2.2 BLE模块软件设计... 6 2.3 MCU软件设计... 7 3 ANCS案例使用.. 8 3.1 硬件资源... 8 3.2 软件资源... 8 3.3 ANCS demo使用... 8 ANCS(Apple Notification Center Service)即苹果通知中心服务,此服务为外围蓝牙设备(手表、耳机等)访问IOS设备(iPhone、iPad等)上生成的多种通知提供了一种简单方便的机制。ANCS围绕三个原则设计:简单性、高效性和可扩展性,因此,不论是简单的LED设备还是具有大显示屏的功能强大的“配套”设备等配件来说,这项服务都具有很高的可用性。 ANCS是基于BLE协议中的通用属性协议(Generic Attribute Profile,GATT)来实现的,即ANCS是GATT协议的一个子集。作为GATT客户端的蓝牙设备可以在使用ANCS时自由访问和使用IOS设备提供的其他服务。 通常ANCS传输的所有数值的字节序都应为小端,传输的字符串值都应由UTF-8编码的unicode字符组成。 2 AT32WB415 ANCS程序设计 2.1 ANCS服务特征ANCS的服务 UUID 为7905F431-B5CE-4E99-A40F-4B1E122D00D0。由于IOS的特性,BLE设备应查找并订阅 GATT 服务的Service Changed 特征,以便随时监控 ANCS 潜在的发布和发布取消。ANCS提供三个服务特征: 通知源(NotificationSource): UUID 9FBF120D-6301-42D9-8C58-25E699A21DBD(通知) 控制点(ControlPoint): UUID 69D1D8F3-45E1-49A8-9821-9BBDFDAAD9D9(可写响应) 数据源(Data Source): UUID22EAC6E9-24D6-4BB5-BE44-B36ACE7C7BFB(通知) 所有这些特征都需要授权才能访问,即BLE设备连接上IOS设备并且完成配对和绑定后才能进行访问。这三个特征中对通知源特征的支持是强制性的,而对控制点特征和数据源特征的支持是可选的。 关于ANCS更多详细内容请参阅:Apple通知中心服务(ANCS)规范 2.2 BLE模块软件设计对于BLE模块部分的软件,主要就是依据上述ANCS规范来设计的,也就是ANCS规范的软件实现。在使用ANCS服务前需要进行服务设置,流程如下:
图1. 服务设置流程 下面以来电通知为例讲解通知接收流程
图2. 通知接收流程 对于本案例,BLE模块能够处理的ANCS通知包括来电通知和应用通知两种,用户可按照这两种通知的处理方式来开发其他ANCS通知处理函数。对于不同的通知产生的不同事件BLE模块会通过串口发送不同的数据标志给MCU端,如下: l 0x5AA501,表示接收到来电通知添加事件(CategoryID = 1,EventID = 0) l 0x5AA502,表示接收到来电通知移除事件(CategoryID = 1,EventID = 4) l 0x5AA503,表示接收到应用通知添加事件(CategoryID = 4,EventID = 0) l 0x5AA504,表示接收到应用通知移除事件(CategoryID = 4,EventID = 4) 2.3 MCU软件设计上面提到BLE端对接收到的数据进行判断后会通过串口发送不同的数据标志给到MCU端, MCU端对接收到的BLE串口数据处理方式如下:
接收到0x5AA505,点亮LED4提示蓝牙连接配对成功 接收到0x5AA506,关闭LED4提示蓝牙连接断开
3 ANCS案例使用本案例将展示如何通过AT32WB415对苹果设备通知信息进行实时的监听与接收。 3.1 硬件资源1) 指示灯LED2/LED4
3.2 软件资源1) ICP Programmer Tool,可在官网下载最新版本
n ble_app_ancs,BLE源程序,用于BLE模块app程序,工程路径位于: SourceCode\wb415_ble_ancs_2.0.0\projects\ble_app_ancs
n wb415_mcu_project,MCU源程序,用于BLE数据处理,工程路径位于: SourceCode\wb415_mcu_ancs_2.0.0\utilities\wb415_mcu_project\mdk_v5 注:本案例仅提供Keil v5版本工程,若用户需要在其他编译环境上使用,请参考AT32WB415_Firmware_Library_V2.x.x\project\at_start_wb415\templates中各种编译环境(例如**IAR6/7/8,keil 4/5, eclipse_gcc )进行对应修改即可。 3.3 ANCS demo使用在使用ANCS服务前需要在WB415中烧录支持ANCS服务的源码,步骤如下:
wb415_ble_ancs_merge.bin,融合了底层蓝牙协议栈和上层应用程序
图3. 点击添加BLE烧录文件 图4. 修改BLE模块下载起始地址
BLE模块和MCU端代码都下载完成后即可开始进行ANCS服务测试,步骤如下
图5. 连接WB415-ANCS
图6. 允许WB415-ANCS接收通知
注:若IOS设备为中文系统,则串口打印的应用通知中可能会有乱码,这是由于包含的通知消息中含有UTF-8编码格式的中文信息,将串口数据保存后通过UTF-8编码读取即可获取其中的中文信息。 图7. ANCS通知时串口打印数据 至此本案例的WB415 ANCS测试完成。
|
|
|
|
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
180 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
587 浏览 0 评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
549 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
548 浏览 0 评论
1051 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11763 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 17:26 , Processed in 0.621343 second(s), Total 68, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号