This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

attDevice Name 与 Local Name的区别

Other Parts Discussed in Thread: CC2540

亲爱的TI工程师:

您好!请问下CC2540里面的Device Name 与 Local Name 的区别是什么?他们可以写成不一样的吗?

我发现我如果把 attDeviceName 设置成 a,Local Name 设置成a1234,用lightblue搜索,搜到显示的名字为 a1234,而不是a,

但是如果连接一下,然后断开,再搜索,搜到显示的名字就变成了 a,这是怎么回事呢?

我一直理解的是ligtblue 上应该显示的是我的广播名字,为什么没进行一次连接,会显示的是我的 Local Name?

谢谢!

  • 可以设置成不一样的。

    应该是显示Device Name的。名称应该是上层软件刷新的问题。可以通过sniffer工具看一下发包来协助判断

  • Local name其实取决你的scanRspdata. 而搜索显示的名字由attDeviceName 决定。

    发起连接才会有scanrequest和scanrsp交互,手机才能从你的scanrspdata中知道你现在的local name.否则他会使用上一次的记录。

    static uint8 scanRspData[] =
    {
    // complete name
    0x14, // length of this data
    GAP_ADTYPE_LOCAL_NAME_COMPLETE,
    0x53, // 'S'
    0x69, // 'i' 69
    0x6d, // 'm'
    0x70, // 'p'
    0x6c, // 'l'
    0x65, // 'e'
    0x42, // 'B'
    0x4c, // 'L'
    0x45, // 'E'
    0x50, // 'P'
    0x65, // 'e'
    0x72, // 'r'
    0x69, // 'i'
    0x70, // 'p'
    0x68, // 'h'
    0x65, // 'e'
    0x72, // 'r'
    0x61, // 'a'
    0x6c, // 'l'

    // connection interval range
    0x05, // length of this data
    GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,
    LO_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ), // 100ms
    HI_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ),
    LO_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ), // 1s
    HI_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ),

    // Tx power level
    0x02, // length of this data
    GAP_ADTYPE_POWER_LEVEL,
    0 // 0dBm
    };

  • Hi WBJ,

    从sniffer抓包来看,广播的数据只能看到服务和是否可被发现的属性,Device Name好像是无法看到。

    Respone Data里面就是我设置的 Local name

x 出现错误。请重试或与管理员联系。