是否可以从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
谢谢,这真的很有帮助。