zoukankan      html  css  js  c++  java
  • BLE获取iphone mac地址的方法--【原创】

    本人用的BLE是TIcc2541,1.3.2协议栈

    1、首先要说明的是,iphone手机将信息保护了,BLE设备读到的iphone地址是随机的,每次连接都会不同

    2、下面我就具体说明如何查看手机的mac地址

    首先我的程序是作为从机的,从机配好开始广播,事件SBP_START_DEVICE_EVT ---> GAPRole_StartDevice( &simpleBLEPeripheral_PeripheralCBs );

    然后进入peripheral.c中的GAPRole_ProcessEvent函数(关于回调函数我就不提了),

    由事件SYS_EVENT_MSG --->gapRole_ProcessOSALMsg( (osal_event_hdr_t *)pMsg );  

    ---> GAP_MSG_EVENT ---> gapRole_ProcessGAPMsg( (gapEventHdr_t *)pMsg );

    ---> GAP_LINK_ESTABLISHED_EVENT ---> 

    #define GAP_LINK_ESTABLISHED_EVENT            0x05

    //!< Sent when the Establish Link Request is complete. This event is sent as an OSAL message defined as gapEstLinkReqEvent_t.

    uint8 devAddr[B_ADDR_LEN]; //!< Device address of link

    typedef struct
    {
    osal_event_hdr_t hdr; //!< GAP_MSG_EVENT and status
    uint8 opcode; //!< GAP_LINK_ESTABLISHED_EVENT
    uint8 devAddrType; //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES
    uint8 devAddr[B_ADDR_LEN]; //!< Device address of link
    uint16 connectionHandle; //!< Connection Handle from controller used to ref the device
    uint16 connInterval; //!< Connection Interval
    uint16 connLatency; //!< Conenction Latency
    uint16 connTimeout; //!< Connection Timeout
    uint8 clockAccuracy; //!< Clock Accuracy
    } gapEstLinkReqEvent_t;

    gapEstLinkReqEvent_t *pPkt = (gapEstLinkReqEvent_t *)pMsg;
    DEBUG_PRINT("address: %s(%d) ", bdAddr2Str(pPkt->devAddr), __LINE__);

    此时address就是你手机蓝牙的mac地址了,安卓和ios都可以,亲测

    欢迎交流,如有转载请注明出处

    新浪博客:http://blog.sina.com.cn/u/2049150530
    博客园:http://www.cnblogs.com/sky-heaven/
    知乎:http://www.zhihu.com/people/zhang-bing-hua

  • 相关阅读:
    BZOJ 2142: 礼物 [Lucas定理]
    HDU 4349 Xiao Ming's Hope [Lucas定理 二进制]
    HDU 3944 DP? [Lucas定理 诡异的预处理]
    HDU 3037 Saving Beans [Lucas定理]
    HDU 4372 Count the Buildings [第一类斯特林数]
    整理一点与排列组合有关的问题[组合数 Stirling数 Catalan数]
    ZOJ 3557 & BZOJ 2982 combination[Lucas定理]
    BZOJ 3790: 神奇项链 [Manacher 贪心]
    CF 2015 ICL, Finals, Div. 1 J. Ceizenpok’s formula [Lucas定理]
    HDU 1573 X问题 [中国剩余定理]
  • 原文地址:https://www.cnblogs.com/sky-heaven/p/4317034.html
Copyright © 2011-2022 走看看