[英]Bluetooth peripheral doesn't answer
我考試很麻煩。 我必須編寫一個iOS應用程序,該應用程序使用德州儀器( TI)制造的外部傳感器,稱為TI Sensortag 。 以我的拙見,TI的文檔對於入門級程序員來說確實很差,而且理解起來很復雜。 我試圖在E2E論壇上提問,但他們無法幫助我,他們的回答是“嗯,嗯,我們不知道,走開問別人”,...
我在我的項目中添加了CoreBluetooth框架並創建了CentralManager。 我能夠找到我的設備,連接並獲取他的名字和(有時)他的RSSI。 現在,我要嘗試的是詢問CBPeripheral對象是否為我提供某些服務或類似的服務。 我已經找到了完整的屬性表,但我不知道如何使用它...我知道我必須激活一些服務或類似的東西,但是我現在真的不願意這樣做,我在Google上搜索了很多,但是我找不到有用的東西...
我正在嘗試使用此方法啟用傳感器,但是我做錯了事。
-(void) configureSensorTag
{
uint8_t myData = 0x01;
NSData *data = [[NSData alloc] initWithBytes:&myData length:1];
[BLEUtility writeCharacteristic:myPer sUUID:@"F000AA00-0451-4000-B000-000000000000" cUUID:@"F000AA02-0451-4000-B000-000000000000" data:data];
[BLEUtility setNotificationForCharacteristic:myPer sUUID:@"F000AA00-0451-4000-B000-000000000000" cUUID:@"F000AA01-0451-4000-B000-000000000000" enable:YES];
NSLog(@"Configured TI SensorTag IR Termometer Service profile");
}
此外,我正在嘗試使用此方法檢索Sensortag的服務
[peripheral discoverServices:nil];
和他的代表
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error
{
NSLog(@"Found service");
if (error) {
NSLog(@"Error: %@", error);
}
}
但它從未被調用。
有人知道嗎?
非常感謝你!
不幸的是,我無法為您提供iOS的詳細信息,但可以幫助您了解傳感器標簽。 如果查看鏈接的該屬性PDF,則會找到標記為“ GATT_CLIENT_CHAR_CFG_UUID”的條目。 它是16位標志,僅使用2個最低有效位。 甚至在其中說“寫“ 01:00”以啟用通知,寫“ 00:00”以禁用通知”。 (這是最不重要的一點,因為它是以小尾數格式編碼的)
因此,您要發送0x01來打開紅外溫度傳感器,但是您尚未打開通知。 然后將其打開將使設備將通知流回客戶端。 加速計不需要打開,所以也許您應該先嘗試一下。
我不知道第二段代碼應該做什么……抱歉。
好吧,好吧,我明白了,這是軟件問題,不是iOS方面的問題。 Sensortag的固件錯誤,因此無法正常工作。
我更改了Sensortag,現在一切正常。
還是要謝謝你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.