Le basi del funzionamento con i Comandi AT.
Per funzionare pienamente con i moduli della serie SIM800 GSM/GPRS, avrai bisogno di un manuale di riferimento dei comandi AT:
Prima di iniziare a programmare l'interazione con il modulo GSM, è necessario familiarizzare con i tipi di comandi AT.
Sintassi del comando AT.
Modalita | Sintassi | Descrizione |
---|---|---|
Riferimento | AT+<x>=? | Il modulo restituisce un elenco di possibili parametri e l'intervallo di valori che accettano. |
Lettura dello stato | AT+<x>? | Il modulo restituisce lo stato corrente dei parametri. |
Comando di scrittura | AT+<x>=<...> | Il comando imposta i valori dei parametri definiti dall'utente. |
Esecuzione | AT+<x> | Esecuzione del comando. |
Un esempio di questo gruppo di comandi è il comando AT+IPR. Comando AT+IPR=? puoi scoprire i valori che un parametro può assumere. Comando AT+IPR? è possibile scoprire la velocità corrente di scambio dati con il modulo e utilizzare il comando AT+IPR=<...> per impostare una velocità diversa (Figura 1).
È possibile specificare più comandi su una stringa. Tutti i comandi successivi (escluso il primo) vengono scritti senza il prefisso AT. Ogni comando esteso deve essere seguito da un punto e virgola (;). Dopo i comandi di base o i comandi con il parametro S, non è necessario il punto e virgola (;). La lunghezza dell'intera stringa multi comando non deve superare i 556 caratteri (escluso il prefisso AT iniziale).
Esempio: ATE0V0+CMEE=1;&W
Il comando AT A/ può ripetere il comando precedente.
Il parametro Echo Mode è responsabile della duplicazione del comando inviato nel terminale. Per modificare il valore di questo parametro, esiste il comando ATE<value>, dove <value> è il valore del parametro, 0 è disabilitato, 1 è abilitato (per impostazione predefinita). Ad esempio, il comando ATE0 disabiliterà questa modalità e il comando ATE1 la abiliterà.
Esiste anche il comando ATV<value>, che è responsabile del formato delle risposte del modulo ai comandi inviati: testo (<value>=1, per impostazione predefinita, risposte come OK, CONNECT, RING, ERROR, ecc.) e digitale codice (<valore>=0, risposte come 0, 1, 2, 3, ecc.). Ad esempio, il comando ATV0 abiliterà il formato di risposta digitale e il comando ATV1 abiliterà il formato testo.
Gestire gli errori.
Comando | Descrizione | Struttura della risposta | Risposta |
---|---|---|---|
AT+CMEE? | Ottenere il valore corrente del parametro. | +CMEE:<n> OK <n> - segnalazione errori. 0 - messaggio relativo all'effettiva presenza di un errore (ERROR). 1 - risposta contenente un codice di errore digitale (decrittazione dei codici nella sezione 19 del riferimento al comando AT). 2 - risposta contenente la descrizione dell'errore. |
+CMEE: 0 OK |
AT+CMEE=<n> | Comando per scrivere il nuovo valore. | OK | OK |
Per lavorare da terminale in modalità manuale è conveniente utilizzare il parametro 2 - AT+CMEE=2. Ora, dopo aver installato la segnalazione estesa degli errori, potete provare a inviare un comando inesistente ATE?, al quale il modem risponderà in modo dettagliato: +CME ERROR: unknown (comando sconosciuto).
Notifiche non richieste.
Avviso | Descrizione | Esempio |
---|---|---|
RING | Notifica chiamata in arrivo. | RING |
+CMTI | Notifica dell'arrivo di un nuovo messaggio (SMS). | +CMTI: "SM",2 |
+CLIP | Identificazione automatica del numero durante una chiamata in arrivo. | +CLIP: "",,"",,"", |
+CUSD | Ricezione di una risposta a una richiesta USSD inviata. | +CUSD: 0, "" |
UNDER-VOLTAGE POWER DOWN UNDER-VOLTAGE WARNNING OVER-VOLTAGE POWER DOWN OVER-VOLTAGE WARNNING |
Messaggi di tensione del modulo errata. | UNDER-VOLTAGE WARNNING |
+CMTE | Messaggi relativi alla temperatura errata del modulo. | +CMTE: 1 |
Salvataggio dei parametri impostati.
Nonostante il modulo della serie SIM800 sia un dispositivo complesso dotato di una propria memoria non volatile, non tutti i parametri impostati da qualsiasi comando AT possono essere memorizzati al suo interno. Nella documentazione del comando AT, ogni comando ha una modalità di salvataggio (Parameter Saving Mode), che fornisce all'utente informazioni su cosa accadrà al parametro impostato dopo il riavvio del dispositivo. Questa è una proprietà molto importante dei comandi AT che deve essere presa in considerazione quando si scrivono programmi. Ad esempio, il programma utilizza АОН (identificazione automatica del numero), che viene attivato dal comando AT+CLIP=1. Ma questo parametro non viene salvato, il che significa che devi attivarlo ogni volta che avvii il programma. Allo stesso tempo, la modalità DTMF (attivata dal comando AT+DDET=1) può essere salvata e il suo valore non cambierà dopo un riavvio. Il comportamento di ciascun parametro è caratterizzato da uno dei tre valori della proprietà Parameter Saving Mode:
- NO_SAVE - parametro(i) del comando non vengono salvati.
- AT&W_SAVE - parametro(i) del comando vengono salvati dal comando AT&W.
- AUTO_SAVE - parametro(i) di comando vengono salvati automaticamente.