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

Langage PHP Discussion :

[PHP-JS] Communiquer avec le port RS232


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut [PHP-JS] Communiquer avec le port RS232
    Bonjour,
    je suis tout nouveau sur ce forum et débutant en PHP (j'arrive à écrire "Hello World" quand même ).

    Je souhaiterai lire les données d'un ordinateur de plongée qui se connecte par le port RS232 avec un script php.

    J'ai commencé mes recherches et je suis tombé sur les fonctions dio_open, dio_tcetattr, dio_read et dio_close.

    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
     
    <?php
     
    $fd = dio_open('/dev/ttyS0', O_RDWR);
     
     
    dio_tcsetattr($fd, array(
      'baud' => 19200,
      'bits' => 8,
      'stop'  =>1,
      'parity' => 0
    ));
     
     
     
    while (1) {
     
      $data = dio_read($fd,1);
     
      if ($data) {
          echo $data;
      }
    }
     
     
    dio_close($fd);
    ?>
    Mais (il y a toujours un mais...), ça ne semble pas fonctionner.

    Pour l'instant je cherche à faire quelque chose de simple.
    Le protocole de communication est le suivant : http://damien.douxchamps.net/aladin/...d/protocol.pdf

    et j'ai de disponible un code source en C et en java.
    je souhaiterai les adapter en php, simplement pour stocker dans un fichier (pour l'instant).

    Petite précision, mon PC est sous linux (UBUNTU 7.04).

    J'espère que j'ai été clair dans mes questions...

    Cordialement,

  2. #2
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut
    (...) ça semble ne pas fonctionner (...)
    Qu'est-ce qui semble ne pas fonctionner? Vous avez un message d'erreur? Qu'ententez-vous par le verbe sembler? (en général ça fonctionne ou ça ne fonctionne pas)

  3. #3
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    le programme php tourne, je n'arrive pas à mettre l'ordinateur de plongée dans la bonne configuration (court-circuit sur les 2 fils?) et donc... rien, pas de transfert.

  4. #4
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut forum hardware...?
    Peut-être vaudrait mieux aller sur le forum hardware poser la question si cela ne vient pas de PHP mais d'un mauvais branchement.

  5. #5
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Cela ne vient pas d'un mauvais branchement, car j'ai un programme sous windows, que je fais tourner avec wine et qui fonctionne très bien. Donc, c'est uniquement du code qui me permettra d'arriver à mes fins.

  6. #6
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut
    Citation Envoyé par vavincavent Voir le message
    le programme php tourne, je n'arrive pas à mettre l'ordinateur de plongée dans la bonne configuration (court-circuit sur les 2 fils?) et donc... rien, pas de transfert.
    Qu'est-ce que vous voulez dire alors avec ce post? Rappelez-vous qu'on n'est pas dans votre tête et qu'on ne sait rien de votre projet.

  7. #7
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Bonjour !

    J'ajouterai une chose toute bete mais qui arrive parfois. Pour commencer tes tests, enlève la boucle while(1) essaie de récupérer juste une ligne au début. En effet la tu fais un echo dans une boucle while infinie (sans sleep() ni rien). Il arrive parfois que les echo ne soient pas envoyés directement, du coup tu lis peut etre des caractères que tu ne "vois pas s'afficher".

  8. #8
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Bon,

    je vais essayer d'ouvrir un peu ma tete

    L'ordinateur de plongée : un aladin pro, il possède 4 touches "sensitives"
    L'orsque l'on veut envoyer des données vers un pc, il faut cabler 2 des touches (via rs232) puis par une combinaison sur les touches (avec 2 doigts mouillés) passer dans le mode "logbook".
    L'ordinateur de plongée envoie alors sa séquence sur les cables rs232.

    Actuellement, je n'arrive pas à passer dans le mode logbook, la rs232 ne dois pas être dans un état correct (je suppose) et provoque un court circuit qui a pour effet de passer l'ordinateur en mode "diveplan" sans modification possible pour un retour en "logbook" en gardant la rs232 connectée.

    J'espère que vous m'avez compris, je comprend que ça ne soit pas évident.

    voici un lien qui donne le protocole complet :
    http://damien.douxchamps.net/aladin/...d/protocol.xls

    merci,

Discussions similaires

  1. Communiquer avec le port serie (RS232)
    Par wadwin dans le forum C++
    Réponses: 2
    Dernier message: 18/06/2008, 09h49
  2. Communiquer avec un port RS232
    Par Yvanou dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 18/06/2007, 22h49
  3. [Système] Comment communiquer avec un port serie ou usb en php?
    Par thenightmare1985 dans le forum Langage
    Réponses: 3
    Dernier message: 05/12/2006, 13h12
  4. Réponses: 2
    Dernier message: 17/03/2006, 09h26
  5. Besoin de communiquer avec un port serie RS232 ?
    Par MonsieurAk dans le forum Linux
    Réponses: 2
    Dernier message: 01/02/2006, 17h13

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