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

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

亲爱的对话框,
你好,
我正在尝试连接两个或多个外围设备到一个中心。与第一家联系总是好的,我可以发现它的服务和特点。然而,我不能通过handler“gapc_connection_req_ind_handler”中的函数“app_connection_func”启用我的配置文件,该函数在连接到第二个设备后被调用。我知道这是因为下面的条件语句说这个dest_id的状态已经被设置为APP_CONNECTABLE:

if (ke_state_get(dest_id) == APP_CONNECTABLE)

...

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

最好的问候,
雷扎

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

嗨reza.yazdani67

你能给我更多的细节,关于你想做什么,你想在哪个中心连接两个外设,你在这些外设上运行什么项目,这是一个参考设计吗?

你在尝试接近参考设计和显示器吗?你是把狗狗当作中心吗?

由于MT_dialog

雷扎。yazdani67(未验证)
亲爱的MT_dialog,

亲爱的MT_dialog,

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

谢谢你!
雷扎

雷扎。yazdani67(未验证)
亲爱的MT_dialog,

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

雷扎。yazdani67(未验证)
亲爱的MT_dialog,

亲爱的MT_dialog,

你能给我一个可以同时连接多个设备的proximity的样品吗?
我的电子邮件是reza.yazdani1367@gmail.com。我先感谢你的帮助。

谢谢你!

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

嗨reza.yazdani67

在SDK da14580_581_583_sdk_name .0.10\host_apps\windows\proximity\monitor目录中,有一个中心项目,它最多支持6个与proximity报告器项目同时连接。

由于MT_dialog

雷扎。yazdani67(未验证)
亲爱的MT_dialog,

亲爱的MT_dialog,

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

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

嗨reza.yazdani67

应用程序位于我在上一篇文章中写的目录中。这是一个windows应用程序,使用usb作为中心,可以连接多个接近传感器。你必须用连接管理器下载usb中的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
离线
最后看到:3周6天前
工作人员
加入:2015-06-08 34
你好,

你好,

有一个主机应用程序,主机应用程序在我提到的目录,你只需要下载Prox_monitor_ext_usb与连接管理器,以便程序usb棒。通过这样做,您可以运行中央应用程序(从指定的目录)并通过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地址以及连接是否处于活动状态等信息。