OVH Cloud OVH Cloud

programmer modem?

1 réponse
Avatar
Manu
Bonjour,

j'ai un probleme qui a l'ait assez simple a resoudre, mais je n'ai
aucune idee pour le traiter, je schematise:

j'ai un modem sur le com1 qui peut etre dans l'etat 1 ou l'etat 2.
J'aimerais créer un script ou un programme qui fasse:

1)demander l'etat (je connais la commande AT necessaire)
2)si 1 alors envoyer une commande, sinon envoyer une autre commande

Je suis sur que c'est tout simple, mais je ne vois pas quel langage
utiliser, ni comment m'y prendre! Hyperterminal permet de converser avec
le modem, mais pas d'automatiser la reponse en fonction de l'etat du modem.

Je suis completement perdu, si vous pouviez me donner des pistes... Je
connais les bases du langage C, mais je suis pret a bosser un autre
langage si vous pensez que la solution s'y trouve. (je crois qu'on peut
le faire avec VB6 mais il est payant).

Merci beaucoup pour votre aide!
Bonne journée à tous
Manu

1 réponse

Avatar
Jean-Michel Bechet
j'ai un modem sur le com1 qui peut etre dans l'etat 1 ou l'etat 2.
J'aimerais créer un script ou un programme qui fasse:

1)demander l'etat (je connais la commande AT necessaire)
2)si 1 alors envoyer une commande, sinon envoyer une autre commande

Je suis sur que c'est tout simple, mais je ne vois pas quel langage
utiliser, ni comment m'y prendre! Hyperterminal permet de converser avec
le modem, mais pas d'automatiser la reponse en fonction de l'etat du
modem.


Je suis completement perdu, si vous pouviez me donner des pistes... Je
connais les bases du langage C, mais je suis pret a bosser un autre
langage si vous pensez que la solution s'y trouve. (je crois qu'on peut
le faire avec VB6 mais il est payant).



Salut,

Tu ouvres le fichier correspondant à ton com1 ( /dev/ttyS0 ou /dev/modem
,...) avec un fopen()
ensuite tu fais des fwrite() pour envoyer tes commandes AT et des fread()
pour lire les réponses
Après, il n'y a plus qu'a décortiquer les chaines de caractères renvoyées et
effectuer les actions que tu veux ...


Bon amusement.


JMB.