微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > iphone应用连接CC2540问题

iphone应用连接CC2540问题

时间:10-02 整理:3721RD 点击:

hi,各位大侠!

     请教一个问题:我有两块开发板分别跑HostTestApp和SimpleBLEPeripheral工程的hex文件,通过BTool双方可以正常通信。BTool先扫描到外设的mac,然后建立连接,在通过UUID进行控制操作,这些操作都正常没问题。

    我的问题是:我看iphone上面的代码它的连接步骤好像不同,iphone并不是先扫描mac地址,在建立连接;而是直接通过扫描UUID;请问一下:iphone为什么不需要先扫描到mac地址,然后在建立连接。HostTestApp是否也可以像iphone应用一样直接扫描UUID,或者是ble sdk中有类似的范例?iphone这种模式对应的外设工程是否也有类型的范例呢,请告知?还有我看博通发布的android ble也是通过mac建立连接的,能否解释一下,这两种方式有什么区别?

Hi

iPhone也扫描MAC地址, 只是iPhone没有把这个接口开放给IOS应用层, 不会把扫描到的mac地址往上面报告, 而是产生一个UUID报告给应用层.

本质上, 到了最底层, 一切操作, 比如说建立连接, 最终都是通过mac地址来的.

谢谢yan的解答,我还有个疑问:如果都多个相同的CC2540设备广播出来的UUID相同,在连接的时候怎么区分是哪个对应的设备啊

CC2540不广播UUID, IOS查找到的是CC2540的mac地址. 每个mac地址都是唯一的, 不一样.

通过不同mac地址, IOS针对不同CC2540产生不同UUID, 用以区分.

应该不是那样的吧,在SimpleBLEPeripheral工程的simpleBLEPeripheral.c中有这样的定义:

static uint8 advertData[] =
{
  // Flags; this sets the device to use limited discoverable
  // mode (advertises for 30 seconds at a time) instead of general
  // discoverable mode (advertises indefinitely)
  0x02,   // length of this data
  GAP_ADTYPE_FLAGS,
  DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,

  // service UUID, to notify central devices what services are included
  // in this peripheral
  0x07,   // length of this data
  GAP_ADTYPE_16BIT_MORE,      // some of the UUID's, but not all
  LO_UINT16( SIMPLEPROFILE_SERV_UUID ),
  HI_UINT16( SIMPLEPROFILE_SERV_UUID ),
  LO_UINT16( TEST_SERVICE_UUID ),
  HI_UINT16( TEST_SERVICE_UUID ), 
  LO_UINT16( ENABLE_SERVICE_UUID ),
  HI_UINT16( ENABLE_SERVICE_UUID ),
};

这个就是定义CC2540外设的广播数据吧,里面就定义了有UUID,而且我用Packet Sniffer也抓到了广播出来的数据确实是有UUID的,UUID应该不是iphone自己生成的。

附件中有我抓到的广播数据,AdvData中就有UUID

这个UUID只是服务的UUID, 并不是IOS为区别设备产生的UUID.

这个不会影响IOS去区分设备. 最终IOS设备还是靠mac地址来区分外设的.

你好。怎样才能在ios端获取cc2540的mac地址,而不是经过转换的uuid

hi shuyong,

iOS 不会把对方的mac地址传送到应用层, 处于某些安全考虑.

那请问如何确定硬件的唯一性?如果我们采购了CC2540研制成某种产品,app如何确定设备是我们研发的?

请问:

        怎么做,才能搜索到iphone 发出的广播信息,cc2540能同时工作在host和device状态吗?或者说相互切换,如果可以,应该怎么做

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top