I comandi AT sono istruzioni utilizzate per controllare i modem.
AT sta per ATTENZIONE.
Questi comandi provengono da Hayes a comandi che sono stati utilizzati dagli smart modem Hayes negli anni '80. Molti modem oggi, inclusi modem GSM/GPRS dial-up, wireless, utilizzano questi set di comandi AT per la comunicazione.
Esistono 2 tipi di comandi AT del modem.
- Comandi di base
- Comandi estesi
I comandi di base sono comandi AT che non iniziano con "+". I comandi estesi sono comandi AT che iniziano con un "+". Tutti i GSM/GPRS utilizzano i comandi estesi per i servizi SMS/DATI.
Attività che può essere eseguita utilizzando i comandi AT
Ecco alcuni elenchi di attività che possono essere eseguite utilizzando i comandi AT.
- Ottieni informazioni di base sull'abbonato
- Ottieni informazioni sulla potenza del segnale e sulla potenza della batteria
- Stabilire una connessione dati/voce
- Invia e ricevi fax
- Invia e ricevi SMS
- Leggi/Cerca voci della rubrica
Nota che non tutti i modem supporteranno tutti i comandi AT.
In questo tutorial, mostrerò esempi utilizzando il mio telefono cellulare "Nokia 2700" che ha un modem GSM/GPRS integrato.
Installazione di minicom
Per inviare comandi AT ai modem, abbiamo bisogno di un'interfaccia. Minicom è uno strumento che fornisce un'interfaccia per comunicare con i dispositivi collegati alle porte seriali. Minicom è un equivalente Linux dell'utilità HyperTerminal nei sistemi operativi Microsoft.
Utilizzando minicom possiamo inviare comandi AT al modem per ottenere informazioni sulle sue caratteristiche.
# apt-get install minicom
Configurazione di minicom per interfacciarsi con il modem
Prima di configurare minicom, dobbiamo collegare il modem al sistema linux. Nel mio caso, ho collegato il mio "Nokia 2700" tramite cavo dati al mio PC Linux. Una volta che il dispositivo è collegato, vedrai un output simile al seguente usando dmesg. Nel mio caso il modem è stato rilevato come /dev/ttyACM0.
[ 1071.120084] cdc_acm 1-1.3:1.1: ttyACM0: USB ACM device [ 1071.120916] usbcore: registered new interface driver cdc_acm [ 1071.120917] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Per configurare minicom per l'accesso al modem, procedi come segue:
# minicom -s +-----[configuration]------+ | Filenames and paths | | File transfer protocols | | Serial port setup | | Modem and dialing | | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
Scegli "Configurazione porta seriale" e premi "Invio". Verrà visualizzata una schermata simile alla seguente.
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/tty0 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : No | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+
Premi "A" per cambiare il dispositivo seriale da /dev/tty0 a /dev/ttyACM0.
Premere 'E' per modificare la velocità in baud a cui comunica il modem. Nel mio caso, è "460800". Puoi anche usare wvdialconf per identificare la velocità di trasmissione supportata dal tuo modem.
Dopo aver modificato queste impostazioni, premere "Invio".
Scegli "Salva configurazione come dfl" e scegli "Esci".
Ora abbiamo configurato correttamente il minicom e vedrai una schermata come la seguente.
Welcome to minicom 2.6.1 OPTIONS: I18n Compiled on Feb 11 2012, 18:12:55. Port /dev/ttyACM0 Press CTRL-A Z for help on special keys
Per verificare se abbiamo configurato correttamente minicom per comunicare con il modem, digita "AT" in minicom. Dovresti ottenere una risposta "OK" come segue.
Welcome to minicom 2.6.1 OPTIONS: I18n Compiled on Feb 11 2012, 18:12:55. Port /dev/ttyACM0 Press CTRL-A Z for help on special keys AT OK
1. Rispondi a una chiamata in arrivo – ATA
Per rispondere a una chiamata in arrivo tramite modem, emettere il comando "ATA" nel minicom.
RING ATA OK
Quando c'è una chiamata in arrivo, puoi vedere un messaggio "SQUILLI" nel minicom. È possibile premere "ATA" per rispondere alla chiamata in arrivo.
2. Effettuare una chiamata in uscita e terminare una chiamata vocale – ATD – ATH
Puoi anche effettuare una chiamata vocale dal modem usando il comando ATD.
ATD 99769XXXXX; OK
Ora il telefono chiamerà il numero 99769XXXXX.
Per terminare la chiamata, usa il comando ATH.
3. Ottenere le informazioni sulla produzione/IMEI/IMSI
I comandi AT estesi vengono utilizzati per fornire informazioni sul produttore, l'identità dell'apparecchiatura mobile internazionale, l'identità dell'abbonato mobile internazionale ecc...
AT+CGMI Nokia OK AT+CGSN xxxxxxxxxxxxxxx OK AT+CIMI xxxxxxxxxxxxxxx OK
4. Ottenere la qualità del segnale e lo stato di carica della batteria
Puoi anche ottenere la qualità del segnale e lo stato di carica della batteria utilizzando i comandi estesi AT.
AT+CSQ +CSQ: 29,99 OK AT+CBC +CBC: 1,96 OK
Il formato di output +CSQ:29,99 rappresenta
Il formato di output +CBC:1,96 rappresenta
5. Invio di SMS tramite comandi AT
Puoi anche inviare SMS tramite comandi AT.
AT+CMGF=1 OK AT+CMGS="99xxxxxxxx" > This is a test message > OK
Il comando AT+CMGF=1 imposta il “Formato messaggio” in “modalità testo”. Il comando AT+CMGS, invia l'SMS al numero specificato.