Socket avec BlueTooth

Bonjour tout le monde,
je travaille actuellement sur un petit projet qui consiste à se connecter à un Mobile(T630) et de lire les données qui se trouvent dedans.j’ai téléchargé sur le net le projt(OBEXFTTp) et quand je lis le code je constate qu’il faut créer un Socket avec le BlueTooth :

CR = WSAStartup(2, WSAData)
If (CR <> 0) Then
Exit Function
End If
’-- Socket
m_SocketReceive = Socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM)

1)-je n’obtiens rien comme handle du Socket (m_SocketReceive = -1) , pourtant j’ai installé le programme “BELINK” livré avec le bluetooth que j’ai acheté.

2)-Je ne trouve pas de fichier *.h concernant le BlueTooth sur ma machine.

Faut-il installé un SDK propre à BlueTooth? …

Merci d’avance.

mais mais c’est dingue ca :stuck_out_tongue:

Je cite un passage de Comment poser les questions de maniere intelligente , que je te recommande de lire en entier:

[quote]Stupide:

    Je n’arrive pas à compiler le code du projet foo. Pourquoi ne marche-t-il pas ?

Il est persuadé que la faute vient de quelqu’un d’autre. C’est très arrogant de sa part.

Intelligent:

    Le code du projet foo ne compile pas sous Nulix version 6.2. J’ai lu la FAQ, mais il n’y a rien à propos des problèmes avec Nulix. Voici une transcription de ma tentative de compilation ; y a-t-il quelque chose que j’aurais dû faire ?

Il a indiqué son environnement, a lu la FAQ, montre l’erreur, et ne prétend pas que son problème est dû à une erreur de quelqu’un d’autre. Voila quelqu’un qui mérite de l’attention.[/quote]
Je te trouve donc tres arrogant, majid, il faudrait qu’on devine tout seul le langage utilise et ton systeme d’exploitation? Allons, allons. Je ne suis pas devin.

PS: en plus le code ressemble a du visual basic et tu parles de .h apres. My my. Syntax error. :stuck_out_tongue:

LoneWolf
Ooh boule de cristal, dis moi quelle est la solution… :stuck_out_tongue:

Je n’aurais pas été aussi agressif que Lonewolf, mais bon voilà, il faut toujours donner toutes les indications nécessaires à la résolution d’un problème.

Sinon, j’aime bien tes liens Lonewolf, intéressant.

Ouep t’y vas fort LoneWolf, il explique ce qu’il fait et pose la question"Faut-il installé un SDK propre à BlueTooth?"… C’est peut être un peu du RTFM mais ça reste une question honnête je trouve.

Ceci étant dit, je n’ai aucune connaissance niveau bluetooth, donc je ne saurai pas aider sur ce coup là.

[quote name=‹ Drealmer › date=’ 16 Jun 2005, 13:08’]Ouep t’y vas fort LoneWolf, il explique ce qu’il fait et pose la question"Faut-il installé un SDK propre à BlueTooth?"… C’est peut être un peu du RTFM mais ça reste une question honnête je trouve.
[right][post=« 368858 »]<{POST_SNAPBACK}>[/post][/right][/quote]

Oui mais si on ne sait pas sur quel plateforme, language, système, … il développe, ce genre de question ne trouvera jamais de réponse. Pour moi ça reste une question stupide :stuck_out_tongue:

Anyway, on peut lui repondre que si il veut utiliser une api specifique, il faut a priori le SDK de cette API. (Il me semble que le bluetooth n’est geré nativement sur aucun des systemes d’expoitations grand public actuels donc il doit a priori avoir besoin de passer par un appli tierce)(A part sous Mac OS X)

Ensuite, si c’est du compilé faut regarder du coté des warnings à la compilation ( -Wall sur gcc)

Et surtout il ne faut pas confondre les dependances necessaires pour executer le projet compilé et les dépendances necessaires pour compiler le projet.

