Gestion Obex

lmame Messages postés 12 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 9 mai 2008 - 1 juin 2004 à 00:57
lmame Messages postés 12 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 9 mai 2008 - 16 févr. 2006 à 15:12
Bonjour :)
J'essaie d'utiliser le "protocole" Obex qui permets de récupérer / envoyer des données (cartes de visites entre autres) d'un PC à un GSM...
Le GSM et le PC sont "liés" via Infrarouge, Bluetooth ou câble, en tous cas pour le PC c'est tout simplement un port COM...
Pour passer le GSM en mode "Obex" il faut lui envoyer en écrivant dans son port série:
"AT*EOBEX" (ou équivalent) et le GSM passe en mode obex.
Là pas de soucis...
Par contre ensuite il faut accéder au GSM en ouvrant une socket sur Obex... Et là je ne sais pas faire...
J'ai un peu tout essayé avec Winsock (AF_INET etc...) et je n'arrive pas à grand chose... Quelqu'un aurait'il déjà bossé dessus?

Ciao

Laurent ;)

2 réponses

UnforgivenCitrus Messages postés 4 Date d'inscription jeudi 16 février 2006 Statut Membre Dernière intervention 16 février 2006
16 févr. 2006 à 14:38
Bonjour Laurent ,
Je cherche depuis longtemps un code qui utilise le protocole OBEX pour communiquer avec un GSM via le bluetooth. Peux tu donc me donner le code source de la communication entre le PC et le GSM que vous avez fait, et me guider en me donnant les bon sites de documentation ou pourais-je trouver des exemples.
Voici un lien qui peut être peut vous aider:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/bluetooth/bluetooth/bluetooth_programming_with_windows_sockets.asp

Merci et bonne chance.
Aymen.
0
lmame Messages postés 12 Date d'inscription mercredi 15 janvier 2003 Statut Membre Dernière intervention 9 mai 2008
16 févr. 2006 à 15:12
Salut :)
En fait entre temps j'ai enfin compris comment ça marchait.
Il y a deux choses différentes, soit converser en "vrai" OBEX, soit utiliser un moyen détourné souvent dispo avec les GSM Sony Ericsson, AT*EOBEX.

En fait mon erreur a été ensuite d'essayer de me connecter via un socket alors qu'en fait une fois reçu le message 'OK' du GSM après le AT*EOBEX il suffit d'envoyer directement dans le port COM les chaînes de commande.
En fait les commandes s'envoient directement en caractères ASCII (à traduire ensuite en hexa), genre on envoie pour une demande de connexion:
80000710000400
et là on reçoit une réponse elle aussi codée en ascii (ici le code hexa):
A0
qui veut dire "OK"

80 veut en fait dire connexion demandée
00 07 veut dire 7 octets (longueur de cette trame ici)
10 version OBEX (1.0)
00 un flag
04 00 veut dire que les trames font 1024 octets
Bref tout con mais il fallait le réaliser.

En revanche, pour accéder directement à un GSM en OBEX, là c'est plus hard car il faut passer apparemment par la couche OBEX du driver BT et d'un driver à l'autre (fabriquant, genre TDK etc...) ça change... Et comme les SDK sont payants, c'est assez rébarbatifs.
0