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:


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();
	}
}
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?


Est ce que quelqu'un pourrait m'aider??
Merci