IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Java et bluetooth


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 19
    Points
    19
    Par défaut Java et bluetooth
    Bonjour,

    Dans le cadre d'un projet tuteuré (jeu de bataille navale en réseau point à point) je dois effectuer une connexion bluetooth entre un téléphone android et un ordinateur.
    J'ai déjà programmé en java pour android l'application permettant de rechercher des périphériques et s'y connecter en utilisant des BluetoothServerSocket et BluetoothSocket. La gestion du bluetooth est assez simple.
    Par contre je ne sais pas du tout comment m'y prendre sur ordinateur. (Peut-être que java n'est pas le bon langage?) J'ai une clé bluetooth "EDR class1". Système d'exploitation : windows 7.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 60
    Points : 81
    Points
    81
    Par défaut
    J'avais essayé d'accéder au Bluetooth avec Java vers 2006 (avec J2ME et J2SE), ce n'était pas trivial à l'époque pour J2SE (ça s'est peut-être amélioré depuis).

    L'émetteur Bluetooth sur un ordinateur est considéré comme un port série, et la machine virtuelle Java SE (standard edition, sur PC) ne gérait pas les ports série. il n'y avait donc pas d'interface "native" pour accéder à Bluetooth comme on accède au réseau ou au système de fichier, par exemple, dans Java SE (du moins pas à ma connaissance). Selon wikipedia, il existe maintenant des implémentations de l'api bluetooth pour J2SE (http://en.wikipedia.org/wiki/Java_APIs_for_Bluetooth).

    A l'époque, on avait utilisé une librairie native (utilisant JNI) qui encapsulait l'accès à la connexion bluetooth dans une classe Java.

    Voici ce que je te conseille de faire :
    (1) vérifier si ta machine Java a une implémentation de la JSR 82 (javax.bluetooth, voir ici (en) pour une explication de son fonctionnement)
    (2) si ça ne marche pas, chercher une librairie native (qui implémente la JSR 82 ou autre) pour accéder au bluetooth sous Windows et l'ajouter au classpath de ton projet. Ce ne sera probablement pas portable, mais ça devrait suffire pour un client Windows.
    Tu peux commencer par là:

    http://www3.control.lth.se/user/joha...ald/index.html
    http://www.javabluetooth.org/

    javabluetooth.org dit implémenter la JSR 82, sur laquelle tu devrais pouvoir trouver de la documentation en français. Je ne sais pas ce que Google a implémenté dans Android (il paraît que leur machine Java ressemble à une J2SE, mais comme ce n'est pas officiellement du Java, ils ont peut être accomodé certaines APIs).

    Si quelqu'un connaît d'autres implémentations de Bluetooth pour Java,si possible libres et gratuites...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Points : 19
    Points
    19
    Par défaut
    Merci Rom_1 pour tes explications et tes liens.
    Lorsque je tape dans netbeans "import javax.bluetooth.*;", l'éditeur me dit que le package n'existe pas. Cela veut-il dire que ma machine n'a pas d'implémentation de la JSR 82? Je dois donc rajouter une librairie comme "Harald"? (http://www3.control.lth.se/user/joha...ald/index.html)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 60
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par Jean-Pascal Voir le message
    Cela veut-il dire que ma machine n'a pas d'implémentation de la JSR 82?
    Plus précisément, il n'y a pas de classe javaxbluetooth.* dans ton classpath. Il faudrait probablement ajouter un jar (comme celui de Harald, ou un autre) dans le classpath du projet.

    Je crois que Harald n'utilise pas la JSR82, mais sa propre librairie. javabluetooth au contraire utilise sa propre librairie.

    Il se peut que ces librairies utilisent elle-même d'autres librairies, comme prtobablement java comm, que tu devras aussi trouver et ajouter (et c'est reparti pour un tour...).

    Maven est fait pour gérer ce genre de dépendances. En cherchant dans le dépôt Maven, j'ai trouvé ça, qui a l'air pas mal :
    http://bluecove.sourceforge.net/
    (licence Apache, JSR 82, interfaçage natif avec les piles bluetooth les plus courantes). A noter que selon le pilote (et la puce), la pile bluetooth installée sous Windows n'est pas forcément celle de Microsoft (si c'est du broadcomm, c'est la pile WIDCOMM il me semble).

    Bon courage !

Discussions similaires

  1. Aide - Projet : Environnemment tactile JAVA à transmission Bluetooth
    Par Crillick dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 20/10/2008, 15h08
  2. [wm6] Incompatibilité avec JAVA (soft bluetooth)
    Par Uchronie dans le forum Développement Mobile en Java
    Réponses: 4
    Dernier message: 31/01/2008, 19h47
  3. Connectivité entre programmes Java via bluetooth
    Par lemondeduquad dans le forum Java ME
    Réponses: 6
    Dernier message: 31/01/2008, 17h07
  4. installer jeux java via bluetooth sur samsung
    Par bil_home dans le forum Java ME
    Réponses: 7
    Dernier message: 26/02/2007, 14h55
  5. Java et Bluetooth
    Par bib1 dans le forum Langage
    Réponses: 5
    Dernier message: 02/03/2006, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo