Core Bluetooth
Il framework core bluetooth consente alle applicazioni iOS e Mac OSX di comunicare con dispositivi che basati sulla tecnologia Bluetooth LE ovvero una tecnologia Bluetooth a basso consumo. Questo fantastico framework definisce un insieme di protocolli facili da usare per comunicare con i dispositivi Bluetooth LE.
Le due parti principali di una comunicazione Bluetooth LE sono la Central e La Peripheral
La central la possiamo immaginare come un client mentre la Peripheral come un server cioè il dispositivo che fornisce i dati al client.
La centrale: definisce in genere la logica di una comunicazione CB. E ‘in grado di eseguire la scansione, collegare e scollegare le periferiche. Inoltre, consuma le informazioni disponibili in ogni periferica.
Periferica: un dispositivo che contiene importanti informazioni da condividere.
Ciascuno dei due componenti è rappresentato da una classe all’interno del framework core bluetooth.La centrale è rappresentato dalla classe CBCentralManager mentre la periferica è rappresentato dalla classe CBPeripheralManager .
Oltre alla centrale e alla periferica, dobbiamo considerare i dati che si scambiano. Questi dati sono strutturati in servizi. Ogni servizio è composto da diverse caratteristiche.Caratteristiche sono definite in tipi di attributi che contengono un singolo valore logico. Se andate a https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx , è possibile trovare l’elenco dei servizi standardizzati e le caratteristiche.
Nella centrale, i servizi sono rappresentati dalla classe CBService, Ciascuno dei servizi è quindi composto da caratteristiche rappresentate dalla classe CBCharacteristic,Analogamente, i servizi e le caratteristiche sulla periferica sono rappresentati dalla classeCBMutableService e dalla classe CBMutableCharacteristic.
Il CBUUID e CBATTRequest sono due classi “helper” che Apple ha aggiunto alla struttura per manipolare i dati i maniera più semplice. Vedremo più avanti come usarli.
Costruire una periferica
Costruiamo un esempio completo. È necessario disporre di due dispositivi iOS. Vi mostrerò come collegare due dispositivi iOS tramite Bluetooth e scambiare dati. Da notare che la tecnologia Bluetooth LT è stata introdotta dall’iPhone 4s in poi, i dispositivi più datati non funzioneranno. Cominciamo a costruire la nostra periferica:
• Per prima cosa creiamo un nuovo progetto in Xcode del tipo single View application e chiamiamolo Blueserver.
• Importiamo il framework Core Bluetooth
Aprire il ViewController.h e aggiungere le seguenti righe di codice:
[code lang=”obj-c”]#import <UIKit/UIKit.h>
#import <CoreBluetooth/CoreBluetooth.h>
@interface ViewController : UIViewController<CBPeripheralManagerDelegate>
@property (nonatomic, strong) CBPeripheralManager *manager;
@property (nonatomic, strong)CBMutableCharacteristic *customCharacteristic;
@property(nonatomic,strong)CBMutableService *customService;
@end
[/code]
Con CBPeripheralManagerDelegate Rendiamo il controller………