你好,
我想向PXP-Reporter演示添加自己的服务--UUID。我选择了任意名称(0xFE43)。
当我将UUID放入ADV_DATA时,我可以通过LightBlue在广告数据中看到它,但不幸的是服务并未出现在可用的服务下。
但是,当我从ADV_DATA中删除示例 - Serivces(如LinkLoss)之一时,该服务仍将显示为可用服务。
我还通过ble_service_add()(模拟到linkloss-service)在pxp_reporter-task中添加了服务,但在我看来,我需要在某些标题文件中注册服务或同样。
帮助很大欣赏。:-)
提前致谢,
菲利普
设备:
解决问题 - 无论如何,谢谢。:-)
嗨dsandbue,
很高兴您解决了您的问题,只需任何未来的问题。
只是通过添加广告字符串并不意味着SDK将自动生成服务,如果要添加额外的自定义服务,则必须在项目中实现该项目,BLE_PERITELAL_TASK展示了如何创建自定义的示例服务(在BLE_PERITALAL_TASK中,您可以检查创建和初始化自定义服务的MY_SERVICE_INIT()函数)。但一般所有的服务甚至SIG配置文件服务都使用相同的API来创建,因此您可以作为示例中创建的任何服务(只需检查BLE_PERITELAL_TASK()函数中的_INIT函数)。关于您删除链接丢失服务的事实,它仍然显示在手机上,我认为这是因为服务在手机上缓存,如果您在手机上切换了BLE并重新打开,这将强制手机执行新发现和实际服务将出现在您的手机上。为了添加服务需要初始化它(提供服务和特性,值以及相应的处理程序),初始化服务后,您需要调用BLE_SERVICE_ADDDD()以使BLE管理器通知您的关于与相应服务交互的任务。
谢谢mt_dialog.
非常感谢你!