ANCS通过蓝牙BLE 4.0实现,仅支持iPhone 4S及以上且系统版本在IOS 7以上的手机,同时在外设端需要支持蓝牙4.0协议。
1、外设端进行广播,手机打开蓝牙,搜索外设,连接外设,之后进行绑定(这很重要,否则无法接收通知)
2、外设在连接建立后需要监听手机上的ANCS Service中的Notification Source
3、当有通知时,手机会给外设发消息,说明是哪个应用的通知
4、如果外设想进一步获取通知的详情,就往Control Point写控制信息,获取详情
5、详情会通过Data Source发过来
前面这5个步骤是网上看到的,有几点不明白,请大神帮忙解答:
a. 第1点里面的 “绑定”动作,是苹果手机主动发起绑定?还是蓝牙4.0外设发起绑定? 如果是外设发起绑定, 那外设如何发起绑定?
b. 蓝牙4.0外设要实现ANCS服务的话, 是不是 SerialProfileNotifyCharProps 要配置成 GATT_PROP_NOTIFY ,不应该配成GATT_PROP_INDICATE ?
我的simplerBLEperipheral工程目前配的是indicate模式,发送数据用的GATT_Indication。
blue1:
回复 Yue TANG:
HI TY
谢谢你的解答, 按照你给的配置设置后, 设备没有进行广播了, 搜索不到设备, 可能是什么原因导致
Yue TANG:
回复 blue1:
这个配置不会影响到广播。广播是由下面的语句控制,你先基于一个默认例子试试,如simpleperipherial.
uint8 initial_advertising_enable = TRUE;
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &initial_advertising_enable );