Firefly开源社区
标题:
BLE4.0 的一些疑惑。
[打印本页]
作者:
wyq165
时间:
2015-5-24 23:22
标题:
BLE4.0 的一些疑惑。
新进一公司,用了Q902X模块,自己也找到了fireBLE。
接触蓝牙不过几天的时间,虽然基本熟悉了QPPS和QPPC 这两个例子,但是BOSS却要求这几天就要完成任务。
但是目前有几个疑惑,基本都是概念的不明:
1.QPPC 和QPPS 已经连接以后,没有进行配对,但是却可以进行数据收发。难道不是配对了才可以进行数据收发吗?还是要自己修改,自己做限制?(比如配对失败后,我将连接断开)。
2.UUID 和服务的属性。 UUID要自己定吗? 假如我有一批蓝牙模块(上千个),那么是不是UUID都必须设成不一样? 如果两个模块烧同样的的QPPS代码(里面的参数都一样),那么如果这两个都在范围内广播,那么会不会互相影响,而导致连接不成?
作者:
FireBLE_blue
时间:
2015-5-25 10:13
本帖最后由 FireBLE_blue 于 2015-5-25 10:18 编辑
1.ble 蓝牙和传统蓝牙有些区别,ble 不配对即可连接,后面配对绑定。
qn902x 实现了ble 蓝牙的安全功能,具体可看smpc,你的例子整个过程似乎没有配对过程,实际上不一定没有。配对的过程的由设备的能力决定,比如,你的设备,没有输入功能,配对码就没有办法输入,也没有显示功能,对方的配对码也不能显示。蓝牙规格里规定了一些设备能力的分类,由分类判断,具体可看蓝牙规格书的安全部分章节,而qn902x 上你可从如下关键点进行分析
enum
{
///Display Only
SMP_IO_CAP_DISPLAY_ONLY = 0x00,
///Display Yes No
SMP_IO_CAP_DISPLAY_YES_NO,
///Keyoard Only
SMP_IO_CAP_KB_ONLY,
///No Input No Output
SMP_IO_CAP_NO_INPUT_NO_OUTPUT,
///Keyboard Display
SMP_IO_CAP_KB_DISPLAY,
SMP_IO_CAP_LAST,
};
复制代码
而你的项目的设备能力应该设置了为
SMP_IO_CAP_NO_INPUT_NO_OUTPUT
2.UUID 一般要自己根据项目酌情修改,每个项目的uuid 是一致的,不需要同一批货每个UUID 都不一样,在同一广播范围内,有影响的是蓝牙地址,蓝牙地址,一般都是递增烧录的,每一个设备都不一样,
作者:
wyq165
时间:
2015-5-25 16:43
FireBLE_blue 发表于 2015-5-25 10:13
1.ble 蓝牙和传统蓝牙有些区别,ble 不配对即可连接,后面配对绑定。
qn902x 实现了ble 蓝牙的安全功能, ...
多谢解答,你说的蓝牙地址,是不是指蓝牙的MAC,这个地址能够改变吗?还是每个模块出厂唯一了?
作者:
FireBLE_blue
时间:
2015-5-25 17:10
是的,指的就是蓝牙的mac,这个地址能通过软件改变,一般来说,每个产品生产的烧录环节会把蓝牙mac 递增烧录,QN902x 方案 的mac 存放在NVDS ,上电会读取该mac,并写入模块中,所以我们只要保证NVDS 的mac 不一样即可,QN902x 出厂的会后有一个默认的mac ,已经是唯一的了,同一批次一般不会有冲突,
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/)
Powered by Discuz! X3.1