DSPS主机项目扫描设备

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
22个员额/ 0个新员额
最后一篇
马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
DSPS主机项目扫描设备

你好对话框!

我们试图实现基于DSP系统的项目。我们与DSPS主机实例(版本v_5.150.2)闪现(Da14580 DK基本板),我们想通过UART获得SCAND设备的名称(TX / RX)

我们已经实现了da14580自定义板,从Spi flash和使用HW流量控制低电池消耗

它有一个工作正常的DSPS设备的例子。它的广告了设备名称就一切OK。

1)我怎么能看到扫描设备的?

是否有可能使用tera术语,看看是否真的扫描附近的广告设备从DSPS主机的例子?

2) DSPS HOST示例是否也发布他的设备名称?因为我用的是conversations DSPS android App,当我按下扫描按钮时,我无法检测到任何东西。

提前致谢。

腻过

设备:
PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

非常感谢你的在线问题。sps_host项目将DA14580配置为Central,因此设备将不会发布。请检查user_callback_config.h,您将看到。default_operation_adv = NULL在sps_host项目。在sps_device项目中,在同一个头文件中,您将看到.default_operation_adv = default_advertise_operation。

要做到这一点,如果你想连接Dialog DSPS android App,你应该使用DA14580中的sps_device项目。请记住,移动应用程序将是Central,而运行sps_device的DA14580将是Peripheral。

关于你的第一个问题,你能澄清一下吗?中心设备(sps_host)上的应用程序自动开始扫描,并连接到第一个发现的支持串口服务的外围设备(sps_device)。中央设备还通过停止数据流和自动尝试重新建立连接来处理连接丢失的情况。

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

谢谢您的快速回复!!

我已经检查了在dsps主机和dsps设备项目上的user_callback_config.h,你有权利。

我们需要设置中央到扫描永续扫描外围设备,但我们不希望与任何人联系。

只扫描广告设备。

我们能通过UART继续扫描设备列表吗?

如果我使用tera术语,我能在终端上看到扫描吗?

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

扫描过程的超时时间大约是8到10秒,因此,为了继续扫描,您必须在调用scan_complete回调时发送一个新的扫描命令。每次你得到一个指示,你有一个广告信息,你可以打印数据。只要您在da1458x_config_basic.h中定义了CFG_PRINTF定义,DSPS应用程序就会在user_on_adv_report_ind()中实现arch_prinf()函数

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialogue !

你好PM_Dialogue !

谢谢您的快速回复!

我们有一个移动电话和两个da14580设备。

手机连接到第一个Da14580发送数据,然后在第二个Da14580上传输数据,并在外部处理器上进行处理。

其程序必须使用来实现这一目标?

第二设备已经运行DSPS(SPS_device)项目。

在第一个设备上必须使用哪个程序?

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

BLE连接总是由中心设备(在您的情况下是移动电话)发起的。第一个设备也可以运行DSPS应用程序。因此,移动电话将连接到第一个运行DSPS (GAP外设)的设备,并通过SPS配置文件发送数据。然后,你应该断开第一个连接到第二个。请记住,由于两者都在运行DSPS,您可能会更改BD地址和设备名称。

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialogue

你好PM_Dialogue

我们需要在数据通过手机传输到第一个设备之后。第一个设备必须连接到第二个设备并传输数据。

这两种设备运行与不同的蓝牙地址和名称(SPS设备)

如何实现呢?

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

由于它连接到移动设备(GAP Central), Device_1应该运行sps_device固件,因此它被配置为GAP外设。

因此,在Device_1完成数据转换之后,它应该断开与移动电话的连接。您也可以使用移动电话来断开连接。

现在,需求是Device_1和Device_2。为此,Device_2应该配置为GAP Central。DSPS包括一个名为sps_host的项目,该项目将DSPS配置为GAP Central。

根据用户手册,中心设备上的应用程序自动开始扫描,并连接到第一个发现的支持串口服务的外围设备。中央设备还通过停止数据流和自动尝试重新建立连接来处理连接丢失的情况

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

谢谢您的快速回复!

