[讨论] 蓝牙4.0模块连接Sensortag获取传感器数据(一)

shmily53   2014-2-10 13:05 楼主
本人使用的蓝牙模块为网蜂的蓝牙4.0模块,不知道能否成功获取数据,在这里希望大家来一起讨论。解决有Sensortag套件没有相应设备支持的尴尬。。。

蓝牙4.0模块连接Sensortag获取传感器数据(一)

经过了对蓝牙协议数周的学习,大概了解了不懂协议栈原理:
现在已经连接上了sensortag,可以获取设备的地址和RSSI,但还有点疑问
  1. static void simpleBLECentralEventCB( gapCentralRoleEvent_t *pEvent )
  2. {
  3.   switch ( pEvent->gap.opcode )
  4.   {
  5.     case GAP_DEVICE_INIT_DONE_EVENT:  
  6.       {
  7.         LCD_WRITE_STRING( "BLE Central", HAL_LCD_LINE_1 );
  8.         LCD_WRITE_STRING( bdAddr2Str( pEvent->initDone.devAddr ),  HAL_LCD_LINE_2 );
  9.       }
  10.       break;

  11.     case GAP_DEVICE_INFO_EVENT:
  12.       {
  13.         // if filtering device discovery results based on service UUID
  14.         if ( DEFAULT_DEV_DISC_BY_SVC_UUID == TRUE )
  15.         {
  16. //          if ( simpleBLEFindSvcUuid( SIMPLEPROFILE_SERV_UUID,
  17. //                                     pEvent->deviceInfo.pEvtData,
  18. //                                     pEvent->deviceInfo.dataLen ) )
  19. //          {
  20.             simpleBLEAddDeviceInfo( pEvent->deviceInfo.addr, pEvent->deviceInfo.addrType );
  21. //         }
  22.         }
  23.       }
  24.    ......

   疑问:  上面代码注释部分取消的话:主机串口打印扫描设备数为0  。但是注释上的话能连接上sensortag,并且打印设备地址和RSSI
下面列出相应UUID:
主机:
  1. // Simple Profile Service UUID
  2. #define SIMPLEPROFILE_SERV_UUID             0x180A     //0xAA10


此处我把0xAA10改成了0x180A  ,注:0x180A为sensortag的服务UUID:

  1. // Device Information Service UUIDs
  2. #define DEVINFO_SERV_UUID                 0x180A    // Service UUID
  3. #define DEVINFO_SYSTEM_ID_UUID            0x2A23    // System ID
  4. #define DEVINFO_MODEL_NUMBER_UUID         0x2A24    // Model Number String
  5. #define DEVINFO_SERIAL_NUMBER_UUID        0x2A25    // Serial Number String
  6. #define DEVINFO_FIRMWARE_REV_UUID         0x2A26    // Firmware Revision String
  7. #define DEVINFO_HARDWARE_REV_UUID         0x2A27    // Hardware Revision String
  8. #define DEVINFO_SOFTWARE_REV_UUID         0x2A28    // Software Revision String
  9. #define DEVINFO_MANUFACTURER_NAME_UUID    0x2A29    // Manufacturer Name String
  10. #define DEVINFO_11073_CERT_DATA_UUID      0x2A2A    // IEEE 11073-20601 Regulatory Certification Data List
  11. #define DEVINFO_PNP_ID_UUID               0x2A50    // PnP ID


求大神解决上面的疑问

回复评论 (3)

UUID只是表明身份,值应跟在相应的UUID后边

未命名.JPG
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2014-2-10 15:24
引用: ddllxxrr 发表于 2014-2-10 15:24
UUID只是表明身份,值应跟在相应的UUID后边

那 SIMPLEPROFILE_SERV_UUID 的值应该改成多少呢?
点赞  2014-2-11 11:25
爱多少就多少,它只是个标识,告诉需要处理的地方,不是别的,是我
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2014-2-11 13:10
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复