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

C++ Discussion :

Récupérer des informations console


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut Récupérer des informations console
    Bonjour a tous et a toutes d'un petit nouveau sur le forum !

    Rentrons tout de suite dans le vif du sujet :

    Mon projet de fin d'année est la réalisation d'un logiciel de domotique sur une petite borne tactile (ARM-9) sous Linux.
    Pour les besoins du projet, je dois intégrer un widget "thermomètre" qui indique la température (étrange en effet ! ).
    Les modules domotiques que je manipule utilisent le protocole X10 et j'ai à ma disposition "Heyu" qui me permet de facilement manipuler ce protocole (sans devoir toucher au variation de fréquence du courant et ce genre d'élément indigeste ).
    Le module Thermostat est un émetteur, je dois donc récupérer les informations qu'il envoi grace à une commande heyu qui récupère justement les informations envoyés par les emetteurs et les affiches sur le terminal.

    Jusque là, tout va bien.
    Mon problème vient du fait que je ne trouve pas le moyens de récupérer les informations qui ont été affiché sur ce terminal...

    Est-ce qu'il y a une fonction C++ qui permet cela ?

    Dans le cas contraire j'ai déjà imaginé une solution temporaire : rediriger la ligne affichée dans un fichier lorsque l'information arrive. Mais un deuxième problème se pose : Est-il possible de signaler au logiciel qu'une nouvelle ligne vient de s'afficher sur le terminal ?

    Merci de votre aide !

  2. #2
    Membre chevronné Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par défaut
    D'après ce que je comprend tu veux d'interfacé avec un logiciel en ligne de commande. Regard donc du coté des pipes :
    http://tldp.org/LDP/lpg/node11.html

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Oui j'ai déjà pensé à faire un pipe, seulement heyu n'est pas un programme que j'ai créé, et quand bien même il est open source, je ne pense pas pouvoir modifier le source et le recompiler pour intégrer une écriture dans un pipe... Je pense que c'est une trop grosse machine à mettre en place pour un petit problème.

    N'y a t'il pas une interruption logicielle générée lorsqu'une ligne est écrite sur le terminal ?
    J'ai beau cherché je n'arrive pas à trouver la réponse.

  4. #4
    Membre chevronné Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par défaut
    ton programme "Heyu" affiche la ligne que tu veux lire ?
    Peut tu faire une ligne de ce style ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Heyu -arg1 -arg2 > file_out
    Où file_out contient les informations que tu veux récupérer ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Par défaut
    Oui, heyu affiche la ligne que je veux lire, et je pourrais faire une redirection de ce type :
    Citation Envoyé par themadmax Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Heyu -arg1 -arg2 > file_out
    Seulement la ligne que je veux lire est une ligne émise automatiquement par un module, ce n'est pas moi qui l'écrit ( je ne donne pas l'ordre au module de l'écrire).

    Je reçois sur le terminal une ligne de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    module AH send 0x2566356
    Je souhaite justement récupérer cette ligne lorsqu'elle apparaît.

  6. #6
    Membre chevronné Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <stdio.h>
    int main(int argc,char** argv) {
       char data[256];
       fread( data, 1, 5, stdin );
       printf("readed : '%s'\n", data );
    }
    Tu compile le programme en "program"
    Utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Hello" | ./program

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer des informations sur les connexions réseau
    Par Leobaillard dans le forum Delphi
    Réponses: 8
    Dernier message: 31/08/2006, 01h20
  2. Récupérer des informations (JVCL)
    Par cat1982 dans le forum Delphi
    Réponses: 2
    Dernier message: 15/05/2006, 12h00
  3. Récupérer des informations sur le matériel
    Par RaphAstronome dans le forum Windows
    Réponses: 5
    Dernier message: 31/03/2006, 15h32
  4. Récupérer des Informations sur un PC via un Réseau ?
    Par MaTHieU_ dans le forum Administration
    Réponses: 6
    Dernier message: 22/11/2005, 12h39
  5. Réponses: 6
    Dernier message: 28/09/2003, 17h49

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