你好,
我想在PXP-Reporter演示中添加自己的Service-uuid。我选择了一个任意名称(0xfe43)。
当我将UUID放入ADV_DATA中时,我可以通过LightBlue在广告数据中看到它,但不幸的是,该服务不会出现在可用服务下。
但是,当我从adv_data中删除其中一个示例序列(例如linkloss)时,该服务仍将显示为可用服务。
我还通过ble_service_add()(与linkloss-service的类似物)在pxp_reporter-task中添加了该服务,但在我看来,我需要在某些标题文件或同样地注册该服务。
帮助您将不胜感激。:-)
提前致谢,
菲利普
设备:
问题解决了 - 无论如何,谢谢。:-)
嗨,dsandbue,
很高兴您解决了以后的问题。
仅添加广告字符串并不意味着SDK将自动生产服务,如果您想添加额外的自定义服务,则必须在项目中实现该服务,ble_peripheral_task有一个示例服务(在ble_peripheral_task中,您可以检查My_service_init()函数,该功能可创建和初始化自定义服务)。但是总的来说,所有服务甚至SIG配置文件服务都使用相同的API来创建,因此您可以以示例中创建的任何服务为例(只需在ble_peripheral_task()函数中查看_init函数)。关于您删除链接损失服务并且仍然出现在手机上的事实,我想这是因为服务在手机上缓存,如果您在手机上切换BLE并将其重新切换,这将强制手机执行新发现,实际服务将出现在您的手机上。为了添加服务,您需要初始化它(提供服务和特征,值以及相应的处理程序),在初始化服务后,您需要调用BLE_Service_Add()与相应服务互动的任务。
谢谢mt_dialog
非常感谢!