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

Services Web Java Discussion :

Faire un Client <-> Serveur <-> Liaison RS232<-> Carte de commande


Sujet :

Services Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut Faire un Client <-> Serveur <-> Liaison RS232<-> Carte de commande
    Bonjour!

    Je suis actuellement en stage et il y a une partie informatique dans laquelle je suis en difficultés.

    Le projet est le suivant:

    J'ai un Client qui doit communiquer avec un serveur. Ce même serveur doit communiquer avec une carte de commande qui elle est reliée par le port série (RS232) de l'ordinateur. Ainsi le client impose certains paramètres au serveur qui lui les renvoie à la carte de commande et qui, à son tour, agit sur un système hardware. De même le client peut demander l'acquisition de mesures issues de la carte de commande.
    Le tout doit se faire sous Fedora core 6 et en java.
    Je ne sais pas trop comment m'y prendre et comment commencer? Pourriez vous m'aider ? On m'a déjà dit qu'il fallait que je commence par le programme java qui gère la communication par le port RS232 avec la carte de commande.
    PS : J'ai effectué certaines recherches en tapant RS232 et java, mais cela reste "vague"...Comme ce lien :
    http://www.developpez.net/forums/sho...ght=java+RS232

    Merci d'avance à vous tous!

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    J'ai déjà fait quelque chose de similaire : un client quelconque doit utiliser un périphérique (afficheur, tiroir caisse, imprimante ticket) branché sur une machine distante. La communication entre PC se faisait en RMI. Pour la communication avec les ports série, l'API javacomm de SUN fonctionne à merveille.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    J'ai déjà fait quelque chose de similaire : un client quelconque doit utiliser un périphérique (afficheur, tiroir caisse, imprimante ticket) branché sur une machine distante. La communication entre PC se faisait en RMI. Pour la communication avec les ports série, l'API javacomm de SUN fonctionne à merveille.
    Salut!
    Justement, je commence par la liaison série.


    et j'ai quelques soucis. Je dois pouvoir envoyer et recevoir des données. Donc dans un premier temps, je me suis dit, je vais reboucler la patte TX sur la RX de mon port série. Ensuite, avec un programme java, j'envoie une chaîne de caractères et je vérifie si je récupère bien ce que j'ai envoyé. Comment je pourrais faire? Certains m'ont parlé d'hyperterminal???
    Je te serais reconnaissant si tu pouvais m'éclaircir les idées... Le code que j'ai utilisé est le suivant (compilé sous eclipse):

    package portserie;
    import javax.comm.*;
    import java.io.*;
    import java.util.*;

    public class test2{


    public static void main(String[] args)
    {

    String com = "COM1";

    CommPortIdentifier portId;
    BufferedReader in= null;
    PrintWriter out;
    SerialPort serialPort;

    System.out.println("liste des ports série disponibles:" );
    listePortsDispo();


    try
    {
    // init serial port
    portId=CommPortIdentifier.getPortIdentifier(com);
    serialPort=(SerialPort)portId.open("Application1",2000);


    // on sélectionne tous les paramètres de la connexion série:
    serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,
    SerialPort.STOPBITS_1,
    SerialPort.PARITY_NONE);
    System.out.println("Ouverture du port "+com);

    // initialisation des streams
    in=new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
    out=new PrintWriter(serialPort.getOutputStream());

    // write
    out.write("test OK");

    // lecture
    String chaineCarac = new String();
    //lecture du buffer et affichage
    chaineCarac = (String) in.readLine();
    System.out.println(chaineCarac);

    //Affichage du contenu du buffer in
    System.out.println(""+in);
    in.close();
    out.close();
    }
    catch(Exception e){
    System.out.println("Exception :"+e.toString());
    }

    }

    public static void listePortsDispo()
    {
    CommPortIdentifier portId;
    System.err.println("recherche..." );
    Enumeration portList=CommPortIdentifier.getPortIdentifiers();
    if (portList==null)
    {
    System.err.println("Aucun port de communication détecté" );
    return;
    }
    while (portList.hasMoreElements())
    {
    portId=(CommPortIdentifier)portList.nextElement();
    System.out.println("* "+portId.getName());
    } //fin while
    } //fin de la methode listePortsDispo()

    }

    ---------------------------

    Merci encore!

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Tu veux dire que tu as mis un fil de cuivre reliant RX à TX ? ouhlala, non, ce n'est pas aussi simple. Des fois ça marche, mais des fois non selon les cartes. Et fait attention à ne pas te tromper de pin : tu pourrais cramer le port (ça sentirait le cochon... ahaha).
    Voici un lien qui explique ce qu'il faut faire : http://www.airborn.com.au/rs232.html

    Tu devrais directement travailler avec la carte de commande, au lieu de tenter ce genre de manipulation. Tu gagneras du temps, plutôt que de debbuger quelque chose que personne ne t'a demandé

    PS : utilise la balise CODE !!!
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Tu veux dire que tu as mis un fil de cuivre reliant RX à TX ? ouhlala, non, ce n'est pas aussi simple. Des fois ça marche, mais des fois non selon les cartes. Et fait attention à ne pas te tromper de pin : tu pourrais cramer le port (ça sentirait le cochon... ahaha).
    Voici un lien qui explique ce qu'il faut faire : http://www.airborn.com.au/rs232.html

    Tu devrais directement travailler avec la carte de commande, au lieu de tenter ce genre de manipulation. Tu gagneras du temps, plutôt que de debbuger quelque chose que personne ne t'a demandé

    PS : utilise la balise CODE !!!
    OK! Merci c'est noté!
    En fait la carte de commande n'est pas encore faite, c'est la raison pour laquelle je dois commencer par ce programme permettant de communiquer grâce à la liaison série...

  6. #6
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Tu veux dire que tu as mis un fil de cuivre reliant RX à TX ? ouhlala, non, ce n'est pas aussi simple. Des fois ça marche, mais des fois non selon les cartes. Et fait attention à ne pas te tromper de pin : tu pourrais cramer le port (ça sentirait le cochon... ahaha).
    Voici un lien qui explique ce qu'il faut faire : http://www.airborn.com.au/rs232.html

    Tu devrais directement travailler avec la carte de commande, au lieu de tenter ce genre de manipulation. Tu gagneras du temps, plutôt que de debbuger quelque chose que personne ne t'a demandé

    PS : utilise la balise CODE !!!
    J'ai réussis à faire la partie écriture/lecture sur port série sous windows et sous fedora core 6, mais on m'a dit qu'il fallait que je réalise un client et un webserver pour qu'à distance, je sois capable d'envoyer et recevoir des informations. Le serveur quant à lui va (je crois) envoyer et recevoir des informations par le port série du pc...
    Aurais-tu une idée de la manière dont on réalise un web server, un client et surtout faire en sorte que le web serveur communique avec le pc par port série?

    Je te remercie d'avance pour ton aide!!!

  7. #7
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut
    UPPP!!! Une petite aide svp!!

Discussions similaires

  1. faire une application avec un serveur et n client
    Par yacin87 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 08/04/2010, 22h39
  2. Réponses: 5
    Dernier message: 07/04/2009, 19h00
  3. Faire du Client/Serveur
    Par Kephuro dans le forum Débuter
    Réponses: 2
    Dernier message: 05/01/2008, 22h39
  4. Que choisir pour faire un Client/Serveur
    Par Crayon dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/04/2005, 17h43
  5. [SOAP] : client en PHP, serveur en kylix + .so
    Par RezzA dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/01/2003, 16h53

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