为什么第二个设备连接的dest_id的状态不是APP_CONNECTABLE !?

12个岗位/ 0个新岗位
最后发表
匿名(未验证)
为什么第二个设备连接的dest_id的状态不是APP_CONNECTABLE !?

亲爱的对话框,
你好,
我正在尝试将两个或多个外围设备连接到一个中央设备。连接第一个总是好的,我可以发现它的服务和特点。但是,我无法通过处理程序“gapc_connection_req_ind_handler”中的函数“app_connection_func”启用我的配置文件,该处理程序在连接到第二个设备后调用。我知道这是因为下面的条件语句说这个dest_id的状态已经设置为APP_CONNECTABLE:

if (ke_state_get(dest_id) == APP_CONNECTABLE)


}

我还为外设使用了不同的bd,当我在上面的if语句中进行检查时,这些bd必须给出不同的dest_id。
有人在其他论坛问过这样的问题,http://support.dialog-semiconductor.com/connect-two-peripherals-one-central然而,这个问题没有答案。
我该如何解决我的问题?
非常感谢你的帮助。

最好的问候,
雷扎

设备:
MT_dialog
离线
最后看到:1个月1天前
工作人员
加入:2015-06-08 34
嗨reza.yazdani67

嗨reza.yazdani67

你能告诉我更多的细节吗,你想在什么中心连接两个外围设备,你在这些外围设备上运行什么项目,这是重新设计吗?

你是在尝试接近重新设计和监视器吗?你是在用加密狗作为中心吗?

由于MT_dialog

雷扎。Yazdani67(未经证实)
亲爱的MT_dialog,

亲爱的MT_dialog,

谢谢你考虑我的案子。
-我使用PAN1740模块作为中央和外围设备。
-我在每个外设上使用的配置文件是相同的。它从不同的传感器接收一些数据,并通过空中发送给中央设备。
—每个外设流的数据速率约为1kbps。
-我用于中心设备的基础项目是dsp (DA14580_DSPS_3.150.2)。是的,我使用加密狗usb作为中心设备。
我要做的是首先连接到两个设备并同时接收它们的数据流。然后,我将增加外设的数量,以便找出我可以连接多少设备并同时接收它们的数据。
虽然我可以连接两个第二个设备,但我不能通过第二阶段(通过“gapc_connection_req_ind_handler”中的条件语句定义)在中心设备中启用配置文件,也不能确认我与应用程序的连接。我不知道dest_id的状态不是APP_CONNECTABLE,即使我使用不同的BLE设备地址!
我提前感谢你的帮助。

谢谢你!
雷扎

雷扎。Yazdani67(未经证实)
亲爱的MT_dialog,

亲爱的MT_dialog,
有什么办法可以解决这个问题吗?我怎么可能连接到模块,但它的状态不是app_connectable当我检查它在gapc_connection_req_ind_handler!是因为前一个模块的状态被检查了吗?我确信我使用了不同的BLE地址,但是这两个模块仍然无法区分!
我感谢您事先的考虑。
谢谢你!
雷扎

雷扎。Yazdani67(未经证实)
亲爱的MT_dialog,

亲爱的MT_dialog,

能否给我一个可以同时连接多个设备的接近度样品?
我的邮箱是reza.yazdani1367@gmail.com。我提前感谢你的帮助。

谢谢你!

MT_dialog
离线
最后看到:1个月1天前
工作人员
加入:2015-06-08 34
嗨reza.yazdani67

嗨reza.yazdani67

在SDK DA14580_581_583_SDK_3.0.10\host_apps\windows\proximity\monitor目录中有一个中央项目,支持多达6个与proximity reporter项目同时连接。

由于MT_dialog

雷扎。Yazdani67(未经证实)
亲爱的MT_dialog,

亲爱的MT_dialog,

谢谢你!请问这个支持最多6个同时连接的中心项目是哪个项目?
我在SDK中看到的两个项目是prox_monitor_ext和prox_monitor_ext_usb。但它们是嵌入式项目,在应用程序部分没有处理连接的文件!
我在这里使用DSPS项目中使用的应用程序文件是对的吗?

MT_dialog
离线
最后看到:1个月1天前
工作人员
加入:2015-06-08 34
嗨reza.yazdani67

嗨reza.yazdani67

该应用程序位于我在上一篇文章中编写的目录中。它是一款windows应用程序,以u盘为中心,可以连接多个接近传感器。您必须使用连接管理器在u盘中下载prox_monitor_ext_usb,然后运行此项目DA14580_581_583_SDK_3.0.10\host_apps\windows\proximity\monitor\host_proxm_sdk\host_proxm_sdk。Vcxproj来定位和连接接近传感器。

谢谢MT_dialog。

雷扎。Yazdani67(未经证实)
所以你的意思是没有宿主

所以你的意思是没有主机应用程序,对吗?如果我不想使用连接管理器,我必须修改应用程序并在应用程序部分添加一些文件,我对吗?

MT_dialog
离线
最后看到:1个月1天前
工作人员
加入:2015-06-08 34
你好,

你好,

有一个主机应用程序,主机应用程序在我提到的目录中,你只需要下载使用连接管理器Prox_monitor_ext_usb,以便对u盘进行编程。通过这样做,您可以运行中央应用程序(从指定的目录)并通过UART向加密狗发出命令。它不是一个嵌入式解决方案。

Thansk MT_dialog

雷扎。Yazdani67(未经证实)
你好,

你好,

谢谢你的帮助。
我不太确定你是如何说这是一个主机应用程序,因为你说它需要从串行端口(UART)命令扫描或连接到其他设备。据我所知,这种项目被归类为嵌入式项目,因为它们依赖于处理它们的外部模块。无论如何,我真的很感谢你的考虑和帮助。

最好的问候,
雷扎

Joacimwe
离线
最后看到:1年4个月前
大师
加入:2014-01-14 06:45
“主机”是指中央/主机

“主机”是指中央/主机。我认为您想要一个直接在da14580上运行的中央应用程序,而不使用外部控制器?

有一些这样的示例项目,例如串口服务项目。但这些假设每次最多有一个连接。
你必须稍微修改一下应用程序的结构,使其能够与多个外设一起工作。特别是,您应该删除APP_STATE的连接状态。然后,您需要以其他方式自己跟踪最多6个连接的状态。正如我在http://support.dialog-semiconductor.com/discovering-services-and-charact..。,您必须跟踪每个连接的conidx,以便向正确的GAPC和GATTC任务发送消息。处理状态的建议方法是有一个包含6个条目的数组,其中每个conidx(介于0到5之间)指的是数组中的一个条目,您可以在其中存储mac地址等内容以及连接是否活跃。