Émuler port série Ubuntu
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Émuler port série Ubuntu



  1. #1
    invitef56f99fd

    Émuler port série Ubuntu


    ------

    Bonjour,

    Pour mon projet java j'ai besoin de simuler l'arriver d'une trame (type RS232) provenant du port série du pc tournant sous Linux.

    Problème je n'ai pas de port série... Connaitriez vous un logiciel/terminal qui me permettrais de simuler a la fois un port série et l'arrivé de trame par ce dernier ?

    Merci de vos réponse !!

    -----

  2. #2
    polo974

    Re : Emuler port serie ubuntu

    Solution hard: un port usb/série (c'est pas toujours le top...)

    Solution soft: créer 2 pty (pseudo-terminal interfaces) et les relier entre eux...
    pour ça: (trouver et ) installer le paquet socat (dépot universe)

    puis dans un dossier de travail:
    socat -d -d PTY,ignoreeof,echo=0,raw,link= f1 PTY,ignoreeof,echo=0,raw,link= f2 &

    ce qui lance socat en tâche de fond. celui-ci crée les 2 pty, et le relie entre eux, en plus il crée des liens sur eux (f1 et f2).

    maintenant, le couple (f1, f2) fonctionne comme:
    une "fifo bidirectionnelle" (vision foctionnelle)
    ou une socketpair en mode raw qu'on peut accéder par un nom de fichier (vision réseau)
    ou 2 ports séries reliés entre eux par un câble null-modem (vision électronicien)
    Jusqu'ici tout va bien...

  3. #3
    invitef56f99fd

    Re : Emuler port serie ubuntu

    Merci de ta réponse.

    J'ai testé ta solution, cependant j'ai un message (d'erreur je suppose) qui s'affiche : socat[2084] E exactly 2 addresses required (there are 4); use option -h for help

    Que manque t'il ?

  4. #4
    polo974

    Re : Emuler port serie ubuntu

    Citation Envoyé par boudou26 Voir le message
    Merci de ta réponse.

    J'ai testé ta solution, cependant j'ai un message (d'erreur je suppose) qui s'affiche : socat[2084] E exactly 2 addresses required (there are 4); use option -h for help

    Que manque t'il ?
    Rien, il y a "juste" des espaces en trop...
    Code:
    socat -d -d PTY,ignoreeof,echo=0,raw,link=f1 PTY,ignoreeof,echo=0,raw,link=f2 &
    Et c'est bêtement la mise en page du forum qui les ajoute...
    Donc, promis, à partir de maintenant, j'utilise la balise code pour du code.

    (les -d , c'est juste pour voir un peu ce qu'il se passe dans socat)
    Jusqu'ici tout va bien...

  5. A voir en vidéo sur Futura
  6. #5
    invitef56f99fd

    Re : Emuler port serie ubuntu

    Merci, c'était effectivement des espaces de trop

    Si tu me permets d'abuser de ta patience serais tu comment on envoie des trames avec socat?

  7. #6
    polo974

    Re : Émuler port série Ubuntu

    ben, socat ne fait "que" créer un tuyau bidir et te mettre à disposition les 2 bouts.
    f1 et f2 dans l'exemple.
    ce qui rentre dans f1 est lisible dans f2 et vice versa et réciproquement...

    dans un premier terminal, tu lances ton prog à tester en utilisant f1 au lieu de /dev/ttyS0

    dans un autre terminal, tu lances ta simulation de périph en lisant et écrivant sur f2
    par exemple un:
    cat f2&
    echo "trame qui va bien" >f2

    sinon, tu fais man socat et tu as 2h de lecture ...

    (car tu n'as là qu'un tout petit bout des possibilités de socat)
    Jusqu'ici tout va bien...

  8. #7
    invitef56f99fd

    Re : Émuler port série Ubuntu

    En faite mon programme ne fait que recevoir des trames donc je dois le lancer avec f2 je suppose. Par contre je ne comprend pas bien cette partie quand tu parles de lancer mon prog avec f1 tu veux dire quoi par là? Car je n'ai pas d’exécutable, il est toujours en phase de développement sous Eclipse. Ou tu veux dire le lancer dans le terminal en faisant ./monprog.java ?

  9. #8
    polo974

    Re : Émuler port série Ubuntu

    f1 et f2 sont les lien sur les accès au tuyau que gère socat.
    tu peux les voir comme de fichiers en faisant un ls -l.

    pour commencer joue avec f1 et f2 avec des cat et des echo pour bien voir comment ça tourne, ensuite, quand tu as l'exe, dis lui d'utiliser f1 par exemple et envoie ta trame sur f2.
    Jusqu'ici tout va bien...

Discussions similaires

  1. Relier un interrupteur sur port parallèle (ou port série)
    Par invitedc8ebe95 dans le forum Électronique
    Réponses: 11
    Dernier message: 04/02/2013, 09h20
  2. Port parallèle vers port série
    Par invite5d1bc976 dans le forum Électronique
    Réponses: 7
    Dernier message: 12/07/2012, 14h10
  3. convertiseur port RS485/port serie
    Par invitedae5fd2a dans le forum Électronique
    Réponses: 0
    Dernier message: 17/01/2010, 13h47
  4. tranformation port série en port usb
    Par Christ117 dans le forum Matériel - Hardware
    Réponses: 8
    Dernier message: 04/08/2008, 08h35
  5. Port serie/USB ===> port paralléle
    Par invited60b6f1f dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 07/11/2007, 19h52
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...