Bonjour à tous,
Dans le cadre de mon projet, je dois récupérer les coordonnées d'un récepteur GPS, et les afficher sur une carte.
Pour les récupérer, j'ai fait un programme java ( 1 gérant les flux, et l'autre qui s'occupe des conversions) et j'ai importé le package javax.com dans eclipse.
1) Le problème c'est qu'eclipse me souligne encore
import com.sun.comm.Win32Driver;.
Je me suis inspiré du code sur dévellopez.com:
Voila l'adresse : http://christophej.developpez.com/tu...java/javacomm/
Après plusieurs recherche certains disent qu'ils faut enlever les lignes suivantes dans le programme:
import com.sun.comm.Win32Driver;
//initialisation du driver
Win32Driver w32Driver= new Win32Driver();
w32Driver.initialize();
Mais certains disent qu'ils faut modifier le fichier javax.comm.properties en mettant dedans:
driver=com.sun.comm.win32Driver
J'ai essayer les deux solutions mais Eclipse m'affiche à chaque fois une erreur.
Voici le code:
2) Est ce qu'on pourrait m'éclairer sur ce que je devrais mettre dans la méthode de communication du programme pour le cas du récepteur GPS?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 import javax.comm.*; import com.sun.comm.Win32Driver; import java.io.*; public class UtilisationFlux { private BufferedReader bufRead; //flux de lecture du port private OutputStream outStream; //flux d'écriture du port private CommPortIdentifier portId; //identifiant du port private SerialPort sPort; //le port série /** * Constructeur */ public UtilisationFlux(String port) { //initialisation du driver Win32Driver w32Driver = new Win32Driver(); w32Driver.initialize(); //récupération de l'identifiant du port try { portId = CommPortIdentifier.getPortIdentifier(port); } catch (NoSuchPortException e) { } //ouverture du port try { sPort = (SerialPort) portId.open("UtilisationFlux", 30000); } catch (PortInUseException e) { } //règle les paramètres de la connexion try { sPort.setSerialPortParams( 9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); } catch (UnsupportedCommOperationException e) { } //récupération du flux de lecture et écriture du port try { outStream = sPort.getOutputStream(); bufRead = new BufferedReader( new InputStreamReader(sPort.getInputStream())); } catch (IOException e) { } } /** * Méthode de communication. */ public String communique(char envoie) { String poids = null; try { //demande de poids outStream.write((int) envoie); //lecture du poids poids = bufRead.readLine().trim(); } catch (IOException e) { } return poids; } /** * Méthode de fermeture des flux et port. */ public void close(){ try { bufRead.close(); outStream.close(); } catch (IOException e) { } sPort.close(); } /** * Méthode principale de l'exemple. */ public static void main(String[] args) { //Récupération du port en argument String port = args[0]; //Construction de l'interface à la balance UtilisationFlux utilFlux = new UtilisationFlux(port); //"interface utilisateur" System.out.println("taper q pour quitter, ou ENTER pour le poids"); //construction flux lecture BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in)); //lecture sur le flux entrée. try { String lu = clavier.readLine(); while (!lu.equals("q")) { System.out.println(utilFlux.communique('$')); lu = clavier.readLine(); } } catch (IOException e) { } utilFlux.close(); } }
Est ce que quelqu'un pourrait m'aider??
Merci
Partager