我刚刚闪过与DEVICE_1(sps_device)和设备_2与(sps_host)。

手机数据成功传输到Device_1,数据传输完成后,移动设备断开连接,但Device_2似乎无法连接到Device_1获取数据。

我已经给你两个DEVICE_1和设备_2配置设置,以便更好地理解。

我等你的答复

提前谢谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨马里奥斯,能否请你

嗨马里奥斯,能否请你检查DEVICE_1断开后开始的广告?该设备_2启动扫描程序?你可以使用SS Tollbox的功率分析器进行验证。

请做一个快速测试:在Device_1中运行sps_device,在Device_2中运行Dialog提供的sps_host。这能起作用吗?Device_2是否可以连接到Device_1?谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

是Device_1断开连接后重新启动发布。

你有sps_Host的广告波形吗?

和我们的波形比较。

该sps_Host似乎开始扫描,但我怎么能弄清楚

如果它连接到Device_1 ?

非常感谢你的帮助

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

sps_host将设备配置为GAP Central角色,因此它将开始扫描。

我很抱歉,我不能复制这个。

我使用的是DSPS,没有任何修改,由Dialog提供。

在运行sps_device的DEVICE_1开始广告 - 看到sps_device_adv.PNG。

运行sps_host的Device_2开始扫描-请参见sps_host_scan.PNG。

如在我先前的答复中提及,中央装置(sps_host)上的应用程序自动启动扫描,并连接到所述第一发现外围设备支持串行端口服务(sps_device)。因此,设备_2自动连接到设备_2。请参阅sps_device_connected.PNG和sps_host_connected.PNG。

我会建议使用sps_host和sps_device不作任何修改,这样就可以验证相同的功能。

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

是的,我有你的设备_2(Sps_Host)相同的波形,但是似乎它的不能与任何SPS设备,我有联系。

我有与硬件流控制延长休眠模式下的设备_2(sps_host),因为我希望它带电池运行。

CTS和RTS由外部微控制器控制并与UART通信。

该设备1 (sps_设计)是SW流量控制和正常电池配置,以及微控制器和UART通信。

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

您是否使用了DSPS项目由对话框提供的?你做任何修改要么sps_host或sps_device应用程序代码?有没有可能提供一个嗅探器日志,以便我能理解什么是happing在空中?

能否请您检查您在sps_hose侧获取广告报告 - user_on_adv_report_ind()?

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
PM_Dialog!

PM_Dialog!

谢谢您的快速回复!

当移动设备将数据传输到

Device_1微控制器处理其缓冲区中的数据,然后通过UART将Da14580上的数据发送给Device_2

我们读的使用说明书以下过程:

一个- b - 026 - _da14580_external_wake up_mechanisms_v1_0

1) Device_1如何与特定的Device_2以及DA14580连接,两个设备都运行DSPS项目

提前致谢,

腻过

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

我们设置了Device_1运行(DSPS_HOST),外部单片机通过UART向DA14580发送数据

设备1 (SPS_Host)与设备2 (SPS)连接成功,但未向对方传输任何数据。

在主机端必须设置哪种模式来传输数据?

汽车吗?

直接联系吗?

给我们一些方向如何成功地做到这一点

请帮助我们,我们已经花费了数千欧元来开发Dialog DA14580平台。

我们是希腊最大的制造商,拥有全自动生产线。

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

的连接不是一个问题,因为在运行的sps_host DEVICE_1发送一个连接请求到设备_2运行sps_device和连接可以建立成功。

你能探测一下UART信号吗?

如果DA14580在任何睡眠模式的配置,那么你应该使用硬件流控制。一旦数据是在UART,则sps_host应该它们发送到对等设备。

因此,也请检查UART信号和UART配置在user_peripher_setup .c / .h文件中。

在应用程序代码和自定义板中使用的UART信号是什么?

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

谢谢您的快速回复!

我们已经成功传输了另一边的数据!

1)我们希望(Sps_Host)只有在流控制上有数据时才启动连接模式?

哪些设置必须作出,以实现这一目标?

