Oggi pomeriggio ho ricevuto una mail che potrebbe rivelarsi davvero interessante. Uso il condizionale perchè vorrei che la notizia passasse come un rumor, anche se per questo nostro utente è molto di più. Ve la propongo cosi come mi è arrivata:

Ciao Fabiano, sono MeDevil, uno dei developer del progetto iphonebluetooth (http://iphonebluetooth.tk/).
Dato che sono un lettore accanito di ispazio.net ho ritenuto che tu debba essere il primo a sapere che oggi, alle 13:00 sono riuscito a far rilevare al chipset bluetooth altri dispositivi mediante l’utilizzo di un programma in C da me stesso compilato. Sono riuscito ad accedere al livello HCI del chipset, su cui è possibile implementare tutti i profili del bluetooth oggi a disposizione.

Ho chiesto maggiori spiegazioni, e mi sono stati inviati questi screenshot:

Purtroppo non c’è una gui (dato che si tratta di dialogo col chipset)… La foto più interessante è la terza, ovvero quella con la scritta “Exiting”. In quella cosa puoi notare:
.
a) un indice di un array che non viene incrementato (per cui c’è sempre lo stesso indirizzo per tutti i dispositivi bluetooth trovati)
.
b) la scritta “Cod: 302104″ e “Cod: 5a0204″, che identifica la “Class of device” (ovvero il tipo di dispositivo e alcune delle funzioni supportate).
.
Per il punto (b), i dispositivi elencati (rispettivamente un computer con dongle usb bluetooth e un sony ericsson K550i) non vengono rilevati dal menu bluetooth dell’iphone proprio per via del loro class of device. Inoltre ti allego una foto dello stesso sony ericsson che rileva l’iphone:
Dimenticavo di dirti che x ora hai l’esclusiva assoluta su questa notizia… quindi ricordati di inserire nel titolo “esclusivo ispazio” e di watermarkare le foto
Praticamente: L’applicativo scritto da Domenico ed eseguito da terminale dialoga direttamente con il chipset bluetooth dell’iphone al livello più basso, conosciuto come HCI e documentato nelle specifiche del Bluetooth. L’HCI si occupa dell’inizializzazione (generica) del chipset, della visibilità agli altri cellulari, della ricerca di dispositivi e dello scambio dati tra due o più dispositivi. E’ proprio su questo livello che vengono poi creati i vari profili come:

  • GOEP (OBEX): per lo scambio dei dati
  • AD2P: per lo streaming audio
  • HFP: per gli auricolari bluetooth, etc
Domenico dice che aveva già scoperto diversi metodi per dialogare con il chipset bluetooth a livello hci, ma nessuno di questi aveva prodotto fino ad ora il risultato sperato, ovvero rendere visibile l’iphone agli altri dispositivi e ricercare gli altri dispositivi dall’iphone. Oggi invece è riuscito ad inizializzare correttamente il chipset e con un enorme sorpresa, ha notato che l’iphone rilevava gli altri dispositivi, e che gli altri dispositivi (in questo caso un sony ericsson k550i e un hackintosh con dongle bluetooth usb) rilevavano l’iphone, ovviamente. Ecco le sue ultime parole:
Adesso non mi resta che scrivere una libreria per gestire l’intero hci e dopo questa concentrarmi sul protocollo obex..
Le premesse sono gettate, non ci resta che attendere ulteriori sviluppi e probabilmente festeggiare un’altro successo ottenuto da un italiano =)
.
Grazie MeDevil