红旭大佬,最近想要通过主机主动扫描控制从机,从机通过主机的扫描请求数据来操作,但现在的问题是,主机主动扫描好像不包含数据,只包含地址,请问这种情况下怎么办,是重新设置主机的地址当作数据,还是说有其他的办法可以拓展扫描请求的数据包,可以不可以修改ble_gap.h中的内容以拓展扫描请求数据包来解决,还是说只能动态修改主机的Mac 地址来控制从机,对了,我需求的场景不允许主从连接的,谢谢大佬了
主从一体即可解决你的问题,根据你的描述你的需求应该是想通过广播来交互数据;
谢谢大佬的提点,大佬的意思是主从一体,那我可以理解为双方都一直开启被动扫描(个人觉得主动扫描会增加不必要的通信),然后主机要发送给从机指令时候开起广播,由于主机从机双方都一直开着扫描,故从机可以接收到,这就造成了主机到从机的指令传输,而从机也可以通过主机的广播包控制自己是否广播来让主机知道自己的存在!
Jjkjj 这个时候主从已经混为一体了,两个设备只有当对方处于自己对立面时即可完成数据交互;也就是说设备1处于主时,那么设备2处于从时,这个时候就可以完全数据的交互;反之亦然。
是的,我这里所说的主机从机不是蓝牙协议里面的主机从机得概念,而是谁控制谁,比如A控制B 我这里认为A是主机,B是从机,但不是蓝牙协议里面的,而是我们为了区分谁控制谁而引用了蓝牙协议里面的概念,可能我这样胡乱并不好,容易混淆,因为主从一体,用协议栈里面的概念来说,不存在绝对的谁是主机或从机,只能说在某一时刻,广播方是从机,扫描方是主机,大佬,我这是这样理解的,如果有错误,唠烦大佬指点一下😁,谢谢大佬了🙏
对了,大佬,最近在找怎么提取自定义厂商数据,目前没找到位置,无抓包器,苹果手机nrf connect 也不显示具体广播十六进制内容,如果要主机便历提取广播包内容太麻烦,请问广播包那个结构体存了这些自定义数据,就像rssi 一样,这样可以快速找到并提取,谢谢大佬了🙏
Jjkjj 这个自定义的厂商数据放在了0xFF这个字段,届时你收到广播包之后,只要找0xFF之后的就是自定义的厂商数据了
好的,谢谢大佬🙏