edit : retablissement de la verité

voir ici

Maintenant, on est gentil avec les gens, on essaye de repondre aux questions, ou en pose d’autre pour avoir une reponse.

non mais alors…
c’est dingue ca…

Bon je vois que plusieurs personnes ne sont pas contentes de la maniére dont j’ai posé ma question , je la reformule:
j’ai acheté un BlueTooth (BELKIN) pour pouvoir communiquer entre mon Télephone (SonyEricsson T630) et mon ordinateur.
et j’essaie de créer justement un programme en (Visual Basic et Visual C++ sur Windows XP) pour pouvoir communiquer et recupérer les données sur mon télephone.
Donc j’essaie de créer un socket (Comme pour la lecture des mails) mais ça ne marche pas :

[code]CR = WSAStartup(2, WSAData)
If (CR <> 0) Then
    Exit Function
End If
’-- Socket
m_SocketReceive = Socket(AF_BTH, SOCK_STREAM, BTPROTO_RFCOMM)

rmtserver.sin_port = 0
rmtserver.sin_family = 0
rmtserver.sin_addr.S_addr = 0
rmtserver.sin_family = AF_BTH

'-- Connection
CR = connect(m_SocketReceive, rmtserver, Len(rmtserver)) ’  = -1[/code]
pour pouvoir me connecter avec le bluetooth j’ai besoin de récuperer quelques infos comme : (Adresse et ClasseGuid du BlueTooth).
sur le site Microsoft, ils utilisent des API commen : “BluetoothGetRadioInfo” , “BluetoothFindNextRadio” et ils disent que ces api sont disponibles dans le Service pack 1, or j’ai essayé le service pack 1 et 2 mais je ne trouve pas ces API, alors est ce qu’il y’a un SDK spécial BlueTooth que je dois installé?

Demandé comme ça, c’est tout de suite plus clair :stuck_out_tongue:

Je pense qu’il te faut le platform SDK (2003 et SP2) de l’OS, et inclure BluetoothAPIs.h et linker a Irprops.lib, comme indique dans la doc MSDN :stuck_out_tongue:

http://msdn.microsoft.com/library/default…_start_page.asp

Jette aussi un oeil la dessus:

http://www.lenholgate.com/archives/000102.html

PS: et par rapport au message juste dessous, sous windows aussi…

Sur MacOS c’est geré directement avec la doc et tout…

Un tout grand meric pour tout le monde et spécialement (GloP).

si ça donne quelque chose de bien ton soft, je voudrais bien tester, car j’ai le meme portable.
puis un jour lointain ( oui c’est facile de faire gonfler une todo liste de fainéant en vacances :stuck_out_tongue: ) j’essayerai un portage sous linux.

[fser]

au fait pour le moment j’arrive à lire le repértoire des n° des télephones + les messages + des infos sur le GSM…
mais je veux pouvoir lire les fichiers qui contienent les images, les sonneries, les thémes…
et dés que c’est fait je te le passe, promis.

[quote name=‘avavrin’ date=’ 20 Jun 2005, 10:48’]Sur MacOS c’est geré directement avec la doc et tout…
[right][post=“370031”]<{POST_SNAPBACK}>[/post][/right][/quote]
j’ai édité, merci de m’avoir appris ça. Maintenant j’ai encore plus envie d’acheter un mac. Si seulement mon porte monnaie pouvait m’aider dans cette quete …

  • conçernant mon petit programme bluetooth en VB, j’ai mis à jour mon ordinateur et actuellement j’ai :

    • Windows XP Edition familiale
    • Service Pack 2
    • Microsoft Platform SDK
    • BlueTooth Driver : “BELKIN”
  • mais j’ai toujours du mal à me connecter , même si j’utilise 2 maniéres différents pour ça :

    1-) 1ére façon :

[code] CR = WSAStartup(&H202, WSAData)

   If (CR <> 0) Then
       MsgBox “Mauvaise version de Winsock.dll”
       Exit Function
   End If

