PDA

View Full Version : Device seriali


Psycotic
29-10-2007, 17:24
Salve a tutti, sto facendo degli script x usare un modem usb..

Pongo il problema...
Io uso il modem mandandogli in echo i comandi AT, adesso mi serve creare un file di log con le risposte del modem.

cat /dev/ttyUSB1

echo "AT" >/dev/ttyUSB1

Dal cat riesco a vedere le risposte del modem, pero' io vorrei andarle a scrivere in un file ma senza utilizzare il cat che rimane appeso..

Come potrei fare?
Sono stato chiaro su quello che devo fare?

Psycotic
30-10-2007, 13:51
uppino

Exeba
30-10-2007, 20:44
Prova minicom, però non so se abbia la funzione di log.

ilsensine
31-10-2007, 08:54
Sì ce l'ha

Psycotic
31-10-2007, 11:07
apparte che non so se si riesce a fare script utilizzando minicom forse kermit e' meglio x gli script, comunque io mando i comandi direttamente tramite degli echo semplicissimi perche' ho i miei script che girano continuamente e non volevo dipendere da altri programmi nn scritti da me per questioni di trasparenza e di compatibilita' con altri S.O.

chiedevo se c'era un modo semplice x creare dei log di risposta del modem cosi' come si puo' fare lasciando appeso il "cat" sul device.

Per esempio fare una query al modem che mi risponda su quale numero e' impostata la deviazione di chiamata

e si... maledetta reperibilita' :D

ilsensine
31-10-2007, 11:33
Forse è più facile se fai uno script per "chat", è comodo per situazioni simili. Io l'ho usato per l'invio di sms.

Psycotic
31-10-2007, 11:42
non ho capito bene cosa intendi come script x chat, hai un esempio?

cmq non e' difficile dialogare con un modem, e' piu' difficile reperire informazioni su come usare le device senza scrivere in C

ilsensine
02-11-2007, 08:19
Ad esempio, per mandare sms uso questo script:

'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'TIMEOUT' '40'
'' 'ATZ'
'OK' '\dATQ0'
'OK' '\dATV1'
'OK' '\dATH0'
'OK' '\dATE0'
'OK' 'ATS0=0&C1'
'OK' 'AT+CMGF=1'
'OK' 'AT+CMGS="$NUMBER"'
'> ' '$MESSAGE\032'
'OK' '\c'

e lo invoco da un altro script in questa maniera:

#!/bin/sh

PORT=/dev/ttyACM0

if [ "$1" = "" -o "$2" = "" ]; then
echo Missing number or message >&2
exit 1
fi

if [ ! -c "$PORT" ]; then
echo "Device not present." >&2
exit 2
fi

NUMBER="$1"
MESSAGE="$2"
export NUMBER MESSAGE
/usr/sbin/chat -E -v -s -f /etc/ppp/chat-sms <"$PORT" >"$PORT"
RETVAL=$?

exit $RETVAL

dove chat-sms è so script precedente.

Con la stessa tecnica puoi dialogare col modem per fare varie cose.

Psycotic
03-11-2007, 11:58
uh, questo mi piace...
se ho capito bene come funziona a fronte delle risposte sulla colonna sinistra gli passa i comandi AT sulla colonna destra...

Lunedi lo provo, anche se adesso si son introdotti nuovi problemi.... a cui nn ho una spiegazione...

......

cat /dev/ttyUSB0 &

echo "AT+XXX" > /dev/ttyUSB0

risultato: si frizza la macchina.. roba dell'altro mondo... :muro: