是否有可能从iBeacon模式动态切换到广告模式。我们有一个外围应用程序需要唤醒中央(电话)上的一个应用程序。
嗨redcobaltbluedragon,
我不明白你的意思。iBeacon是当您的设备处于iBeacon模式时发布字符串中的一种格式。您可以通过配置代码来改变设备的模式并动态发布。请尝试使用SDK的ble_app_barebone示例来演示这种行为。你想对你的申请做些什么?你能把你的问题说清楚吗?
PM_Dialog
我的问题是执行这个的步骤顺序是什么。我是否必须停止广告,然后更改广告数据,然后重新启动?
Beacon应用程序可以动态地发布iBeacon数据,但如果你是BLE的初学者,这就相当复杂了。正如我在前一篇文章中提到的,您可以尝试使用SDK的ble_app_barebone示例,这是一个比Beacon更简单的应用程序。为了更新广告数据,必须首先停止所有正在进行的蓝牙活动。
对于ble_app_barebone示例,当设备准备开始发布时,它将调用user_app_adv_start()函数,该函数通过adv_data_update_timer_cb()回调函数设置一个计时器。这个回调函数通过app_easy_gap_advertise_stop()函数立即停止广告。当广告被取消时,将调用user_app_adv_undirect_complete回调函数,以便再次调用user_app_adv_start()函数。然后,制造商数据将由mnf_data_update()函数动态更新,更新后的数据将添加到广告字符串中。最后,设备开始通过app_easy_gap_undirected_advertise_start()函数发布更新后的广告字符串。
由于PM_dialog
谢谢,这真的很有用。
嗨redcobaltbluedragon,
我不明白你的意思。iBeacon是当您的设备处于iBeacon模式时发布字符串中的一种格式。您可以通过配置代码来改变设备的模式并动态发布。请尝试使用SDK的ble_app_barebone示例来演示这种行为。你想对你的申请做些什么?你能把你的问题说清楚吗?
PM_Dialog
我的问题是执行这个的步骤顺序是什么。我是否必须停止广告,然后更改广告数据,然后重新启动?
嗨redcobaltbluedragon,
Beacon应用程序可以动态地发布iBeacon数据,但如果你是BLE的初学者,这就相当复杂了。正如我在前一篇文章中提到的,您可以尝试使用SDK的ble_app_barebone示例,这是一个比Beacon更简单的应用程序。为了更新广告数据,必须首先停止所有正在进行的蓝牙活动。
对于ble_app_barebone示例,当设备准备开始发布时,它将调用user_app_adv_start()函数,该函数通过adv_data_update_timer_cb()回调函数设置一个计时器。这个回调函数通过app_easy_gap_advertise_stop()函数立即停止广告。当广告被取消时,将调用user_app_adv_undirect_complete回调函数,以便再次调用user_app_adv_start()函数。然后,制造商数据将由mnf_data_update()函数动态更新,更新后的数据将添加到广告字符串中。最后,设备开始通过app_easy_gap_undirected_advertise_start()函数发布更新后的广告字符串。
由于PM_dialog
谢谢,这真的很有用。