微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 用BTOOL读取sensortag的值

用BTOOL读取sensortag的值

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

我不用BLE Device Monitor 去读取sensortag的值

我一定是用 btool读?可以读吗?能读出sensortag中的 handle值吗?

ke,

可以。

我现在手头没有dongle, 但是你可以这么试:

BTool 查找连接sensortag, 连上后,到那个adv commands 窗口下(名字类似)

然后你能看到很多命令数。

找到GATT,展开,然后我记得你可以通过发送 GATT_什么什么desc 的命令,就是查找descriptor 的命令,你就能在下面输出窗口看到很详细的各种信息了, 包括各种Handel。

hi  yan!

在BTOOL里也可以看到sensortag各种测量量的值吗?

他们不是可读的类型,是不是就看不到了?

另外我想改动SimpleBLECentral程序,如何能读到sensortag中的数值呢?比如读温度的值,是不是就该如下几项?

(1)void simpleBLECentralProcessGATTMsg( gattMsgEvent_t *pMsg )

else if ( pMsg->method == ATT_HANDLE_VALUE_NOTI ||pMsg->method == ATT_HANDLE_VALUE_IND )
{
uint8 dataCount=0;

attHandleValueNoti_t noti;

dataCount = dataCount+ 1;

LCD_WRITE_STRING_VALUE( "Data Cnt: ", dataCount, 10, HAL_LCD_LINE_1 );

noti.handle = pMsg->msg.handleValueNoti.handle;

noti.len = pMsg->msg.handleValueNoti.len;

osal_memcpy(&noti.value, &pMsg->msg.handleValueNoti.value,noti.len);

//用户可在这里操作&noti,通过串口发送或者USB发送出去等等

(2)

case GAP_LINK_PARAM_UPDATE_EVENT:
{
attWriteReq_t req;
uint8 ValueBuf[2];
LCD_WRITE_STRING( "Param Update", HAL_LCD_LINE_1 );
req.handle = irTempDataHdl+1 ;
req.len = 2;
req.sig = 0;
req.cmd = 0;
// req.value[0]=0x01;
// req.value[1]=0x00;

ValueBuf[0] = 0x01;
ValueBuf[1] = 0x00;

osal_memcpy(req.value,ValueBuf,2);
//GATT_WriteCharValue( 0, &req, simpleBLETaskId );
GATT_WriteNoRsp( simpleBLEConnHandle, &req);

(3)

uint8 uuid[ATT_BT_UUID_SIZE] = { LO_UINT16(0x180A),
HI_UINT16(0x180A) };

req.type.uuid[0] = LO_UINT16(IRTEMPERATURE_DATA_UUID);
req.type.uuid[1] = HI_UINT16(IRTEMPERATURE_DATA_UUID);

irTempDataHdl = BUILD_UINT16( pMsg->msg.readByTypeRsp.dataList[0],
pMsg->msg.readByTypeRsp.dataList[1] );

我这几部分修改的对吗?

这些数值为什么都读不出来数值呢?

请你看看我下面提出的问题吧

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

网站地图

Top