DSPS主机项目扫描设备

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

你好对话框!

我们尝试根据DSP实施项目。我们已将(DA14580 DK基本板)与DSPS主机示例(版本v_5.150.2)闪烁,我们希望通过UART(TX / RX)获取ScanD设备的名称

我们实现了Da 14580定制板,从Spi flash启动,并使用HW流量控制低电池消耗

它具有正常工作的DSP设备示例。它是广告他的设备名称一切正常。

1)我怎样才能看到scand设备的?

是否有可能使用tera术语来查看是否实际上扫描附近的广告设备从DSPS主机的例子?

2) DSPS主机的例子也宣传他的设备名称?因为我使用的对话dsp android应用程序,我不能检测任何扫描按钮。

提前致谢。

腻过

设备:
PM_DIALOG.
离线
最后一次露面:2天4小时前
职员
加入: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应用程序,你应该使用DA14580中的sps_device项目。请记住,移动应用程序将是中央应用程序,而运行sps_device的DA14580将是外设。

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

谢谢,PM_DIALOG.

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

谢谢你的快速回复!!

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

我们需要设置扫描的中央继续扫描外围设备,但我们不想与任何一个连接。

只扫描广告设备。

我们能得到继续扫描设备列表吗?

如果我使用tera术语,我可以看到在终端扫描?

提前致谢,

腻过

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

嗨腻过,

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

谢谢,PM_DIALOG.

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialogue !

你好PM_Dialogue !

感谢您的快速回复!

我们有一部手机和两台14580设备。

移动电话连接到第一个Da14580发送数据,然后在第二个Da14580上传输数据,并在外部处理器中执行我们的进程。

哪个计划必须用来实现这一目标?

第二设备已在运行DSP(SPS_DEVICE)项目。

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

提前致谢,

腻过

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

嗨腻过,

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

谢谢,PM_DIALOG.

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialogue

你好PM_Dialogue

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

两个设备使用不同的蓝牙地址和名称运行(SPS设备)

如何实现呢?

提前致谢,

腻过

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

嗨腻过,

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

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

现在,需求是使用Device_2到Device_1。为此,应该将Device_2配置为GAP中心。DSPS包括一个项目sps_host,它将DSPS配置为GAP Central。

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

谢谢,PM_DIALOG.

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

我刚刚用(sps_device)和device_2与(sps_host)闪烁了Device_1。

来自手机的数据成功传输到Device_1,数据传输完成后,移动设备断开连接,但似乎Device_2不能与Device_1连接以获得数据。

我已经向您发送了Device_1和Device_2配置设置以获得更好的理解。

我等待你的回复

提前谢谢,

腻过

PM_DIALOG.
离线
最后一次露面:2天4小时前
职员
加入:2018-02-08 11:03
嗨玛丽奥斯,你能忘记吗?

嗨Marios,可以检查Device_1是否在断开连接后开始广告?设备_2启动扫描过程?您可以使用SS Tollbox的电源分布程序来验证。

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

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

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

你有sps_Host广告的波形吗?

与我们的波形进行比较。

SPS_HOST似乎开始扫描,但我如何弄清楚

如果它与Device_1连接?

非常感谢你的帮助

提前致谢,

腻过

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

嗨腻过,

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

很抱歉我不能复制这个。

我使用的DSPS没有任何修改和对话框提供的。

运行SPS_DEVICE的设备_1启动广告 - 请参阅SPS_DEVICE_ADV.PNG。

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

如我以前的回复中所述,中央设备(SPS_HOST)上的应用程序会自动启动扫描并连接到支持串行端口服务的第一个发现的外围设备(SPS_DEVICE)。因此,Device_2自动连接到Device_2。请参阅sps_device_connected.png和sps_host_connected.png。

我建议使用sps_host和sps_device而没有任何修改,这样您就可以验证相同的功能。

谢谢,PM_DIALOG.

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

是的,我在device_2(sps_host)上具有与您相同的波形,但似乎无法与我拥有的任何SPS设备连接。

我在扩展睡眠模式下具有硬件流量控制的Device_2(SPS_HOST),因为我希望它与电池一起运行。

采用外置单片机控制CTS和RTS,并与uart通信。

该设备1 (sps_design)是SW流量控制和正常电池配置,也有微控制器和UART通信。

提前致谢,

腻过

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

嗨腻过,

您是否使用DSPS项目,如对话框提供的?您是否对SPS_HOST或SPS_DEVICE应用程序代码进行了任何修改?是否有可能提供嗅探器日志,以便我能够理解空中发生的事情?

您能否检查您是否在SPS_HOSE Side - User_Ond_Adv_Report_ind()中获取广告报告?

谢谢,PM_DIALOG.

玛罗斯
离线
最后一次露面:5个月前
加入: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个月前
加入: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天4小时前
职员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

当运行sps_1运行sps_1的连接不是问题,将连接请求发送到运行sps_device的设备_2,并且可以成功设置连接。

你能探测一下UART信号吗?

如果DA14580配置在任何睡眠模式中,那么应该使用硬件流控制。一旦数据在UART上,那么SPS_HOST应该将它们传输到对等设备。

因此,也请检查UART信号和UART配置在user_外围_setup.c / .h文件。

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

谢谢,PM_DIALOG.

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

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

1)我们希望(Sps_Host)仅当我们有流量控制数据时才启动连接模式?

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

2)我们也希望(sps_Host)在接收到数据后可以发布,然后必须连接(Sps_Device)并传输数据。

提前致谢,

腻过

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

嗨腻过,

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

如我之前的评论中所述,SPS_Host将DA14580配置为GAP角色中心。中央设备可以宣传 - 它只能开始扫描。

谢谢,PM_Dialof.

玛罗斯
离线
最后一次露面:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

1)我们想要(sp_Host)只在它的UART端口从我们的外部微控制器接收到数据时才开始扫描。数据结束后必须从sps_device断开连接。

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

提前致谢,

腻过

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

嗨腻过,

DSP应用程序不支持这两个要求。按照对话框提供的支持DSP。因此,在此情况下,您必须修改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个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

我刚刚在user_confi。h上看到过

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

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

如果我设置SPS_DEVICE广告名称,SPS_HOST将仅与该特定设备连接?

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

1)在user_confing.h

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

静态const struct gapm_configuration
///设备角色:中心,外围,观察者或广播
.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 %02x %02x %02x",

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

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

param-> eport.adddr.addr [3],

param-> eport.adddr.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 ();

}

}

提前致谢,

腻过