Newsgroup: it.comp.os.win.xp
Titolo: invio comando automatico

scusate,qualcuno saprebbe dirmi da hyperterminal o altro programma,come 
posso fare per inviare un comando via modem sulla mia linea telefonica? A me 
servirebbe che alle 00 il PC aprisse la linea telefonica e inviasse il 
comando #21# e richiudesse la linea,non credo che sia così difficile,ma con 
hyperterminal riesco a farglielo fare manualmente ma non in automatico.
Grazie.
 



Quello che vuoi fare non è semplice perchè richiede due funzioni normalmente non
disponibili ai comandi come la porta seriale e il timer.
Inoltre devi lanciare il programmacome servizio o lasciarlo in background fino
al momento di lanciare la stringa.
Per fare ciò ti occorre un programma scritto appositamente, e se non lo trovi
già fatto, devi crearlo con un linguaggio.
Non so le tue conoscenze in proposito, ma ad esempio in Python o Visual Basic si
potrebbe fare in poco tempo, ma occorre installare programmi, compilare
eseguibili.
In alternativa puoi anche provare con uno script VBS, ma se non hai mai usato
questi strumenti può essere complicato.
--
ciao
  Stefano

conoscenza pari a zero di programmazione :-(
Se dovesse venirti in mente qualcosa o qualche programma che possa inviare 
in automatico una stringa via linea telefonica,fammelo sapere per favore.
Grazie.
 


Premetto che non conosco hyperterminal... utilizzo
linux da un po' e lì sarebbe probabilmente più
semplice fare cose del genere.
Comunque anche su windows puoi farti un file "BATCH"
ovvero un scriptino che utilizzi i comandi giusti per
fare quello che hai in mente.
Anni fa ne avevo fatto uno per tenermi in piedi la
connessione e sbloccarla (avevo un modem che si
bloccava con frequenza random).
In pratica avevo fatto questo script e poi lo avevo
messo nelle operazioni pianificate e lo facevo girare
ogni tot minuti.
Sostanzialmente per scriverlo ti asta il blocco note.
In rete avevo trovato diverse guide sulla stesura di
script BATCH. MA a te non è che serva chissà quale
struttura logica, voglio dire si tratta quasi di
un'operazione singola.
Per cui la prima cosa che ti consiglio è di capire come
fare ad inviare il comando usando un terminale cioè
apri il prompt del dos e dai il comanddi cui hai
bisongo.
Quando avrai capito che comando devi scrivere sul
terminale è fatta.
Infatti a quel punto scrivi il comando in un file di
testo e lo salvi come comandmodem.bat e via.
Poi aggiungi comandomodem.bat nelle operazioni
pianificate e lo imposti in modo che venga fatto girare
con la frequenza di cui hai bisogno.
Per esempio a me serviva il comando di connessione ad
internet ed avevo trovato in rete che era possibile
usare:
RASDIAL
Ecco direi che è tutto per il momento.
1- capire che comando da terminale usare --> google
2- leggersi una piccola guida agli script batch
   (dos/win)
3- scrvere lo script .bat e metterlo nelle operazioni
   pianificate.
Ciao.

ogni tot minuti.
Questo poteva funzionare in MSDOS o fino a W98, da W2000 in poi l'accesso
all'I/O diretto non è più possibile e per andare su una porta seriale occorre
usare un driver o qualcosa come mscomm.
http://www.tomshardware.com/forum/102277-45-serial-port-rs232
--
ciao
  Stefano



Ho fatto una cosa veloce in Visual Basic, l'ho provata e qui da me funziona e
compone col modem il numero del cellulare:
Qui scarichi il file   Setup_Serial_File.zip
http://www.datafilehost.com/download-45f81ac8.html
Poi esegui l'installer Setup_Serial_File, in pratica registra solo MsComm e
aggiunge il Runtime di VB se non ce l'hai.
Poi apri una finestra DOS e vai in nella directory scelta nell'installazione, di
default dovrebbe essere:
          C:\Programmi\Serial_File>
     ed esegui il comando
serial_file.exe   com1,9600,n,8,1,pippo.txt
ovviamente pippo.txt o come lo chiamerai deve stare nella stessa cartella
altrimenti devi inserire il path:
serial_file.exe   com1,9600,n,8,1,C:\Test\pippo.txt
Poi apri Notepad, copi la stinga
"serial_file.exe   com1,9600,n,8,1,C:\Test\pippo.txt"
salvi in un file con estensione .bat e lo lanci con le operazioni pianificate, 
come ti era stato suggerito, non è troppo difficile.
Fammi sapere
--
ciao
  Stefano

 usare un driver o qualcosa come mscomm.
Io inviavo comandi AT al modem (il mio cellulare
collegato via usb al PC). E tutto ciň avveniva su XP.
Tutto stava nel configurare in modo opportuno una
connessione di rete che poi veniva richiamata con
rasdial.
In effetti comunque non č che abbia capito bene
cosaintenda fare l'OP, quindi probabilmente hai
ragione.

Ciao SB,per prima cosa GRAZIE,allora ho fatto il tutto e non funziona,nel 
senso che provandolo sento che mi apre la linea ma poi la richiude senza 
comporre nulla,ho tolto la spunta su attendi segnale di libero dalle 
proprietą del modem,ma non č cambiato nulla,mi sa che bisogna aggiungere 
qualcosa alla stringa che mi fai lanciare prima di comporre il numero per 
fargli ignorare il tono di telefono libero e far comporre il numero 
ugualmente. Secondo te č questo il problema o altro? Tieni cmq presente 
ripeto che la linea la apre e dopo 2 secondi appena la richiude.
 

aggiungo un particolare ho provato da Hyperterminal a dare gli stessi 
comandi e funziona,ed esattamente ho provato a dare
ATZ con risposta OK
ATDTnumero con risposta NO DIALTONE
poi ho dato
ATZ con risposta OK
ATx3 con risposta ok
ed infine
ATDTnumero e ha composto il numero
ho impostato la stessa sequenza sul file di testo che mi hai inviato ma 
continua ad aprire la linea e a richiuderla,qualche idea?
Grazie.
 

ho appena provato il comando rasdial come indicato da johnny e devo 
ammettere che funziona,lancia la composizione e poi si disconnette dopo 1 
minuto circa perchè non riesce ad autenticarsi,ma il suo lavoro lo ha già 
fatto impostando il codice telefonico,stesso discorso per riportare il tutto 
alla normalità :-) 



