Ubuntu et l'api bluecove : java et bluetooth [Résolu]

khaled001 158 Messages postés mardi 19 août 2008Date d'inscription 8 août 2016 Dernière intervention - 27 nov. 2012 à 10:02 - Dernière réponse :  oumaya
- 26 août 2013 à 15:29
Salut

Voila pour mon projet de fin d'étude je cherche a travaillé avec l'api bluecove (technologie bluetooth en java) et J2ME vous l'avez deviné je cherche a faire un contacte pc portable et téléphone nokia via le bluetooth

alors voila je vous expose d'abord mon materiel:

pc portable hp processeur duel core ,200 giga de disque dure ,2 giga de rame avec os ubuntu 10.10 mit a jour et et j'ai installé le driver bluetooth que ubuntu m'a recommandé bref j'ai suivis ce petit cours américain :

http://myexp101.wordpress.com/2011/1...-ubuntu-linux/

pour installé la bibliotheque bluecove sur ubuntu puis j'ai testé un petit programme java:

http://www.miniware.net/mobile/programs/EchoServer.java

pour voir que le bluetooth est bien activé et qu'il puisse détécté la presence de téléphone portable nokia

j'ai créé un projet de teste sous eclipse et j'ai intégré la bibliotheque bluecove a mon projet bref voila le programme :

import java.io.*;
import javax.bluetooth.*;
import javax.microedition.io.*;
 
public class EchoServer {
    public final UUID uuid = new UUID(                              //the uid of the service, it has to be unique,
"27012f0c68af4fbf8dbe6bbaf7aa432a", false); //it can be generated randomly
    public final String name = "Echo Server";                       //the name of the service
    public final String url  =  "btspp://localhost:" + uuid         //the service url
                                + ";name=" + name 
                                + ";authenticate=false;encrypt=false;";
    LocalDevice local = null;
    StreamConnectionNotifier server = null;
    StreamConnection conn = null;
 
    public EchoServer() {
        try {
            System.out.println("Setting device to be discoverable...");
            local = LocalDevice.getLocalDevice();
            local.setDiscoverable(DiscoveryAgent.GIAC);
            System.out.println("Start advertising service...");
            server = (StreamConnectionNotifier)Connector.open(url);
            System.out.println("Waiting for incoming connection...");
            conn = server.acceptAndOpen();
            System.out.println("Client Connected...");
            DataInputStream din   = new DataInputStream(conn.openInputStream());
            while(true){
                String cmd = "";
                char c;
                while (((c = din.readChar()) > 0) && (c!='\n') ){
                    cmd = cmd + c;
                }
                System.out.println("Received " + cmd);
            }
 
        } catch (Exception  e) {System.out.println("Exception Occured: " + e.toString());}
    }
 
    public static void main (String args[]){
        EchoServer echoserver = new EchoServer(); 
    }
 
}


voila le résultat de l'éxécution sous eclipse :

Setting device to be discoverable...
BlueCove version 2.1.1-SNAPSHOT on bluez
Exception Occured: javax.bluetooth.BluetoothStateException: Bluetooth Device is not ready. [1] Operation not permitted
BlueCove stack shutdown completed


Avez vous une idée pour la solution du problème ?

Cordialement
Afficher la suite 

Votre réponse

10 réponses

cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 27 nov. 2012 à 11:24
+3
Utile
Salut,

Tu n'as pas les droits pour effectuer les opérations, je pense que le lancement de java avec un sudo devrait régler le problème.
Cette réponse vous a-t-elle aidé ?  
Bonjour,
comment puisse-je lancer java avec un sudo ?
Commenter la réponse de cs_Julien39
khaled001 158 Messages postés mardi 19 août 2008Date d'inscription 8 août 2016 Dernière intervention - 27 nov. 2012 à 11:59
0
Utile
salut julien

merci de m'avoir repondu

mais stp comment mettre la commande sur eclipse ?

ou comment rendre le privilège des droit ouvert a moi en tant qu'utilisateur ?

cordialement
Commenter la réponse de khaled001
khaled001 158 Messages postés mardi 19 août 2008Date d'inscription 8 août 2016 Dernière intervention - 27 nov. 2012 à 12:11
0
Utile
j'ai réussi a lancer le programme en mode console (dans un terminale ) j'ai juste créé un dossier nommé blueJava puis mis tout les fichiers java du programme de teste plus la bibliotheque bluecove mais j'ai tjrs le méme probleme :

Setting device to be discoverable...
BlueCove version 2.1.1-SNAPSHOT on bluez
Exception Occured: javax.bluetooth.BluetoothStateException: Bluetooth Device is not ready. [1] Operation not permitted
BlueCove stack shutdown completed


J'ai fais cette commande : java EchoServer --> tjrs méme probleme

et ensuite ça : sudo java EchoServer --> ça m'a affiché ça :


sudo: java: command not found
Commenter la réponse de khaled001
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 27 nov. 2012 à 13:55
0
Utile
Normalement, sous ubuntu, la commande sudo existe,=. Essayes de taper man sudo.

Sinon, lances là en tant qu'admin, mais il me semble bien que sous ubuntu, tu n'as pas de compte admin à proprement parler.
Commenter la réponse de cs_Julien39
khaled001 158 Messages postés mardi 19 août 2008Date d'inscription 8 août 2016 Dernière intervention - 27 nov. 2012 à 16:27
0
Utile
c bon j'ai réussi sous shell (terminal linux) en tapant "sudo su" puis l'execution du programme la liaison bluetooth a marché avec mon téléphone portable nokia
Commenter la réponse de khaled001
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 27 nov. 2012 à 19:25
0
Utile
Si tu veux le faire sous éclipse, il faut peut être démarrer éclipse avec les droits du super user. En le lancant via le terminal administrateur
Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 27 nov. 2012 à 19:26
0
Utile
Désolé, je confond avec debian, je voulais dire en le lancant avec un sudo avant.
Commenter la réponse de cs_Julien39
khaled001 158 Messages postés mardi 19 août 2008Date d'inscription 8 août 2016 Dernière intervention - 27 nov. 2012 à 19:27
0
Utile
merci pour tes conseils julien je vais essayer et je te rends la réponse
Commenter la réponse de khaled001
khaled001 158 Messages postés mardi 19 août 2008Date d'inscription 8 août 2016 Dernière intervention - 1 déc. 2012 à 00:20
0
Utile
ça a marché julien merci beaucoup pour tes conseils :)
Commenter la réponse de khaled001

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.