亲爱的对话框,
你好,
我正在尝试将两个或更多外围设备连接到一个中央。与第一个连接总是可以,我可以发现它的服务和特征。但是,我无法通过处理程序“appc_connection_req_ind_handler”中的函数“app_connection_func”启用我的配置文件,在连接到第二设备之后调用。我知道它是因为遵循条件声明,它说这个dest_id的状态已经设置为app_connectable:
if(ke_state_get(dest_id)== app_connectable)
{
......
}
当我在上面的if语句中检查时,我还为外围设备使用了不同的BDS,这对于外围设备必须提供不同的Dest_ID。
其他人在另一个论坛上询问了这样的问题,http://support.dialog-seminiondiondiondiondum/connect-two-perizals-one-central.但是问题没有答案。
我该如何解决我的问题?
我真的很感激你的帮助。
此致,
雷扎
设备:
嗨reza.yazdani67.
你能给我更多关于你想做什么的详细信息,你试图连接两个外围设备以及你在那些外围设备上运行什么项目,是ref设计吗?
您是在尝试接近ref设计和监视器吗?你是用加密狗作为一个中心吗?
谢谢mt_dialog.
亲爱的mt_dialog,
感谢您考虑到我的案例。
- 我使用Pan1740模块作为中央和外围设备。
- 我在每个外围设备上使用的配置文件是相同的。它收到来自不同传感器的一些数据,并通过空气向中央设备发送通知。
每个外围流的速率约为1 kbps。
- 我用于中央设备的基本项目是DSP(DA14580_DSPS_3.150.2)。是的,我正在使用加密狗USB作为中央设备。
我想要做的是首先连接到两个设备并同时接收他们的数据流。然后,我将增加外围设备的数量,以了解我可以同时连接和接收数据的设备数量。
虽然我可以连接两个第二设备,但是我无法通过第二阶段(如“gapc_connection_req_ind_ind_handler”中的条件语句定义),并在中央设备中启用配置文件,并确认我与应用程序的连接。即使我使用不同的BLE设备地址,我也不知道dest_id的状态不是app_connectable!
我很欣赏你的帮助。
谢谢你。
雷扎
亲爱的mt_dialog,
无论如何我可以解决这个问题!?我如何连接到模块,但是当我在gapc_connection_req_ind_handler中检查它时,它的状态不是app_connectable。是因为正在检查以前模块的状态!我相信我使用不同的BLE地址,但这两个模块仍然没有区别!
我非常感谢您提前考虑。
谢谢
雷扎
亲爱的mt_dialog,
您能否将我发给我一个可以同时连接到多个设备的近距离样本?
我的电子邮件地址是reza.yazdani1367@gmail.com.。我很欣赏你的帮助。
谢谢
嗨reza.yazdani67.
在SDK DA14580_581_583_SDK_3.0.10 \ host_apps \ windows \ proximity \ monitor目录中,有一个中央项目,最多支持6个与Proximity Reporter项目的同时连接。
谢谢mt_dialog.
亲爱的mt_dialog,
你好
谢谢你。您能告诉我哪个项目是这个中央项目,最多可同时支持6个连接?
我在SDK中看到的两个项目是prox_monitor_ext和prox_monitor_ext_usb。但它们是嵌入式项目,并且在应用程序部分中没有文件处理连接!
是否正确使用DSP项目中使用的应用程序文件!?
嗨reza.yazdani67.
该应用程序位于我在上一篇文章中写道的目录中。它是一个Windows应用程序,它使用USB棒作为中心,可以连接到多个接近传感器。您必须使用Connection Manager将Prox_Monitor_ext_Usb下载到USB棒中,然后运行此项目DA14580_581_583_SDK_3.0.10 \ host_apps \ windows \ proximity \ monitor \ host_proxm_sdk \ host_proxm_sdk.vcxproj,找到并连接到邻近传感器。
谢谢mt_dialog。
所以你的意思是没有主机申请,是的?如果我想要不使用连接管理器,我必须修改应用程序并在应用程序部分添加一些文件,我对吗!?
你好,
有一个主机应用程序,主机应用程序在我提到的目录中,你只需下载prox_monitor_ext_usb与Connection Manager才能编程USB棒。通过此操作,您可以运行中央应用程序(从指定的目录)并通过UART向加密狗发出命令。它不是嵌入式解决方案。
Thansk mt_dialog.
你好,
谢谢你的帮助。
我不太确定你是如何说这是一个主机应用程序,因为你说它需要从串口(UART)的命令来扫描或连接到其他设备。如我所知,这种项目在嵌入式项目中归类为依赖于处理它们的外部模块。无论如何,我非常感谢您的考虑和帮助。
此致,
雷扎
“主机”是指中央/硕士。我认为您希望在没有外部控制器的情况下直接在DA14580上运行的中央应用程序?
有一些这样的示例项目,例如串行端口服务项目。但是,这些假设一次总会有一个连接。
您必须修改应用程序结构一点以使其与多个外设一起工作。特别是,您应该删除App_state的连接状态。然后,您需要通过某种方式通过您自己跟踪最多6个连接的状态。正如我写的那样http://support.dialog-semicondiondiondum/discovering-services-ancharact ...,您必须跟踪每个连接的ConIdx,以便将消息发送到正确的磁带和Gattc任务。一种建议的处理状态的方法是拥有6个条目的数组,其中每个ConIDX(在0和5之间)是指阵列中的条目,您可以在其中存储MAC地址等内容以及连接是否处于活动状态。