你好
GAPM_SET_DEV_CONFIG_CMD将设备角色作为参数。如果我尝试设置角色组合,例如:广播员+观察员(0x03)外围设备+观察者(0x0B)
提前谢谢。
亲爱的卡蒂娅:,
我们正在使用DA14580验证多角色场景,但目前还不可用。
亲切问候,,
直率的
嗨,弗兰克,
非常感谢您的回复。
如果并发多角色场景还不可用,我可以在运行时多次切换角色吗?即设置广播者,然后设置观察者,然后再次设置广播者,等等多次?或者对外围设备和中央设备也可以这样做(假设在调用GAPM_set_DEV_CONFIG_CMD时没有活动连接)?
提前感谢,,卡蒂亚
你好,卡蒂亚,
是的,您可以在运行时更改角色。从中央设备切换到外围设备需要首先断开与所有外围设备的连接。同样,当你从外围变为中心时;首先断开与中央控制模块的连接。
即使在连接时,您也可以广播广告。这在中央和外围角色中都有效。
是否已实施和/或验证并发GAP角色?
我们需要这两个gap角色用例:GAP_中央MST+GAP_广播公司ADV间隙\u外围\u SLV+间隙\u观察者\u SCA
谢谢卡尔
嗨,卡尔,
580不支持这种功能,目前只能实现切换角色。
谢谢你的对话
对不起ping,几年后现在在这方面有什么进展吗?SDK5.0.4已经支持它了吗?
嗨,塔米索夫特,
不,堆栈保持不变,只支持角色切换。
谢谢,有关于航班切换的例子吗?当设备是外围广播时,我们需要定期进行扫描。显然,我们可以停止广告,但暂时改变角色的正确步骤是什么。
谢谢
没有任何示例可以证明这一点,但该过程非常简单,您必须发出GAPM_重置,然后将设备重新配置为中央设备,并将其配置为外围设备。您可以查看以下帖子https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...
你好,我想把da14580设置为观察员。在sdk中,可以使用哪个程序?
对不起,你能帮我吗?我已经试了三天了,但我不知道该怎么办。帮助我!帮助帮助
我想开发da14580,可以随时扫描来自da14580的广告包。1.在sdk中,prox_monitor项目的功能是什么?2.我不能调试可重用堆栈吗?我想调试(查看)广告商的广告包。你能告诉我吗?
嗨,汉蒂格,
没有现成的示例为了直接将其配置为中心观察者,您可以查看主机示例中的DSPS项目,其中设备配置为中心,并以此作为参考,GAP角色配置通过user_config.h函数中的user_gapm_config struct进行控制。如果将.role从GAP_CENTRAL_MST更改为GAP_OBSERVER_SCA,则您将拥有您的观察员。在这之后,您需要做的就是扫描,因此可以将DSPS主机示例中的user_scan_start()函数作为参考。
在SDK中,接近监视器功能是一个外部主机解决方案,这意味着580从外部MCU(具体示例为windows PC)获取命令,请查看UM-B-010用户手册:集成和外部处理器解决方案中的接近示例。
ble堆栈位于ROM中,没有可用于堆栈的源代码,您通过SDK中公开的函数通过消息与堆栈交互,查看广告包到底是什么意思?
非常感谢!我将开发一对接近标签,使用两个DA14580。因此,外围设备和观察者。外围设备很容易通过sdk示例制作,但观察者设备很难,因为sdk中没有示例代码。我改变如下。在DSP的app\u configuration\u func()中,cmd->role=GAP\u OBSERVER\u SCA在应用程序扫描中,msg->mode=GAP\u OBSERVER\u mode和msg->filter\u duplic=SCAN\u FILT\u duplic\u DIS
顺便说一句,与usb加密狗相比,gapm_adv_report_ind_handler()的调用少于加密狗。例如,usb加密狗广播数据包每0.5秒显示一次,但在DSP观察员程序中,广播数据包(gapm_adv_report_ind_handler called times)每2~3秒显示一次。为了把我的程序当作usb加密狗,必须怎么做?必须如何改变观察者设备的扫描间隔?对不起,你能给我源代码吗?如果你有困难,我想详细帮助我。
亲爱的MT_dialog,对不起,你能帮我吗?我曾经使用过nrf51822,但da14580比nrf51822优越。我对da14580更感兴趣,我已经使用da14580开发了几个蓝牙设备。但作为观察者的da14580源代码对我们来说肯定是需要的。帮帮我!提前谢谢。
关于你在上一篇文章中提到的“加密狗”,我无法理解到底是什么问题,你能更详细地描述一下吗?gapm_adv_report_ind_handler()是一个回调函数,当您的观察者从空中接收到广告消息时,它会立即触发。处理器被触发的频率取决于此时有多少广告设备正在广告,有多少广告设备正在到达您的设备,当然还有您的观察者正在扫描的方式。关于更改广告间隔,这是由发出GAPM\U START\U SCAN\U CMD的扫描功能控制的。在DSP主机中,函数是用户\u scan\u start(),间隔和扫描窗口由gapm\u start\u scan\u cmd函数的成员.interval和.window控制。
关于observer fw,创建一个简单的observer设备非常简单,让我们以SDK中的模板为基础。
1) 在user_gapm_conf结构的user_config.h函数中,将.role从GAP_peripal_SLV更改为GAP_OBSERVER_SCA。
2) 从DSPS示例中,将用户_scan_start粘贴到模板项目中,然后您可以设置自己的用户_scan_conf结构,也可以将所需的值放入gapm_start_scan_cmd结构中。
3) 然后,您可以随时开始扫描,因此,由于您没有任何要初始化的数据库,您可以在app\u on\u set\u dev\u config\u complete回调中分配用户\u scan\u start()。
4) 实现一个函数,以便在app_on_adv_report_ind上连接到app_,以获取广告消息,您应该准备好了。
非常感谢!亲爱的,MT_dialog。首先,我向你们发送的图像显示了当前的情况。我按照你告诉我的方法做了,但都是一样的。因此,如果我在app_on_adv_report_ind()上设置断点,并与加密狗数据包嗅探器进行比较,当加密狗数据包显示5~6次时,app_on_adv_report_ind()只调用了1次。对不起,你能给我发个观察员来源代码吗?我的地址是skyclean906@gmail.com.
上传了一个快速且肮脏的演示源代码,该代码将设备设置为观察者模式并扫描任何广告消息,禁用了复制过滤器,因此设备可以打印所有频道中可以到达的所有可用广告字符串,并通过UART2打印,请注意,如果有两个以上的设备使用sw的当前配置(打印任何可用的广告字符串),则由于打印过多,设备将重置。以上内容已在dialog pro工具包上测试和运行。
亲爱的,MT_dialog!你心胸开阔,非常善良。你的善良给我留下了深刻的印象!我想与你建立深厚的联系。我想与你成为一个好朋友!在未来帮助我很多!非常感谢!
尊敬的对话!我执行您给我的代码,并在user_on_adv_report_ind()上设置断点,但几乎没有调用user_on_adv_report_ind()(甚至在1~2分钟内调用一次)。在加密狗嗅探数据包中,正确显示了广告数据包。最终,加密狗嗅探数据包中显示的数据包编号必须等于arch_uu在_adv_report_ind()上打印用户_中的呼叫编号的数据包。对不起,请您重新检查并发送源代码好吗?
我上传的代码已经在pro套件上进行了allready测试,并且报告会按其应有的方式打印出来,如果设备无法跟踪其他模块的广告事件,那么代码就不是问题(除非您点击了任何重置或硬故障,我想您会注意到),在发送前我已经测试了fw,我完全能够跟踪附近的设备,所以你是使用开发工具包还是定制设计?还要注意的是,只要另一端的设备正在进行广告,设备就会报告广告字符串,如果广播中没有广告消息,设备就不会报告任何内容。
亲爱的,dialog!我使用开发工具包板。这是一对广告客户和观察员。附近没有任何东西。对不起,你能给我你测试过的广告商程序吗?我的地址是skyclean906@gmail.com.
您的580_observer程序跟踪设备附近的数据包,但只有少数数据包跟踪(广告商发送的某些数据包)。我希望你能解决这个问题。帮帮我!
让我澄清一下广告和扫描是如何运作的,因为我的印象是,你希望获得外设发布的所有广告信息。扫描操作不是为了获取外设发送的所有广告事件,外设设备以固定的连接间隔在三个通道中进行广告,以便一些广告字符串到达主机(并非所有广告事件都无法到达扫描仪的原因是,没有协议保证数据包到达另一端,并且由于数据包使用空气作为传输媒介,因此可能会发生任何情况、噪音、其他设备传输、天线等)。因此,您不会获得从外围设备发送到扫描仪的所有广告事件,而是这些事件的一小部分。此外,可移动设备的扫描方式以及外围设备的广告方式使扫描仪无法获取所有频道中的所有广告字符串。当设备扫描时,它会依次打开特定频道上的接收器在所有BLE广告渠道(37、38、39)因此,如果外围设备恰好在此时进行广告,并且媒体打开,并且设备的天线能够收听广告包,则设备将报告广告包。如果您希望在观察者端获得更多报告,则需要将外围设备设置为发送更多广告包。关于比较580对于嗅探器加密狗,我不知道你在用什么来嗅探空气,但你无法将嗅探器与580通用设备进行比较,显然你使用的嗅探器有更好的天线(从远距离获取数据)为了做到这一点,一个优化的软件,甚至可能是一种不同的扫描方式,以便尽可能多地嗅探数据包。
我用来测试observer演示的程序是ble_app_外围设备,如果你让fw每100毫秒播放一次广告,你应该会继续获得广告字符串的指示,我也在1s广告间隔下测试了它,指示大约每2秒出现一次,最好每1秒出现一次(每次外设播出时都会有广告活动)测试距离为10米。距离与使用的天线和空中交通有关,而与sw无关。
另外,我看到了新的帖子,为了更改扫描间隔和窗口,您必须转到用户\u scan\u start()并更改cmd->interval和cmd->window参数。此外,我还有一个关于其他帖子的请求,请不要在其他帖子上发布不相关的问题,您可以随时创建一个新的帖子来分享您的问题,以保持本论坛的直截了当和易于使用。
尊敬的对话!帮助我!
如何在GAP中添加更多特征,需要在堆栈中进行更改?
嗨,杜拉克塞尔,
感谢您在我们的公共蓝牙论坛上发帖。你能用你的查询创建一个新的线程吗?因为这个线程非常旧而且很接近?另外,请指明您正在使用的设备和SDK。
谢谢,下午好
亲爱的卡蒂娅:,
我们正在使用DA14580验证多角色场景,但目前还不可用。
亲切问候,,
直率的
嗨,弗兰克,
非常感谢您的回复。
如果并发多角色场景还不可用,我可以在运行时多次切换角色吗?即设置广播者,然后设置观察者,然后再次设置广播者,等等多次?或者对外围设备和中央设备也可以这样做(假设在调用GAPM_set_DEV_CONFIG_CMD时没有活动连接)?
提前感谢,,
卡蒂亚
你好,卡蒂亚,
是的,您可以在运行时更改角色。从中央设备切换到外围设备需要首先断开与所有外围设备的连接。同样,当你从外围变为中心时;首先断开与中央控制模块的连接。
即使在连接时,您也可以广播广告。这在中央和外围角色中都有效。
你好
是否已实施和/或验证并发GAP角色?
我们需要这两个gap角色用例:
GAP_中央MST+GAP_广播公司ADV
间隙\u外围\u SLV+间隙\u观察者\u SCA
谢谢
卡尔
嗨,卡尔,
580不支持这种功能,目前只能实现切换角色。
谢谢你的对话
对不起ping,几年后现在在这方面有什么进展吗?SDK5.0.4已经支持它了吗?
嗨,塔米索夫特,
不,堆栈保持不变,只支持角色切换。
谢谢你的对话
谢谢,有关于航班切换的例子吗?当设备是外围广播时,我们需要定期进行扫描。显然,我们可以停止广告,但暂时改变角色的正确步骤是什么。
谢谢
嗨,塔米索夫特,
没有任何示例可以证明这一点,但该过程非常简单,您必须发出GAPM_重置,然后将设备重新配置为中央设备,并将其配置为外围设备。您可以查看以下帖子https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...
谢谢你的对话
你好,我想把da14580设置为观察员。在sdk中,可以使用哪个程序?
对不起,你能帮我吗?我已经试了三天了,但我不知道该怎么办。帮助我!帮助帮助
我想开发da14580,可以随时扫描来自da14580的广告包。
1.在sdk中,prox_monitor项目的功能是什么?
2.我不能调试可重用堆栈吗?我想调试(查看)广告商的广告包。你能告诉我吗?
嗨,汉蒂格,
没有现成的示例为了直接将其配置为中心观察者,您可以查看主机示例中的DSPS项目,其中设备配置为中心,并以此作为参考,GAP角色配置通过user_config.h函数中的user_gapm_config struct进行控制。如果将.role从GAP_CENTRAL_MST更改为GAP_OBSERVER_SCA,则您将拥有您的观察员。在这之后,您需要做的就是扫描,因此可以将DSPS主机示例中的user_scan_start()函数作为参考。
在SDK中,接近监视器功能是一个外部主机解决方案,这意味着580从外部MCU(具体示例为windows PC)获取命令,请查看UM-B-010用户手册:集成和外部处理器解决方案中的接近示例。
ble堆栈位于ROM中,没有可用于堆栈的源代码,您通过SDK中公开的函数通过消息与堆栈交互,查看广告包到底是什么意思?
谢谢你的对话
非常感谢!
我将开发一对接近标签,使用两个DA14580。因此,外围设备和观察者。
外围设备很容易通过sdk示例制作,但观察者设备很难,因为sdk中没有示例代码。
我改变如下。
在DSP的app\u configuration\u func()中,cmd->role=GAP\u OBSERVER\u SCA
在应用程序扫描中,msg->mode=GAP\u OBSERVER\u mode和msg->filter\u duplic=SCAN\u FILT\u duplic\u DIS
顺便说一句,与usb加密狗相比,gapm_adv_report_ind_handler()的调用少于加密狗。
例如,usb加密狗广播数据包每0.5秒显示一次,但在DSP观察员程序中,广播数据包(gapm_adv_report_ind_handler called times)每2~3秒显示一次。
为了把我的程序当作usb加密狗,必须怎么做?必须如何改变观察者设备的扫描间隔?
对不起,你能给我源代码吗?如果你有困难,我想详细帮助我。
亲爱的MT_dialog,对不起,你能帮我吗?我曾经使用过nrf51822,但da14580比nrf51822优越。我对da14580更感兴趣,我已经使用da14580开发了几个蓝牙设备。
但作为观察者的da14580源代码对我们来说肯定是需要的。帮帮我!提前谢谢。
嗨,汉蒂格,
关于你在上一篇文章中提到的“加密狗”,我无法理解到底是什么问题,你能更详细地描述一下吗?gapm_adv_report_ind_handler()是一个回调函数,当您的观察者从空中接收到广告消息时,它会立即触发。处理器被触发的频率取决于此时有多少广告设备正在广告,有多少广告设备正在到达您的设备,当然还有您的观察者正在扫描的方式。关于更改广告间隔,这是由发出GAPM\U START\U SCAN\U CMD的扫描功能控制的。在DSP主机中,函数是用户\u scan\u start(),间隔和扫描窗口由gapm\u start\u scan\u cmd函数的成员.interval和.window控制。
关于observer fw,创建一个简单的observer设备非常简单,让我们以SDK中的模板为基础。
1) 在user_gapm_conf结构的user_config.h函数中,将.role从GAP_peripal_SLV更改为GAP_OBSERVER_SCA。
2) 从DSPS示例中,将用户_scan_start粘贴到模板项目中,然后您可以设置自己的用户_scan_conf结构,也可以将所需的值放入gapm_start_scan_cmd结构中。
3) 然后,您可以随时开始扫描,因此,由于您没有任何要初始化的数据库,您可以在app\u on\u set\u dev\u config\u complete回调中分配用户\u scan\u start()。
4) 实现一个函数,以便在app_on_adv_report_ind上连接到app_,以获取广告消息,您应该准备好了。
谢谢你的对话
非常感谢!亲爱的,MT_dialog。
首先,我向你们发送的图像显示了当前的情况。
我按照你告诉我的方法做了,但都是一样的。
因此,如果我在app_on_adv_report_ind()上设置断点,并与加密狗数据包嗅探器进行比较,当加密狗数据包显示5~6次时,app_on_adv_report_ind()只调用了1次。
对不起,你能给我发个观察员来源代码吗?我的地址是skyclean906@gmail.com.
嗨,汉蒂格,
上传了一个快速且肮脏的演示源代码,该代码将设备设置为观察者模式并扫描任何广告消息,禁用了复制过滤器,因此设备可以打印所有频道中可以到达的所有可用广告字符串,并通过UART2打印,请注意,如果有两个以上的设备使用sw的当前配置(打印任何可用的广告字符串),则由于打印过多,设备将重置。以上内容已在dialog pro工具包上测试和运行。
谢谢你的对话
亲爱的,MT_dialog!
你心胸开阔,非常善良。你的善良给我留下了深刻的印象!我想与你建立深厚的联系。我想与你成为一个好朋友!在未来帮助我很多!非常感谢!
尊敬的对话!
我执行您给我的代码,并在user_on_adv_report_ind()上设置断点,但几乎没有调用user_on_adv_report_ind()(甚至在1~2分钟内调用一次)。
在加密狗嗅探数据包中,正确显示了广告数据包。
最终,加密狗嗅探数据包中显示的数据包编号必须等于arch_uu在_adv_report_ind()上打印用户_中的呼叫编号的数据包。
对不起,请您重新检查并发送源代码好吗?
嗨,汉蒂格,
我上传的代码已经在pro套件上进行了allready测试,并且报告会按其应有的方式打印出来,如果设备无法跟踪其他模块的广告事件,那么代码就不是问题(除非您点击了任何重置或硬故障,我想您会注意到),在发送前我已经测试了fw,我完全能够跟踪附近的设备,所以你是使用开发工具包还是定制设计?还要注意的是,只要另一端的设备正在进行广告,设备就会报告广告字符串,如果广播中没有广告消息,设备就不会报告任何内容。
谢谢你的对话
亲爱的,dialog!我使用开发工具包板。这是一对广告客户和观察员。附近没有任何东西。
对不起,你能给我你测试过的广告商程序吗?我的地址是skyclean906@gmail.com.
您的580_observer程序跟踪设备附近的数据包,但只有少数数据包跟踪(广告商发送的某些数据包)。
我希望你能解决这个问题。帮帮我!
嗨,汉蒂格,
让我澄清一下广告和扫描是如何运作的,因为我的印象是,你希望获得外设发布的所有广告信息。扫描操作不是为了获取外设发送的所有广告事件,外设设备以固定的连接间隔在三个通道中进行广告,以便一些广告字符串到达主机(并非所有广告事件都无法到达扫描仪的原因是,没有协议保证数据包到达另一端,并且由于数据包使用空气作为传输媒介,因此可能会发生任何情况、噪音、其他设备传输、天线等)。因此,您不会获得从外围设备发送到扫描仪的所有广告事件,而是这些事件的一小部分。此外,可移动设备的扫描方式以及外围设备的广告方式使扫描仪无法获取所有频道中的所有广告字符串。当设备扫描时,它会依次打开特定频道上的接收器在所有BLE广告渠道(37、38、39)因此,如果外围设备恰好在此时进行广告,并且媒体打开,并且设备的天线能够收听广告包,则设备将报告广告包。如果您希望在观察者端获得更多报告,则需要将外围设备设置为发送更多广告包。关于比较580对于嗅探器加密狗,我不知道你在用什么来嗅探空气,但你无法将嗅探器与580通用设备进行比较,显然你使用的嗅探器有更好的天线(从远距离获取数据)为了做到这一点,一个优化的软件,甚至可能是一种不同的扫描方式,以便尽可能多地嗅探数据包。
我用来测试observer演示的程序是ble_app_外围设备,如果你让fw每100毫秒播放一次广告,你应该会继续获得广告字符串的指示,我也在1s广告间隔下测试了它,指示大约每2秒出现一次,最好每1秒出现一次(每次外设播出时都会有广告活动)测试距离为10米。距离与使用的天线和空中交通有关,而与sw无关。
另外,我看到了新的帖子,为了更改扫描间隔和窗口,您必须转到用户\u scan\u start()并更改cmd->interval和cmd->window参数。此外,我还有一个关于其他帖子的请求,请不要在其他帖子上发布不相关的问题,您可以随时创建一个新的帖子来分享您的问题,以保持本论坛的直截了当和易于使用。
谢谢你的对话
尊敬的对话!帮助我!
如何在GAP中添加更多特征,需要在堆栈中进行更改?
嗨,杜拉克塞尔,
感谢您在我们的公共蓝牙论坛上发帖。你能用你的查询创建一个新的线程吗?因为这个线程非常旧而且很接近?另外,请指明您正在使用的设备和SDK。
谢谢,下午好