Ich versuche, iOS-App zu machen, die mit einem Auto mit dem Telefon über OBDII (BLE) verbinden wird.Wie nehme ich ein drittes Byte von NSData (OBDII)
Ich kann eine Verbindung mit dem Modul erhalten und nach RPMs fragen, und die Antworten werden in Teilen zurückgegeben.
Erste - 010C
(Data verwendete Umdrehungen pro Minute zu bekommen)
dann - 41 0C 0A 98 \n \n
Umdrehungen pro Minute zu lesen Ich brauche nur den dritten und vierten Byte (0A
und 98
). Wie kann ich es tun?
Teil Code aus:
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
{
if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:@"BEF8D6C9-9C21-4C9E-B632-BD58C1009F9F"]])
{
//NSLog(@"char %@", characteristic);
NSData *sensorData = [characteristic value];
uint8_t *bodyData = (uint16_t *)[sensorData bytes];
NSLog(@"data bytes %s", bodyData);
}
}
Wenn ich versuche, Druck dritte mit NSLog (@ "neuen Bytes% d", dritte); Ergebnis ist "neue Bytes 0" – kajz3reczka