Ios 可以读取多个特征

Ios 可以读取多个特征,ios,swift,uuid,bluetooth-lowenergy,Ios,Swift,Uuid,Bluetooth Lowenergy,我正在尝试设计一个可以读取多种温度的应用程序。一个特征UUID只能处理1个值,这是真的吗?如果是,我如何读取多个值?(例如,温度1、温度2、温度3…)我是否需要自己声明多个特征UUID?但是如果我只在我的应用程序中声明这些,那么外围设备如何知道UUID对应于什么值呢?大多数示例只读取一个值(温度、心率等)您可以从同一特征中获得不同的值。为此,您可能需要向写入特性写入不同的值。例如,假设您的书写特征为A,而您的阅读特征为B 您可以像这样将值写入a [self.discoveredPeriphera

我正在尝试设计一个可以读取多种温度的应用程序。一个特征UUID只能处理1个值,这是真的吗?如果是,我如何读取多个值?(例如,温度1、温度2、温度3…)我是否需要自己声明多个特征UUID?但是如果我只在我的应用程序中声明这些,那么外围设备如何知道UUID对应于什么值呢?大多数示例只读取一个值(温度、心率等)

您可以从同一特征中获得不同的值。为此,您可能需要向写入特性写入不同的值。例如,假设您的书写特征为A,而您的阅读特征为B

您可以像这样将值写入a

[self.discoveredPeripheral writeValue:data
                    forCharacteristic:characteristic
                                 type:CBCharacteristicWriteWithResponse];
其中数据根据您希望提出的请求而变化

对于您的读取特征B,应该在didiscovercharacteristicsforservice委托回调中将指示属性设置为YES,如下所示

if (c.properties & CBCharacteristicPropertyIndicate) {
    [peripheral setNotifyValue:YES forCharacteristic:c];
}
现在,每当您向a写入一个值时,您将在委托方法didUpdateValueForCharacteristic上得到一个回调。您必须正确处理响应

当然,要使所有这些都起作用,您的ble设备应该进行相应的编程


请注意,代码是用Objective-C编写的,“我是苹果的新手”,“公司里没有人知道iOS”,“我只是个实习生”。。。没什么私事,但我们不在乎。你在问什么?对不起,这是经过编辑的。你知道答案吗?我不知道你在问什么。那就别在这里浪费时间了……谢谢。这个问题是用与你所说的相同的想法解决的。如果它有帮助或者是你问题的解决方案,请将其标记为已接受。如果其他人将来遇到这样的问题,这将对其他人有所帮助。