2)我们也希望(sps_Host)在接收到数据后可以进行广告和连接,然后必须与(Sps_Device)建立连接并传输数据。

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

你能把你的问题说清楚吗?

正如我在以前的评论中提到,该sps_host配置DA14580如GAP角色中心。中央设备可以做广告 - 它只能开始扫描。

谢谢,PM_Dialof

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

1)我们希望(sp_host)只有在从我们的外部微控制器上接收到其UART端口上的数据时才开始扫描。数据结束后必须从sps_device脱离。

2) sps_Host只需要扫描并与预定义的Sps_Device配对,而不是与第一个发现的设备配对,因为我们有成千上万的da14580在同一时间和地点发布广告。

提前致谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天2小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

这两个要求都没有被DSPS应用支持。由对话框提供的DSPS支持。所以,在你情况下,你将不得不修改DSPS应用程序代码 - 没有任何具体的配置。

  1. 请检查user_on_set_dev_config_complete()回调函数 - 它触发user_scan_start(),这是在扫描过程中适当的功能。在你的情况下,一个可能的解决方案是把DA14580进入延长休眠模式唤醒它,你如何对UART数据。当然,你需要有硬件流控制。您可以使用唤醒控制器一旦外部MCU触发它通过GPIO(RTS)唤醒。当器件唤醒后,那么应用程序应该开始扫描。
  2. 一种可能的解决方案可能是修改user_on_adv_report_ind()回调函数,以使中部到发送连接请求到预定义的设备。所述app_easy_gap_start_connection_to_set()API开始已知对等体的直接连接/

谢谢,PM_DIALOG.

马里奥斯
离线
最后一次露面:5个月1个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

谢谢您的快速回复!

我在user_confingh上看到过

///扫描响应数据
#定义USER_ADVERTISE_SCAN_RESPONSE_DATA”“

我没有在这个定义上设置任何东西

如果我设置sps_Host是要瞬移仅与该特定设备的sps_device广告的名字吗?

如果我做错了什么,请纠正我。

1)在user_confing.h

///要放置在广告或扫描响应数据中的设备名称
#define USER_DEVICE_NAME "DIALOG-SPS" //这里我们设置了sps_Host的广告名。

Static const struct gapm_configuration user_gapm_conf = {
///设备角色:中央、外围、观察者或广播者
.role = GAP_CENTRAL_MST,

/**************************************************************************************
*对端设备信息,仅用于:
*
*——GAPM_CONNECTION_AUTO
*——GAPM_CONNECTION_SELECTIVE
*
*带有对等体地址和对应的对等体地址类型的白名单
**************************************************************************************
*/

/// BD设备地址
.peer_addr_0 = {0x00, 0x00, 0x00, 0xCA, 0xEA, 0x23}, //这里我们设置了Sps_Device的蓝牙地址,我们想要SPS_Host与它连接。

///设备的地址类型0=public/1=private random
.peer_addr_0_type = 0,

Config_advanced.h

#define CFG_NVDS_TAG_BD_ADDRESS {0x00, 0x00, 0x00, 0xCA, 0xEA, 0x80} //SPS_Host蓝牙地址

user_sps_host.h

/**

****************************************************************************************

* @brief把手宣传报道

* @param[in] param断开消息的参数

* @return无效

****************************************************************************************

*/

void user_on_adv_report_ind(struct gapm_adv_report_ind const * param)

{

/ /如果(! memcmp (param - >报告。数据[3]、USER_ADVERTISE_DATA USER_ADVERTISE_DATA_LEN))

{

arch_printf("Connect with %02x %02x %02x %02x",

param - > report.adv_addr.addr [5],

param - > report.adv_addr.addr [4],

param-> report.adv_addr.addr [3],

param-> report.adv_addr.addr [2],

param - > report.adv_addr.addr [1],

param - > report.adv_addr.addr [0]);

app_easy_gap_start_connection_to_set (param - >报告。adv_addr_type (uint8_t *)参数- > report.adv_addr。addr, MS_TO_DOUBLESLOTS (USER_CON_INTV));

user_gapm_cancel ();

}

}

提前致谢,

腻过