用BTOOL读取sensortag的值
我不用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(¬i.value, &pMsg->msg.handleValueNoti.value,noti.len);
//用户可在这里操作¬i,通过串口发送或者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] );
我这几部分修改的对吗?
这些数值为什么都读不出来数值呢?
请你看看我下面提出的问题吧