Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix
Unix Forum d'entraide sur les systèmes Unix et dérivés (*BSD, AIX, etc.). Avant de poster ->F.A.Q BSD F.A.Q. Aix
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/05/2011, 17h38   #1
Membre Expert
 
Avatar de riete
 
Homme Thierry
NFC & DevWeb
Inscription : avril 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Nom : Homme Thierry
Âge : 51
Localisation : France

Informations professionnelles :
Activité : NFC & DevWeb
Secteur : Bâtiment

Informations forums :
Inscription : avril 2006
Messages : 1 175
Points : 1 366
Points : 1 366
Par défaut Communication avec TTY depuis un script

Je lance la commande
Code :
$>screen /dev/tty.usbserial-FTCV1T52
puis en mode interactif, je passe des commandes HAYES au modem qui est dérrière.

Mon objectif est de mettre tous cela dans un script sh ou bash. Je n'y parviens pas car je ne sais pas comment passer les commande AT depuis le script.

Si vous voyez une meilleur solution que screen, je suis preneur.

merci d'avance
riete est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 31/05/2011, 16h06   #2
Membre Expert
 
Avatar de riete
 
Homme Thierry
NFC & DevWeb
Inscription : avril 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Nom : Homme Thierry
Âge : 51
Localisation : France

Informations professionnelles :
Activité : NFC & DevWeb
Secteur : Bâtiment

Informations forums :
Inscription : avril 2006
Messages : 1 175
Points : 1 366
Points : 1 366
J'ai trouvé une solution à mon problème grâce à la commande tcl/tk expect qui s'utilise comme du script SHELL.

Je post le code sans commentaire si quelqu'un a besoin, j'essayerai de répondre aux questions.
J'ai utilisé expect version 5 sous BSD (OSX).
Code :
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
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/expect -f
set  send_slow  {1 .2}
set port "/dev/tty.usbserial-FTCV1T52"
set baud 9600

set texto [lindex $argv 1]
set desti [lindex $argv 0]

puts stderr "Opening serial port"
spawn -noecho -open [open $port {RDWR NOCTTY NONBLOCK}]

puts stderr "Setting TTY Param"
stty -f $port 9600 -raw -echo speed 9600 clocal cread cs8 -parenb -parodd -cstopb -crtscts -dsrflow -dtrflow

puts stderr "Config serial terminee"
send "at+CMGS=\"$desti\"\n"
sleep 2
send -s "$texto\032"
puts stderr "Ecriture du texto"
sleep 5
expect -nobrace {
         +CMGS: {
                puts stderr "Texto bien envoye?!\n"
                exp_continue
        } incorrect {
                puts stderr "Erreur d'envoie !!!\n"
                exit
        } timeout {
                puts stderr "Connexion au modem perdue\n"
                exit
        } eof {
                puts stderr "La connexion a echoue\n"
                exit
        } -re
}


expect eof
riete est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h11.


 
 
 
 
Partenaires

Hébergement Web