2013-07-02 7 views
6

C'è un modo per identificare univocamente un dispositivo BTLE (qualcosa come l'ID dell'hardware)? Ho 2 dispositivi hardware BTLE e 2 dispositivi BTLE soft (utilizzando CBCentralManager). Tutti questi dispositivi inviano lo stesso UUID.Un modo per identificare univocamente un dispositivo BTLE

Desidero identificare il dispositivo BTLE esatto quando tutti i dispositivi si trovano vicino a me. Qualche indizio?

+0

Sarà interessante vedere le risposte a questa. Sto usando un BTLE come 'Sostituzione cavo seriale per un dispositivo. Una volta stabilito che un dispositivo invia il mio UUID in centralManager: (CBCentralManager *) centrale didDiscoverPeripheral: (CBPeripheral *) periferica ... Mi collego quindi ad esso e gli mando un comando di porta seriale virtuale per scoprire il suo id di dispositivo (una variabile abbiamo inviato il microcontrollore di quella macchina). Quindi abbino l'uuid CBPeripheral che iOS ha assegnato al dispositivo con il nostro ID dispositivo. – drinck

+0

Vedere questo: http://stackoverflow.com/questions/12524871/corebluetooth-how-to-get-a-unique-uuid – novis

risposta

2

I dispositivi devono disporre di indirizzi Bluetooth univoci. Se non lo fanno, non saresti in grado di connetterti correttamente senza che interferiscano l'uno con l'altro. Tuttavia, con BTLE è possibile che un dispositivo abbia un indirizzo randomizzato per la privacy (ma che sia conforme a un particolare schema in modo da poter rilevare se si ottiene quel tipo di indirizzo). L'indirizzo è 6 byte e viene solitamente visualizzato in esadecimale (ex A1-B2-C3-D4-E5-F6). I primi 2 byte di solito indicano il produttore.

UPDATE: La mia risposta è valida per l'utilizzo più BLE, ma come la questione è aggiunto si consiglia di guardare this other answer about getting a unique id on ios come un possibile modo per ottenere l'indirizzo bluetooth

+2

Ancora più importante per la domanda posta qui è che sebbene i dispositivi BTLE debbano avere indirizzi (generalmente) univoci, iOS si rifiuta di rivelare queste informazioni ai programmi applicativi, nascondendole invece dietro identificativi temporanei assegnati dal telefono che non hanno alcuna mappatura nota alle proprietà effettive dei dispositivi che rappresentano. –

+0

I primi * 3 byte * di solito indicano il produttore (del dispositivo o del chip) se si tratta di un indirizzo pubblico, ma l'indirizzo può anche essere casuale (statico o privato) – calandoa

Problemi correlati