7个帖子/ 0个新
最后发表
zhenwenhu
离线
最后看到:1年1个月前
加入:2015-11-18 12:48
DA14580 BLE主从模式可以一起打开吗

请问DA14580可以既做主机又做从机吗?
就是DA14580同时做主机连接一个设备,做从机连接另一个设备,可以吗

设备:
CYibin
离线
最后看到:7个月17个小时前
工作人员
加入:2017-12-14 02:48
您好,

您好,

不好意思,DA14580不支持您描述的需求,是否考虑用DA14585来实现?

zhenwenhu
离线
最后看到:1年1个月前
加入:2015-11-18 12:48
您好

您的好,请问DA14580可以先做主机然后进行软件复位后再做从机吗?就是是否可以通过复位来主从切换呢?

CYibin
离线
最后看到:7个月17个小时前
工作人员
加入:2017-12-14 02:48
您好,

您好,

主、从不能同时连接;如果是分开来做的话,那是可以的。

CYibin
离线
最后看到:7个月17个小时前
工作人员
加入:2017-12-14 02:48
上传一个例程和一个介绍PPT。说明了如何进行主、从切换

上传一个例程和一个介绍PPT。说明了如何进行主、从切换

zhenwenhu
离线
最后看到:1年1个月前
加入:2015-11-18 12:48
您的好,看了您发的例程,应该是SDK里面的准系统

您的好,看了您发的例程,应该是SDK里面的准系统,这个工程。PTT我看了感觉是DA14580作为从机模式的一个状态机。
不好意思,我在这个里面没看到关于主从切换的,能麻烦具体说一下主从切换时的一些问题吗?
问题1:祝福主机和从机是否需要两个配置文件来处理呢?
问题2:祝福作为主机时,在扫描时,可以根据RSSI值来连接信号最强的吗?还是必须根据广播数据或者MAC地址来连接设备?
问题3:祝福作为主机模式,怎么发现从机的服务呢?服务有多个时,怎么添加呢?我使用需求方的例程程序运行到sps_client_enable_req_handler这个函数,底层已连接的上,但是发现不了服务。走不到gattc_disc_svc_ind_handler这个函数。
问题4:请问在主模式下发送数据直接调用user_send_ble_data这个函数可以吗?我需要在祝福一连接上就发数据,请问我在那里发数据合适呢?
谢谢了。

CYibin
离线
最后看到:7个月17个小时前
工作人员
加入:2017-12-14 02:48
您好,

您好,

附件中的工程是一个主、从切换的样例工程。



问题1:祝福主机和从机是否需要两个配置文件来处理呢?

不太明白您的意思?

对话框SDK中的协议栈提供了间隔层的消息接口,缺口层的消息分GAPM(经理)和GAPC(控制器)。

GAPM用于管理本地设备的配置信息;GAPC用于管理对端设备的连接过程

应用层可发送GAPM消息给协议栈,如,实现:

扫描蓝牙设备:GAPM_START_SCAN_CMD

报告扫描结果给应用层:GAPM_ADV_REPORT_IND

具体的可参考文档“RW-BLE-GAP-IS”



问题2:祝福作为主机时,在扫描时,可以根据RSSI值来连接信号最强的吗?还是必须根据广播数据或者MAC地址来连接设备?

通过接收GAPM_ADV_REPORT_IND消息,可读取其携带的adv_report类型的参数,其中就包含rssi和bd addr地址。用户可自行判断



问题3:祝福作为主机模式,怎么发现从机的服务呢?服务有多个时,怎么添加呢?我使用需求方的例程程序运行到sps_client_enable_req_handler这个函数,底层已连接的上,但是发现不了服务。走不到gattc_disc_svc_ind_handler这个函数

问题4:请问在主模式下发送数据直接调用user_send_ble_data这个函数可以吗?我需要在祝福一连接上就发数据,请问我在那里发数据合适呢?


这两个问题,是关贸总协定层相关的,详细的可参阅“RW-BLE-GATT-IS”

发现服务,可在需求方主人工程中搜索:GATTC_DISC_CMD

发送数据,可在需求方主人工程中搜索:GATTC_WRITE_CMD

主机(客户端)会逐一发现从机(服务器)的所有的服务,发现完成之后,在函数user_sps_client_enable_cfm_handler处理发现的结果,通过参数可获得发现的结果

附件: