DSPS主机项目扫描设备

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

你好对话框!

我们试图实现一个基于dsp的项目。我们已经用DSPS主机示例(Version v_5.150.2)闪过了(Da14580 DK Basic板),我们想通过UART (TX/RX)获得扫描设备的名称。

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

它的DSPS设备示例工作正常。它在宣传他的设备名称一切正常。

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

是否有可能使用TERA术语来看待与DSPS主机示例中附近的附近广告设备扫描?

2)DSPS主机示例是否也是广告他的设备名称?因为我使用了对话DSPS Android应用程序,并且在按下扫描按钮时无法检测到任何内容。

提前谢谢。

腻过

设备:
PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨玛丽奥斯,

嗨玛丽奥斯,

非常感谢您在线的问题。SPS_HOST项目将DA14580配置为中心,因此设备不会通告。请检查user_callback_config.h,您将在sps_host项目中看到.default_operation_adv = null。在SPS_DEVICE项目中,在同一标题文件中,您将看到.default_operation_Adv = default_advertise_operation。

为此,如果您想与DSPS Android应用程序连接,则应使用DA14580中的SPS_DEVICE项目。请记住,移动应用程序将是中央,并且运行SPS_Device的DA14580将是外设。

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

谢谢,PM_Dialog

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

谢谢您的快速回复!!

我已经检查了DSP主机和DSPS设备项目上的user_callback_config.h,并且您有右转。

我们需要设置中央扫描继续永远扫描外设,但我们不想与任何外设连接。

只扫描广告设备。

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

如果我使用TERA术语我可以看到终端扫描吗?

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入: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

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好pm_dialogue!

你好pm_dialogue!

谢谢你的回复!

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

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

需要使用哪个程序来实现呢?

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

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

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨玛丽奥斯,

嗨玛丽奥斯,

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

谢谢,PM_Dialog

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好pm_dialogue.

你好pm_dialogue.

在数据通过移动电话转移到第一个设备后,我们需要。第一设备必须连接到第二设备并发送数据。

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

如何实现呢?

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入: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

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

感谢您的快速回复 !

我刚刚用(sps_device)和(sps_host)闪动了Device_1和Device_2。

来自移动电话的数据成功发送到DEVIED_1和移动设备在数据传输后断开连接,但它看起来并不能够与DEVICE_1连接以获取数据。

我已经发送了Device_1和Device_2配置设置,以便更好地理解。

我会等你的回复

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
你好,马里奥斯,你能不能

你好Marios,请检查Device_1在断开连接后是否开始广告?Device_2开始扫描?你可以使用SS收费箱的功率分析器来验证它。

请快速测试:在Device_1中运行SPS_DEVICE和DEVICE_2运行对话框提供的SPS_HOST。这项工作吗?Device_2可以连接到Device_1吗?谢谢,PM_Dialog

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

谢谢您的快速回复!

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

您是否有广告SPS_HOST的波形?

与我们的波形进行比较。

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

如果它连接到Device_1 ?

非常感谢你的帮助

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨玛丽奥斯,

嗨玛丽奥斯,

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

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

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

运行sps_device的Device_1启动发布-请参见sps_device_adv.PNG。

运行sps_host的设备_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

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

是的,我在Device_2 (Sps_Host)上有与你相同的波形,但似乎它不能与我拥有的任何sps设备连接。

我有Device_2 (sps_host)在扩展睡眠模式与硬件流控制,因为我想让它运行与电池。

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

设备1(SPS_DEVISE)位于SW流量控制和正常电池配置文件以及微控制器和UART通信。

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨玛丽奥斯,

嗨玛丽奥斯,

您是否正在使用Dialog提供的DSPS项目?您对sps_host或sps_device应用程序代码做过任何修改吗?是否有可能提供一个嗅探器日志,以便我能了解在空中发生了什么?

你能检查一下你是否在sps_hose侧——user_on_adv_report_ind()得到广告报告吗?

谢谢,PM_Dialog

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
PM_Dialog !

PM_Dialog !

感谢您的快速回复 !

当移动设备将数据传输到

Device_1微控制器处理缓冲区中的数据,然后通过UART将DA14580上的此数据发送到DEBOR_2

我们阅读了以下使用手册的过程:

AN-B-026_DA14580_EXTERNAL_WAKE-UP_MECHASISMS_V1_0

1)DEVER_1如何使用特定的DEVICE_2连接DA14580两种设备运行DSPS项目

提前谢谢,

腻过

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

我们已经设置了Device_1运行(DSPS_HOST),我们的外部微控制器通过UART向DA14580发送数据

设备1(SPS_HOST)成功连接到设备2(SPS设备),但它不会将任何数据传输到另一侧。

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

汽车 ?

直接联系吗?

给我们一些指导如何成功地做这件事

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

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

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨玛丽奥斯,

嗨玛丽奥斯,

运行sps_host的Device_1向运行sps_device的Device_2发送连接请求,可以成功建立连接,因此连接没有问题。

你能探讨UART信号吗?

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

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

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

谢谢,PM_Dialog

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复 !

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

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

需要做哪些设置才能实现这一点?

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

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨玛丽奥斯,

嗨玛丽奥斯,

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

正如我在前面的评论中提到的,sps_host将DA14580配置为GAP角色中心。一个中心设备可以做广告——它只能开始扫描。

谢谢,PM_Dialof

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

谢谢您的快速回复!

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

2)SPS_HOST仅需要与预定义的SPS_DEVICE扫描并与第一个发现的设备配对,因为我们有数千个DA14580,在同一时间和地点进行广告。

提前谢谢,

腻过

PM_Dialog
离线
最后看到:3小时19分钟前
工作人员
加入:2018-02-08 11:03
嗨玛丽奥斯,

嗨玛丽奥斯,

DSPS应用程序不支持这两个需求。DSPS由Dialog提供支持。因此,在这种情况下,您将不得不修改DSPS应用程序代码——没有任何特定的配置。

  1. 请检查user_on_set_dev_config_complete()回调函数-它触发user_scan_start(),这是扫描过程的适当函数。在您的情况下,一种可能的解决方案是将DA14580置于扩展睡眠模式,并按照UART上的数据唤醒它。当然,您需要有硬件流控制。您可以使用唤醒控制器通过GPIO (RTS)唤醒一旦外部MCU触发了它。当设备唤醒时,应用程序应该开始扫描。
  2. 一个可能的解决方案可能是修改user_on_adv_report_ind()回调函数,以便Central向预定义设备发送连接请求。app_easy_gap_start_connection_to_set() API启动到已知peer/的直接连接

谢谢,PM_Dialog

腻过
离线
最后看到:4个月3个星期前
加入:2017-05-09 20:27
你好PM_DIALOG!

你好PM_DIALOG!

谢谢您的快速回复!

我在user_confingh上看到过

///扫描响应数据
#define user_advertise_scan_response_data“”

我没有设置任何定义的东西

如果我设置sps_device广告名称,sps_Host将只与特定的设备连接?

如果我做错了,请把我搞定,

1)在user_confing.h

///要放置在广告或扫描响应数据中的设备名称
#define user_device_name“dialog-sps”//在此设置sps_host通告名称。

static const结构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.

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

* /

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(“连接%02x%02x%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-> eport.addr.addr [1],

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

app_easy_gap_start_connection_to_set(param-> rapth.adv_addr_type,(uint8_t *)&param-> report.adv_ddr.addr,ms_to_doubledlot(user_con_intv));

user_gapm_cancel ();

提前谢谢,

腻过