你好对话!
我们尝试根据DSP实施项目。我们已将(DA14580 DK基本板)与DSPS主机示例(版本v_5.150.2)闪烁,我们希望通过UART(TX / RX)获取ScanD设备的名称
我们已经实施了一个带有DA 14580的定制板,它是SPI Flash的靴子,并使用HW流量控制降低电池消耗
它具有正常工作的DSP设备示例。它是广告他的设备名称一切正常。
1)我如何看到ScanD设备的?
是否有可能使用TERA术语来看待与DSPS主机示例中附近的附近广告设备扫描?
2)DSPS主机示例是否也是广告他的设备名称?因为我使用了对话DSPS Android应用程序,并且在按下扫描按钮时无法检测到任何内容。
提前致谢。
玛罗斯
设备:
嗨玛丽奥斯,
非常感谢您在线的问题。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.
你好PM_DIALOG!
感谢您的快速回复 !!
我已经检查了DSP主机和DSPS设备项目上的user_callback_config.h,并且您有右转。
我们需要设置扫描的中央继续扫描外围设备,但我们不想与任何一个连接。
只扫描广告设备。
我们可以继续扫描设备列表思想UART吗?
如果我使用TERA术语我可以看到终端扫描吗?
提前致谢,
玛罗斯
嗨玛丽奥斯,
扫描过程具有大约8到10秒的超时,因此为了继续扫描,您必须在调用Scan_Complete回调时发送新的扫描命令。每次都会暗示您有广告邮件,您只需打印数据即可。DSPS应用程序在user_od_adv_report_ind()中实现了Arch_prinf()函数,只要您在da1458x_config_basic.h中定义了cfg_printf定义即可
谢谢,PM_DIALOG.
你好pm_dialogue!
谢谢你的回复!
我们有一个手机和两个DA 14580的分类。
移动电话连接到第一个DA14580发送数据,然后在第二个DA14580上过传输,并在外部处理器中进行流程。
哪个计划必须用来实现这一目标?
第二设备已在运行DSP(SPS_DEVICE)项目。
哪个程序必须在第一个设备上使用?
提前致谢,
玛罗斯
嗨玛丽奥斯,
BLE连接始终由中央设备(在您的情况下移动电话)启动。第一个设备也可以运行DSPS应用程序。因此,移动电话将连接到运行DSP(间隙外围设备)的第一个设备,并通过SPS配置文件发送数据。然后,您应该断开与第一个连接并连接到第二个。请记住,由于两者都运行DSP,您可能会更改BD地址和设备名称。
谢谢,PM_DIALOG.
你好pm_dialogue.
在数据通过移动电话转移到第一个设备后,我们需要。第一设备必须连接到第二设备并发送数据。
两个设备使用不同的蓝牙地址和名称运行(SPS设备)
如何实施?
提前致谢,
玛罗斯
嗨玛丽奥斯,
由于它连接到移动(间隙中央),因此设备_1应该运行SPS_DEVICE固件,因此它配置了间隙外设。
因此,在Device_1完成数据转换后,应与移动电话断开连接。您可以使用手机断开连接也是如此。
现在,要求使用DEVICE_2。为此,请将设备_2配置为间隙中央。DSP包括一个项目即SPS_HOST,它将DSP配置为GAP Central。
根据用户手册,中央设备上的应用程序自动启动扫描并连接到支持串行端口服务的第一个发现的外围设备。中央设备还通过停止数据流并自动尝试重新建立连接来处理连接丢失的情况
谢谢,PM_DIALOG.
你好PM_DIALOG!
感谢您的快速回复 !
我刚刚用(sps_device)和device_2与(sps_host)闪烁了Device_1。
来自移动电话的数据成功发送到DEVIED_1和移动设备在数据传输后断开连接,但它看起来并不能够与DEVICE_1连接以获取数据。
我已经向您发送了Device_1和Device_2配置设置以获得更好的理解。
我会等你的回复
提前致谢,
玛罗斯
嗨Marios,可以检查Device_1是否在断开连接后开始广告?设备_2启动扫描过程?您可以使用SS Tollbox的电源分布程序来验证。
请快速测试:在Device_1中运行SPS_DEVICE和DEVICE_2运行对话框提供的SPS_HOST。这项工作吗?Device_2可以连接到Device_1吗?谢谢,PM_DIALOG.
你好PM_DIALOG!
感谢您的快速回复!
是的,Device_1再次开始浏览Disconection后。
您是否有广告SPS_HOST的波形?
与我们的波形进行比较。
SPS_HOST似乎开始扫描,但我如何弄清楚
如果它与device_1连接?
非常感谢你的帮助
提前致谢,
玛罗斯
嗨玛丽奥斯,
SPS_HOST将设备配置为GAP Central角色,因此它将开始扫描。
我很抱歉,我无法复制这一点。
我正在使用DSP,没有任何修改,并按照对话框提供。
运行SPS_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.
你好PM_DIALOG!
是的,我在device_2(sps_host)上具有与您相同的波形,但似乎无法与我拥有的任何SPS设备连接。
我在扩展睡眠模式下具有硬件流量控制的Device_2(SPS_HOST),因为我希望它与电池一起运行。
采用外置单片机控制CTS和RTS,并与uart通信。
设备1(SPS_DEVISE)位于SW流量控制和正常电池配置文件以及微控制器和UART通信。
提前致谢,
玛罗斯
嗨玛丽奥斯,
您是否使用DSPS项目,如对话框提供的?您是否对SPS_HOST或SPS_DEVICE应用程序代码进行了任何修改?是否有可能提供嗅探器日志,以便我能够理解空中发生的事情?
您能否检查您是否在SPS_HOSE Side - User_Ond_Adv_Report_ind()中获取广告报告?
谢谢,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项目
提前致谢,
玛罗斯
你好PM_DIALOG!
我们已经设置了Device_1运行(DSPS_HOST),我们的外部微控制器通过UART向DA14580发送数据
设备1(SPS_HOST)成功连接到设备2(SPS设备),但它不会将任何数据传输到另一侧。
哪种模式必须在主机侧设置以传输数据?
汽车 ?
直接连接 ?
给我们一些方向如何成功完成
请帮助我们在对话DA14580平台上花费数千欧元开发。
我们是希腊最大的制造商,拥有完整的自动化生产线。
提前致谢,
玛罗斯
嗨玛丽奥斯,
当运行sps_1运行sps_1的连接不是问题,将连接请求发送到运行sps_device的设备_2,并且可以成功设置连接。
你能探讨UART信号吗?
如果DA14580配置在任何睡眠模式中,那么应该使用硬件流控制。一旦数据在UART上,那么SPS_HOST应该将它们传输到对等设备。
因此,请在user_periph_setup.c / .h文件中检查UART信号和UART配置。
应用程序代码和自定义板中的UART信号是什么?
谢谢,PM_DIALOG.
你好PM_DIALOG!
感谢您的快速回复 !
我们已在另一边成功传输数据!
1)我们希望(sps_host)仅在流量控制上的数据时才启动连接模式?
必须制作哪些设置以实现这一目标?
2)我们还想要(SPS_HOST)在它接收数据之后进行广告和可连接,然后必须建立与(SPS_DEVICE)和发送数据。
提前致谢,
玛罗斯
嗨玛丽奥斯,
你能澄清你的问题吗?
如我之前的评论中所述,SPS_Host将DA14580配置为GAP角色中心。中央设备可以宣传 - 它只能开始扫描。
谢谢,PM_Dialof.
你好PM_DIALOG!
感谢您的快速回复!
1)我们想要(sp_Host)只在它的UART端口从我们的外部微控制器接收到数据时才开始扫描。数据结束后必须从sps_device断开连接。
2)SPS_HOST仅需要与预定义的SPS_DEVICE扫描并与第一个发现的设备配对,因为我们有数千个DA14580,在同一时间和地点进行广告。
提前致谢,
玛罗斯
嗨玛丽奥斯,
DSP应用程序不支持这两个要求。按照对话框提供的支持DSP。因此,在此情况下,您必须修改DSPS应用程序代码 - 没有任何特定的配置。
谢谢,PM_DIALOG.
你好PM_DIALOG!
谢谢你的快速回复!
我刚刚看过user_confing.h
///扫描响应数据
#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_host与它连接的sps_device的蓝牙地址。
///设备的地址类型0 = public / 1 =私有随机
.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)
{
// if(!memcmp(&param-> report.data [3],user_advertise_data,user_advertise_data_len))
{
ARCH_PRINTF(“连接%02x%02x%02x%02x%02x%02x”,
param-> eport.adddr.addr [5],
param-> eport.addr.addr [4],
param-> eport.adddr.addr [3],
param-> eport.adddr.addr [2],
param-> eport.addr.addr [1],
param-> report.adddr.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();
}
}
提前致谢,
玛罗斯