你好,
我想将我自己的Service-UUID添加到PXP-Reporter演示中。我选择了一个任意的名称(0xFE43)。
当我把UUID在adv_data,我可以看到它在广告数据通过LightBlue,但不幸的是服务没有出现在可用的服务。
然而,当我从adv_data删除一个示例服务(如LinkLoss)时,服务仍然显示为可用的服务。
我还通过ble_service_add()(类似于LinkLoss-Service)在pxp_report -task中添加了服务,但它似乎对我来说,我需要在一些头文件或类似地注册服务。
非常感谢您的帮助。:-)
提前谢谢,
菲利普
设备:
问题解决了,谢谢。:-)
嗨dsandbue,
很高兴你解决了你的问题,只是为了以后的问题。
仅仅添加广告字符串并不意味着SDK会自动生成服务,如果你想添加额外的自定义服务,你必须在项目中实现,ble_peripheral_task有一个关于如何创建自定义服务的例子(在ble_peripheral_task中,你可以检查my_service_init()函数,它创建并初始化自定义服务)。但是一般来说,所有的服务甚至SIG配置文件服务都使用相同的API来创建,所以您可以将示例中创建的任何服务作为一个示例(只需检查ble_peripheral_task()函数中的_init函数)。关于你删除链接损失服务,它仍然会出现在你的手机上,我想,这是因为服务缓存的在你的手机上,如果你祝福在你的手机上的开关,再打开它,这将迫使电话来执行一个新的发现和实际的服务将会出现在你的手机上。为了添加一个服务需要初始化它(提供服务和特点、价值观以及相应的处理程序),服务初始化后则需要调用ble_service_add()为了祝福经理通知你对与相应的服务交互的任务。
由于MT_dialog
非常感谢!