微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 蓝牙4.0模块连接Sensortag获取传感器数据(一)

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

时间:10-02 整理:3721RD 点击:
本人使用的蓝牙模块为网蜂的蓝牙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

复制代码



求大神解决上面的疑问

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

那 SIMPLEPROFILE_SERV_UUID 的值应该改成多少呢?

爱多少就多少,它只是个标识,告诉需要处理的地方,不是别的,是我

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

网站地图

Top