你好,
我想在PXP-Reporter演示中添加我自己的Service-UUID。我选择了一个任意的名称(0xFE43)。
当我把UUID放在adv_data中,我可以通过LightBlue在广告数据中看到它,但不幸的是,服务没有出现在可用的服务下。
然而,当我从adv_data中删除一个示例—services(如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_service_add()为了祝福经理通知你对与相应的服务交互的任务。
由于MT_dialog
非常感谢!