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 :

Commande modem C++


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut Commande modem C++
    bonjour,

    J'ai déja discuté de ce sujet sur le forum mais mes connaissances trop basiques ne m'ont pas permis d'aboutir...

    Voilà, je souhaite développer un logiciel qui aura dans ses fonctionnalités de communiquer avec un répondeur téléphonique automatisé. A la base le répondeur est utilisé pour recevoir des appels téléphoniques de personnel d'une entreprise qui communique ainsi au système son horaire ou sa disponibilité. En gros le répondeur demande de tapper sur le clavier du téléphone son N° identifiant puis 1 ou 0 suivant sa disponibilité suivit du carré.
    Mon programme sera écrit en C++ et je souhaite donc créer une fonction de programmation qui gèrera ces appels suivant une grille horaire.
    Là ou je coince, c'est comment traduire mes données C++ vers un message vocal transporter par modem.
    J'ai entendu parler de commande hayes et de pilote, mais j'avoue ne pas avoir compris grand choses. Si ce n'est de passer par l'hyperterminal. Moi ce qu'il me faudrait c'est plutot comprendre comment fonctionne l'hyperterminal pour en écrire un à ma sauce...

    Si quelqu'un peut m'aider ce serait chic.

    P.S. : je n'ai pas encore acheté le modem qui sera utilisé, il m'est encore donc possible de choisir tel ou tel matériel suivant la facilité qu'il aurait ...

    merci

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 115
    Par défaut
    Je pense que la transaction de ton ordi à ton modem passera par un port. Donc faudra d'abord créer une connexion. Regarde déjà si tu peux trouver des informations sur les connexion comport, LPport, parallel et serial.
    Je suppose(je suppose seulement), et que tout passera par une socket, et donc que ton ordinateur va créer une socket pour se connecter et envoyer les informations comme toi tu veux (serial, parallèle). Cependant, ce ne sont que des suppositions, tu peux toujours regarder comment créer des sockets en C. Mais je ne sais pas si ce sont vraiment des sockets pour les periphs.


    (Cela dit, j'exclus le fait que ton periph ait besoin de monter un firmware à l'initialisation, mais ça je pense que c'est dans le driver. Ce qui peut aussi créer les sockets)

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 115
    Par défaut
    Citation Envoyé par olipopotam
    J'ai entendu parler de commande hayes et de pilote, mais j'avoue ne pas avoir compris grand choses. Si ce n'est de passer par l'hyperterminal. Moi ce qu'il me faudrait c'est plutot comprendre comment fonctionne l'hyperterminal pour en écrire un à ma sauce...

    Si quelqu'un peut m'aider ce serait chic.
    En fait je pense que si il y a des fonctions de connexion(ce genre de periphs en ont), déjà faites par les créateurs, tu peux envoyer les données comme tu veux, que ce soit par strings ou en binaire, ou même en hexa. Regarde du coté des créateurs s'ils fournissent des sdk avec des libs qui te permettent de créer tes propres connexions. Ce sera peut-être un bon début.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut
    Merci d'avoir répondu si vite.

    Malheureusement, je crois fort que mon niveau en programmation est bien plus bas. Je suis étudiant en programmation mais je n'ai pas compris grand chose a ton message.
    C'est mon gros problème, je trouve pas mal de doc sur le sujet sur le net, mais ils s'adressent tous a des programmeurs confirmé, ce qui n'est pas mon cas. serait-il possible que tu me réexplique ton idée comme a un "crétin" ;-) merci.

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 115
    Par défaut
    Ben ce serait bien si tu donnes les docs que tu as trouvé déjà, ou en grande partie pour voir le fonctionnement général.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut
    Bien j'ai trouvé les liens vers les commandes Hayes. Mais chaque fois, ils parlent des commandes hayes depuis l'hyperterminal.
    J'avais trouvé un truc sur la commande de port série, mais je suis pas sur que cela serve à quelques chose.
    Et c'est malheureusement tout ce que j'ai pu trouvé. je présume que je suis passé à côté de tout ce qu'il fallait...

    Merci pour ton aide.

  7. #7
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 115
    Par défaut
    Ce que fait le code ici est peut-être déjà un début, vu qu'il arrive à ouvrir une passerelle par son modem. Je mets des explications, j'espère que ça t'aidera.

    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
    #include <iostream>
    #include <string>
    #include "dssdk.h"
    #include <fcntl.h>
    
    using namespace std;
    
    int main(int argc, char* argv[]){
    
    int tty1 = open("/dev/ttyds01", O_RDWR,0666); /* Il ouvre une connexion avec une fonction open. Il récupère la valeur dans la variable tty1. Par contre , comme c'est sous unix ou linux, il accède au modem dans le répertoir "/dev/ttyds01". Si tu es sous windows, il faudra trouver "ou" le modem est appelé. */
    
    write(tty1,"ATD0918218004",sizeof("ATD0918218004")); /* L'échange est ouvert et il peut donc écrire par son modem. Il envoie le port "tty1" pour savoir ou écrire, et il envoie "ATD0918218004" comme données. Je suppose que ça lui sert a appelé une connexion sur un autre modem. C'est ce qui va changer quand tu vas échanger des informations avec un répondeur. Si tu veux lui dire par exemple "dial", il aura peut-être des fonctions prédéfinies. Ensuite il envoie le size. */
    
    close(tty1); /* Il referme ensuite la connexion */
    
    printf ( "Tests stopped\n" ); /* Tu peux imprimer les erreurs ou les succès si il y en a eu */
    
    return ( 0 );
    
    }

    Mais bon, j'imagine que ça "peut" se passer comme ça, vu que c'est par un modem. Je pense qu'il te faut surtout voir un constructeur de répondeur et lui expliquer ce que tu fais. Il te donnera surement le protocol à utiliser pour communiquer entre un modem et un répondeur.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 31
    Par défaut
    Et bien voilà,

    ca marche, merci beaucoup pour ton aide. je n'avais pas envisagé la solution linux mais c vrai que dans mon cas, ce serait pas un tord. Le plus dur aura été de trouver un modem reconnu linux pour mon portable ( pas de port série ). J'ai enfin finit par trouvé un USB trust qui fonctionne avec le driver linuxant.
    j'ai aussi fait quelques essais en script avec : echo ATDT080084000 > /dev/ttySHSF0 et ca marche. le code c++ fonctionne aussi, c'est merveilleux !
    pour info la librairie dssdk.h signifie diva server soft developpement kit disponible sur le site de diva. quand j'aurai 5 minutes, je regarderai pour le faire tourner sous windows histoire de pas mourir idiot.

    bonne journée, a+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/09/2009, 11h30
  2. commandes pour modem vocal?
    Par Baxoul dans le forum Internet
    Réponses: 2
    Dernier message: 07/02/2007, 10h41
  3. Modem commande AT
    Par mnaulet dans le forum C++
    Réponses: 1
    Dernier message: 15/01/2007, 11h15
  4. Commande At + modem
    Par Mamounette dans le forum C++
    Réponses: 1
    Dernier message: 15/01/2007, 11h09
  5. Modem commande AT
    Par mnaulet dans le forum Développement
    Réponses: 1
    Dernier message: 07/07/2006, 22h10

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