Gestion Obex

Signaler
Messages postés
12
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
9 mai 2008
-
Messages postés
12
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
9 mai 2008
-
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

Messages postés
4
Date d'inscription
jeudi 16 février 2006
Statut
Membre
Dernière intervention
16 février 2006

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.
Messages postés
12
Date d'inscription
mercredi 15 janvier 2003
Statut
Membre
Dernière intervention
9 mai 2008

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.