Sono nuovo nello sviluppo di iOS e studio su Bluetooth Low Energy (BLE, Bluetooth 4.0)
per IOS.Che cosa significa l'UUID personalizzato per BLE in IOS Sample?
Ho studiato il codice di esempio di questo collegamento BTLE Central Peripheral Transfer.
E c'è un altro campione simile a questo link iOS 7 SDK: Core Bluetooth - Practical Lesson
Le applicazioni su questi due collegamenti parlare send and receive the text data
tra due IOS di base dispositivo BLE
. L'app può essere impostata su central
o Peripheral
e lo central
riceverà i dati di testo inviati dallo Peripheral
.
Definisce lo UUID
come il seguente codice in header file
.
#define TRANSFER_CHARACTERISTIC_UUID @"08590F7E-DB05-467E-8757-72F6FAEB13D4"
E dopo la Central
connettersi al Peripheral
, è scoprire la caratteristica da Peripheral
.
Se il UUID
è uguale a TRANSFER_CHARACTERISTIC_UUID
, allora iscriviti esso utilizzando setNotifyValue:YES
come il seguente codice.
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error
{
// Again, we loop through the array, just in case.
for (CBCharacteristic *characteristic in service.characteristics) {
// And check if it's the right one
if ([characteristic.UUID isEqual:[CBUUID UUIDWithString:TRANSFER_CHARACTERISTIC_UUID]]) {
// If it is, subscribe to it
[peripheral setNotifyValue:YES forCharacteristic:characteristic];
}
}
// Once this is complete, we just need to wait for the data to come in.
}
The question is like the following:
First Question:
non riesco a trovare questo UUID:@"08590F7E-DB05-467E-8757-72F6FAEB13D4"
in Bluetooth Development Portal. È quello creato da uuidgen
in terminal
?
The second Question:
Se io sono Central
, e devo sottoscrivere il characteristic
utilizzando setNotifyValue:YES
come il codice di cui sopra.
Il BLE vi dirà la Central
ci ha nuovi dati inviati da Peripheral
dal seguente codice, è il concetto corretto?
- (void)peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error
Sono nuovo in fase di sviluppo IOS e BLE.
Grazie in anticipo.
Per la prima domanda: UUID lunghi sono UUID personalizzati (mentre quelli standard utilizzano 4hex). Significa che non rispettano nessuno standard, perché non esistono ancora o perché sono particolari/propositivi. – Larme