MySocket= Socket(AF_BTH, SOCK_STREAM, BTPROTO_RFCOMM) 

   If (MySocket < 0) Then
       MsgBox "Erreur lors de la creation du socket = " & WSAGetLastError()
       Exit Function
   End If

BindReturn = bind(MySocket, rmtserver, Len(rmtserver))' Valeur de retour = -1 et quand j'utilise 
l'API "WSAGetLastError" pour une déscription de l'erreur j'obtiens : erreur 10050[/code]


2-) 2éme façon :
----------------

[code] CR = WSAStartup(&H202, WSAData)

   If (CR <> 0) Then
       MsgBox “Mauvaise version de Winsock.dll”
       Exit Function
   End If

MySocket= Socket(AF_BTH, SOCK_STREAM, BTPROTO_RFCOMM) 

   If (MySocket < 0) Then
       MsgBox "Erreur lors de la creation du socket = " & WSAGetLastError()
       Exit Function
   End If

   lngRetValue = getsockopt(MySocket, SOL_SOCKET, SO_PROTOCOL_INFO, udtProtocolInfo, lngBufferSize)

If lngRetValue = 0 Then

           Dim q As WSAQUERYSET
           Dim result As Long
           Dim dwControlFlags As Long
           Dim hLookup As Long
           
           q.dwSize = Len(q)
           q.dwNameSpace = NS_BTH ’ 16
           dwControlFlags = LUP_RETURN_NAME Or LUP_CONTAINERS Or LUP_RETURN_ADDR Or _
                            LUP_FLUSHCACHE Or LUP_RETURN_TYPE Or LUP_RETURN_BLOB Or _
                            LUP_RES_SERVICE
           
           result = WSALookupServiceBegin(q, dwControlFlags, hLookup) ’ valeur de retour -1 donc erreur
 End If[/code]

  • Au bureau, j’ai télechargé un programme compilé en C# ( http://tulp2g.sourceforge.net/ ) et qui utilise les 2 connections avec mon mobile qui m’interessent :

    • Connection via le Port(Com6 dans mon cas)
    • Connection via les sockets (Protocole OBEX) pour les transferts des fichiers.

    quand j’utilise ce programme, la premiére connection (Com6) se déroule sans probléme.
    tandis que pour la deuxiéme connection, il y’a un probléme car il ne detécte pas de BlueTooth, il affiche
    ce message d’erreur : “ERROR: No radio and device selected to connect to.” et il n’affiche aucun device
    connecté pour le sélectionné.Donc il ne détecte pas mon BlueTooth qui est connecté (marque “BELKIN”).

Questions :

1-) Pourquoi je n'arrive pas à me connecter convenablement à mon socket?

2-) Pourquoi le programme compilé ("TULP2G") ne troupe de BlueTooth sur mon PC alors que dans la doc du 
    programme c'est dit que ça été testé avec d'autre marque de BlueTooth et que ça marche?

Bonne nouvelle :

voilà, j’ai finalement trouvé ce qu’il clochait : c’était le driver de mon BlueTooh (BELKIN), alors ce que j’ai fait :
Post de travail ----> clique droit de la souris
Propriétés -------> Matériels -----------> Géstionnaire de périphériques
et là j’ai été sur le driver de mon BlueTooth (ex : BELKIN Device Driver) et j’ai demandé à Windows de le mettre à jour en le remplaçant par un driver standard Windows.

aprés ça tout a fonctionné.(TULP2G), maintenant je peux developper mon application en VB6 et je vous donnerai le lien pour pouvoir la consulter.
l’inconvénient et que le programme fournit avec mon BlueTooth qui me permettait justement d’aller consulter (ajouter et supprimer) mes fichiers sur mon mobile, ne
fonctionne plus.

Tsss ils ont fait un driver custom pas compatible avec l’API et qui a ses propres hooks tssss. C’est mal.