Probabilmente dipende dall' handshaking sulla porta, comunque se hai risolto con
rasdial va bene lo stesso.
--
ciao
  Stefano


si diciamo che ho risolto,un po' più grossolano come metodo ma funziona,nel 
senso che lui apre la linea compone il numero (che poi + il codice) e 
attende che dall'altra parte ci fosse una risposta (stile come ci si 
connetteva ad internet una volta tramite modem analogico),poi ovviamente non 
ricevendo nessuna risposta dopo 1 circa stacca e ed esce dalla procedura 
rasdial,nel frattempo il comando cmq è stato inviato e il funzionamento 
attivato del trasferimento di chiamata,il tuo mi è sembrato di capire invece 
che fosse più lineare,apre la linea manda il comando e poi chiude 
subito,giusto?
 



Il fatto è che la fine del programma chide la porta e il tuo modem chiude la
linea, ma se non sai cosa e se si deve ricevere devi necessariamente mettere un
timer.
Ho aggiunto un parametro in secondi da aggiungere prima del file
Esempio con:
 > serial_file   com1,9600,n,8,1,20,pippo.txt
Ora dopo la trasmissione del file aspetterà per 20 secondi prima di finire, puoi
mettere il valore che preferisci:
http://www.datafilehost.com/download-6865c658.html
--
ciao
  Stefano

perfetto,ma hai apportato anche qualche modifica per far comporre il numero 
anche senza rilevare la portante?O cmq per risolvere il problema che apre la 
linea e la richiude?
 



No, perchč non č un programma di comunicazione ma solo un programma che manda
delle stringhe in sequenza e poi mantiene la porta aperta per un numero definito
di secondi.
Ho usato un Long, quindi puoi arrivare a 2^31 secondi, piů di mezzo secolo.
--
ciao
  Stefano