繁体   English   中英

蓝牙外围设备不应答

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM