Firefly开源社区

BLE4.0 的一些疑惑。

31

积分

0

威望

0

贡献

游客

积分
31
发表于 2015-5-24 23:22:35     
新进一公司,用了Q902X模块,自己也找到了fireBLE。
接触蓝牙不过几天的时间,虽然基本熟悉了QPPS和QPPC 这两个例子,但是BOSS却要求这几天就要完成任务。
但是目前有几个疑惑,基本都是概念的不明:
1.QPPC 和QPPS 已经连接以后,没有进行配对,但是却可以进行数据收发。难道不是配对了才可以进行数据收发吗?还是要自己修改,自己做限制?(比如配对失败后,我将连接断开)。
2.UUID 和服务的属性。  UUID要自己定吗? 假如我有一批蓝牙模块(上千个),那么是不是UUID都必须设成不一样? 如果两个模块烧同样的的QPPS代码(里面的参数都一样),那么如果这两个都在范围内广播,那么会不会互相影响,而导致连接不成?
回复

使用道具 举报

150

积分

0

威望

0

贡献

技术小白

积分
150
发表于 2015-5-25 10:13:49     
本帖最后由 FireBLE_blue 于 2015-5-25 10:18 编辑

1.ble 蓝牙和传统蓝牙有些区别,ble 不配对即可连接,后面配对绑定。
qn902x 实现了ble 蓝牙的安全功能,具体可看smpc,你的例子整个过程似乎没有配对过程,实际上不一定没有。配对的过程的由设备的能力决定,比如,你的设备,没有输入功能,配对码就没有办法输入,也没有显示功能,对方的配对码也不能显示。蓝牙规格里规定了一些设备能力的分类,由分类判断,具体可看蓝牙规格书的安全部分章节,而qn902x 上你可从如下关键点进行分析
  1. enum
  2. {
  3.     ///Display Only
  4.     SMP_IO_CAP_DISPLAY_ONLY = 0x00,
  5.     ///Display Yes No
  6.     SMP_IO_CAP_DISPLAY_YES_NO,
  7.     ///Keyoard Only
  8.     SMP_IO_CAP_KB_ONLY,
  9.     ///No Input No Output
  10.     SMP_IO_CAP_NO_INPUT_NO_OUTPUT,
  11.     ///Keyboard Display
  12.     SMP_IO_CAP_KB_DISPLAY,
  13.     SMP_IO_CAP_LAST,
  14. };
复制代码
而你的项目的设备能力应该设置了为SMP_IO_CAP_NO_INPUT_NO_OUTPUT

2.UUID 一般要自己根据项目酌情修改,每个项目的uuid 是一致的,不需要同一批货每个UUID 都不一样,在同一广播范围内,有影响的是蓝牙地址,蓝牙地址,一般都是递增烧录的,每一个设备都不一样,

回复

使用道具 举报

31

积分

0

威望

0

贡献

游客

积分
31
发表于 2015-5-25 16:43:43     
FireBLE_blue 发表于 2015-5-25 10:13
1.ble 蓝牙和传统蓝牙有些区别,ble 不配对即可连接,后面配对绑定。
qn902x 实现了ble 蓝牙的安全功能, ...

多谢解答,你说的蓝牙地址,是不是指蓝牙的MAC,这个地址能够改变吗?还是每个模块出厂唯一了?
回复

使用道具 举报

150

积分

0

威望

0

贡献

技术小白

积分
150
发表于 2015-5-25 17:10:02     
是的,指的就是蓝牙的mac,这个地址能通过软件改变,一般来说,每个产品生产的烧录环节会把蓝牙mac 递增烧录,QN902x 方案 的mac 存放在NVDS ,上电会读取该mac,并写入模块中,所以我们只要保证NVDS 的mac 不一样即可,QN902x 出厂的会后有一个默认的mac ,已经是唯一的了,同一批次一般不会有冲突,
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表