Allgemeines:
Hier soll ein in verschiedenen Ausführungen erhältliches GSM-Modul beschrieben werden welches unter anderem zum empfangen und versenden von SMS aber auch für Gespräche und die Datenübertragung eingesetzt werden kann.
Das zugrundeliegende Modul ist um schmales Geld bei den üblichen Versendern erhältlich (Suchbegriff: mini A6 Modul).
Das besondere an diesen Modulen ist dessen Stromversorgung. Üblicherweise kann dar GSM-Chip mit max. 4.2V betrieben werden, das beschrieben Modul besitzt aber einen Spannungsregler wodurch man diese Module dann auch mit 5V betreiben kann. Es gibt aber auch Module ohne Spannungsregler aber mit einer Zenerdiode in Reihe der Stromversorgung. Auf diese Unterschiede sollte jedenfalls unbedingt bei der Anschaffung geachtet werden. Weiters haben es die Modulentwickler etwas zu gut gemeint. Zum einen wurde nicht der Lautsprecher sondern die Kopfhöreranschlüsse herausgeführt was Telefonie-Anwendungen zumindest erschwert (eigentlich würden die REC-Anschlüsse benötigt die sich am Chip neben den Ohrhöreranschlüssen befinden) und zum anderen wurde der PWR-Anschluß mittels PullUp-Widerstand fest belegt was ein softwaremäßiges abschalten des Moduls unmöglich macht da das Modul zwei Sekunden nach dem Abschalten wieder aktiviert wird.Für den reinen Betrieb als SMS-Gerät sind diese Designfehler aber nicht störend.
Das Modul selbst wird über eine serielle Schnittstelle mit verschiedenen AT-Befehlen gesteuert und gibt auch entsprechende Statusinformationen über diese Schnittstelle zurück.
Das Modul kann sich grundsätzlich automatisch auf jede Übertragungsgeschwindigkeit anpassen.
Im Grundzustand werden nach dem aktivieren der Stromversorgung die seriellen Parameter 115200,8N1 erwartet.
Das Modul kann aber auf andere Parameter ab Start konfiguriert werden z.B. auf 9600,8N1 (siehe der Befehl AT+IPR)
AT-Befehle:
Jeder Befehl wird mit CR bzw. CHR(13) abgeschlossen, auch CRLF bzw. CHR(13)+Chr(10) kann verwendet werden.
Jeder Befehl liefert ein entsprechendes Ergebnis oder eine Fehlermeldung zurück.
Befehle zur Modulkonfiguration :
AT
Rückgabe: OK wenn das Gerät bereit ist Befehle zu empfangen
Dieser Befehl kann auch zum synchronisieren der Datenübertragungsgeschwindigkeit verwendet werden indem man diesen Befehl solange wiederholt bis das Modul "OK" zurückgibt.
AT+IPR
Setzt die standardmäßige Datenübertragungsgeschwindigkeit auf eine andere als die eingestellte.
Mögliche Parameter sind: 0,2400,4800,9600,14400,19200,28800,33600,38400,57600,115200,230400,460800, 921600,1843200
Beispiel: AT+IPR=9600
Rückgabe: OK
AT+CPOF
Schaltet das Modul aus (versetzt dieses in den Power-Down-Mode)
Die Modulbauer meinten es aber besonders gut und haben auf der Platine einen Widerstand gegen +UB gelegt durch welchen das Modul wieder automatisch aufgeweckt wird.
Dies führt übrigens auch den Moduleingang PWR ad absurdum weil das Modul ohnehin automatisch gestartet wird.
Als einzig sinnvoll würde so ein Neustart des Moduls ohne mechanischen Schalter möglich sein.
Rückgabe: +CPOF: MS OFF OK
OK
AT&F
Setzt im Modul alle Parameter zurück auf dessen Fabrikseinstellungswerten.
Rückgabe: OK
ATV<typ>
Durch diesen Befehl kann das Resultat eines Ergebnisses bestimmt werden.
Es bestimmt, ob Ergebniscodes in numerischer Form oder in alphabetischer (oder "ausführlicher") Form übertragen werden.
Der Textteil der Informationsantworten ist von dieser Einstellung nicht betroffen.
<typ>=0 = Rückgabe von Ergebnissen als Code
<typ>=1 = Rückgabe von Ergebnissen als Text
# = Text
0 = "OK"
1 = "CONNECT"
2 = "RING/CRING"
3 = "NO CARRIER"
4 = "ERROR"
5 = "NO DIALTONE"
6 = "BUSY"
7 = "NO ANSWER"
8 = "NOT SUPPORT"
9 = "INVALID COMMAND LINE"
AT&W
Dieser Befehl speichert die aktuell eingestellten Parameter in einem benutzerdefinierten Profil im nichtflüchtigen Speicher.
Das benutzerdefinierte Profil wird nach dem Einschalten automatisch wiederhergestellt.
Mit dem Befehl ATZ kann das Benutzerprofil wiederhergestellt werden, und mit AT&F auf die Werkseinstellungen zurückgesetzt werden.
Bis zum ersten Einsatz von AT&W arbeitet ATZ als AT&F.
Folgende Parameter werden so im Benutzerprofil gespeichert:
ATQ result code present control
ATV Format of response and result code
ATE UART echo control
ATS0 Auto answer
ATS3 Specify Carriage return character
ATS4 Specify Linefeed character
ATS5 Command line editing character
AT+CMEE Format of errcode
AT+CMER Indicator reporting way
AT+VTD Duration of the DTMF tone
AT+COPS Operator format Network register mode
AT+CPOL Preferred operator format
AT+CPBS Phonebook storage
AT^STA Alphabet
AT+CCWA Parameter <n>
AT+CUSD Parameter <n>
AT+CLIP Parameter <n>
AT+CLIR Parameter <n>
AT+COLP Parameter <n>
AT+CSSN Parameter <n> Parameter<m>
AT^MONI Parameter <n>
AT^NONPP Parameter <n>
AT^CBCM Indicator controller
AT+VGR Receiver gain
AT+VGT Transmit gain
AT+CMUT Mute control in a voice call
AT+CGAUTO Parameter <n>
AT+IPR Parameter <rate>
Rückgabe: OK
AT+CFUN?
Fragt die Telefonfunktionalität ab
Rückgabe: +CFUN: (list of supported <fun>s), (list of supported <rst>s)
OK
<fun>:
0 minimum functionality
1 full functionality
2 disable phone transmit RF circuits only
3 disable phone receive RF circuits only
4 disable phone both transmit and receive RF circuits
5...127 reserved for manufacturers as intermediate states between full and minimum functionality
<rst>:
0 do not reset the MT before setting it to <fun> power level
1 reset the MT before setting it to <fun> power level
AT+CPAS
Dieser Befehl gibt den Aktivitätsstatus <pas> des MT zurück. Es kann verwendet werden, um das MT abzufragen, bevor eine Aktion vom Telefon angefordert wird.
Rückgabe: +CPAS:0
OK
<pas>:
0 ready (MT allows commands from TA/TE)
1 unavailable (MT does not allow commands from TA/TE)
2 unknown (MT is not guaranteed to respond to instructions)
3 ringing (MT is ready for commands from TA/TE, but the ringer is active)
4 call in progress (MT is ready for commands from TA/TE, but a call is in progress)
5 asleep (MT is unable to process commands from TA/TE because it is in a low functionality state) also all other values below 128 are reserved by the present document.
AT+CREG?
Gibt den Registrierungsstatus des Moduls im GSM-Netz zurück.
Rückgabe: +CREG:<reg>,<stat>
Bei +CREG: 1,1 ist das Modul sende- und empfangsbereit
<reg>:
0 disable network registration unsolicited result code
1 enable network registration unsolicited result code +CREG: <stat>
2 enable network registration and location information unsolicited result code +CREG: <stat>[,<lac>,<ci>]
<stat>:
0 not registered, MT is not currently searching a new operator to register to
1 registered, home network
2 not registered, but MT is currently searching a new operator to register to
3 registration denied
4 unknown
5 registered, roaming
AT+CCLK
Setzt oder fragt die RTC des Moduls ab.
RTC abfragen:
AT-CCLK?
Rückgabe: CCLK: "19/01/20,12:03:12+1" (Format ist YY/MM/DD,HH:MM:SS+Offset)
OK
RTC setzen:
AT+CCLK="19/01/20,12:02:30+1" (Format ist YY/MM/DD,HH:MM:SS+Offset)
Rückgabe: OK
Befehle für die Telefonie:
ATD<number>;
Ruft eine Telefonnummer an
<number> ist eine bis zu 20 Zeichen lange Zeichenkette welche aus den Zeichen 1,2,3,4,5,6,7,8,9,0,*,#,+,A,B,C, usw. besteht.
Der Befehl wird mit einem Semikolon (und CR) abgeschlossen.
Es sind verschiedene Rückmeldungen abhängig vom Zustand der Verbindung möglich.
Rückgabemöglichkeiten:
OK
NO ANSWER
NO CARRIER
NO DAILTONE
BUSY
CONNECT
ATH
Trennt eine zuvor aufgebaute Verbindung wieder
Rückgabe: OK
ATA
Nimmt einen Anruf an.
Dieser Anruf wird mit der Systemmeldung signalisiert:
RING
+CLIP: "02085563192",129,,,,0
Rückgabemöglichkeiten:
CONNECT
ERROR
NO CARRIER
OK
Befehle für SMS:
Das Modul kann maximal 20 Nachrichten verarbeiten (Index 1 bis 20).
Wenn dieser Speicher voll ist, meldet das Modul beim einlangen von weiteren SMS :
+CIEV: "SMSFULL",<err>
<err>:
0: memory locations are available
1: memory full
2: One SMS has been received in the SC but the SMS storage where this SMS is to be stored is full
Allfällige Nachrichten gehen nicht verloren sondern werden nach freiwerden von Speicher am nächsten verfügbaren Speicherplatz abgelegt.
SMS senden:
Zum senden von SMS sind mehrere aufeinanderfolgende Schritte durchzuführen die im folgenden erklärt werden.
AT+CMGF=1
Rückgabe: OK
AT+CMGS=<number>
Rückgabe: > (diese Rückgabe ist auf jeden Fall abzuwarten!)
<SMS-TEXT><ctrl-Z>
Hinweis: Der Text darf aus max. 160 Zeichen bestehen und ist mit CHR(26) abzuschließen, weiters ist zu beachten, dass SMS-Text aus 7-Bit-Code besteht und Sonderzeichen besonders behandelt werden müssen!
Rückgabe: +CMGS: 1
OK
SMS empfangen:
Das Modul meldet mit einer Systemmeldung den Empfang einer SMS: +CMTI: "SM",4
Das Beispiel bedeutet, dass eine SMS im Speicher "SM" mit der Indexnummer "4" abgelegt wurde.
Diese Nachricht kann mit dem Befehl AT+CMGR=4 gelesen werden. Das Modul gibt dabei folgende Struktur zurück:
+CMGR: "REC UNREAD","+xxxxxxxxxx",,"2019/01/11,11:12:13+01"
Dies ist eine Testnachricht
OK
SMS lesen:
AT+CMGR=<ind>
<ind> ist der Index unter welchem die SMS im lokalen Speicher abgelegt ist.
Das Modul gibt dabei folgende Struktur zurück:
+CMGR: "REC UNREAD","+xxxxxxxxxx",,"2019/01/11,11:12:13+01"
Dies ist eine Testnachricht
OK
SMS löschen:
AT+CMGD=<ind>
Löscht die mit <ind> bezeichnete SMS aus dem Speicher und gibt diesen Speicherplatz frei.
SMS auflisten:
AT+CMGL=<typ>
Listet alle SMS des abgefragten Typs auf.
<typ>:
"REC UNREAD" received unread message (i.e. new message)
"REC READ" received read message
"STO UNSENT" stored unsent message (only applicable to SMs)
"STO SENT" stored sent message (only applicable to SMs)
"ALL" all messages (only applicable to +CMGL command)
Ein Datensatz sieht wie im folgenden Beispiel dargestellt wird, aus:
+CMGL: 4,"REC READ","absendernummer",,"2019/01/14,15:36:16+01"<CRLF>
Dies ist eine Testnachricht
+CMGL: <index>, <typ>, <absender>,,<datum,zeit+offset><CRLF>
Nachrichtentext
HINWEIS: Aufgrund der Größe eines derartigen Datensatzes sollte darauf geachtet werden dass so bis zu 20 derartige Datensätze gesendet werden.
Diese Menge muss der Empfänger auch verarbeiten können und wird das nur bei ausreichend großen Buffer tun! Normale Microcontroller werden dies nicht tun können!
Allfällige Fehlermeldungen haben folgende Bedeutung:
+CMS ERROR:<err>
<err>:
Hier soll ein in verschiedenen Ausführungen erhältliches GSM-Modul beschrieben werden welches unter anderem zum empfangen und versenden von SMS aber auch für Gespräche und die Datenübertragung eingesetzt werden kann.
Das zugrundeliegende Modul ist um schmales Geld bei den üblichen Versendern erhältlich (Suchbegriff: mini A6 Modul).
Das besondere an diesen Modulen ist dessen Stromversorgung. Üblicherweise kann dar GSM-Chip mit max. 4.2V betrieben werden, das beschrieben Modul besitzt aber einen Spannungsregler wodurch man diese Module dann auch mit 5V betreiben kann. Es gibt aber auch Module ohne Spannungsregler aber mit einer Zenerdiode in Reihe der Stromversorgung. Auf diese Unterschiede sollte jedenfalls unbedingt bei der Anschaffung geachtet werden. Weiters haben es die Modulentwickler etwas zu gut gemeint. Zum einen wurde nicht der Lautsprecher sondern die Kopfhöreranschlüsse herausgeführt was Telefonie-Anwendungen zumindest erschwert (eigentlich würden die REC-Anschlüsse benötigt die sich am Chip neben den Ohrhöreranschlüssen befinden) und zum anderen wurde der PWR-Anschluß mittels PullUp-Widerstand fest belegt was ein softwaremäßiges abschalten des Moduls unmöglich macht da das Modul zwei Sekunden nach dem Abschalten wieder aktiviert wird.Für den reinen Betrieb als SMS-Gerät sind diese Designfehler aber nicht störend.
Das Modul selbst wird über eine serielle Schnittstelle mit verschiedenen AT-Befehlen gesteuert und gibt auch entsprechende Statusinformationen über diese Schnittstelle zurück.
Das Modul kann sich grundsätzlich automatisch auf jede Übertragungsgeschwindigkeit anpassen.
Im Grundzustand werden nach dem aktivieren der Stromversorgung die seriellen Parameter 115200,8N1 erwartet.
Das Modul kann aber auf andere Parameter ab Start konfiguriert werden z.B. auf 9600,8N1 (siehe der Befehl AT+IPR)
AT-Befehle:
Jeder Befehl wird mit CR bzw. CHR(13) abgeschlossen, auch CRLF bzw. CHR(13)+Chr(10) kann verwendet werden.
Jeder Befehl liefert ein entsprechendes Ergebnis oder eine Fehlermeldung zurück.
Befehle zur Modulkonfiguration :
AT
Rückgabe: OK wenn das Gerät bereit ist Befehle zu empfangen
Dieser Befehl kann auch zum synchronisieren der Datenübertragungsgeschwindigkeit verwendet werden indem man diesen Befehl solange wiederholt bis das Modul "OK" zurückgibt.
AT+IPR
Setzt die standardmäßige Datenübertragungsgeschwindigkeit auf eine andere als die eingestellte.
Mögliche Parameter sind: 0,2400,4800,9600,14400,19200,28800,33600,38400,57600,115200,230400,460800, 921600,1843200
Beispiel: AT+IPR=9600
Rückgabe: OK
AT+CPOF
Schaltet das Modul aus (versetzt dieses in den Power-Down-Mode)
Die Modulbauer meinten es aber besonders gut und haben auf der Platine einen Widerstand gegen +UB gelegt durch welchen das Modul wieder automatisch aufgeweckt wird.
Dies führt übrigens auch den Moduleingang PWR ad absurdum weil das Modul ohnehin automatisch gestartet wird.
Als einzig sinnvoll würde so ein Neustart des Moduls ohne mechanischen Schalter möglich sein.
Rückgabe: +CPOF: MS OFF OK
OK
AT&F
Setzt im Modul alle Parameter zurück auf dessen Fabrikseinstellungswerten.
Rückgabe: OK
ATV<typ>
Durch diesen Befehl kann das Resultat eines Ergebnisses bestimmt werden.
Es bestimmt, ob Ergebniscodes in numerischer Form oder in alphabetischer (oder "ausführlicher") Form übertragen werden.
Der Textteil der Informationsantworten ist von dieser Einstellung nicht betroffen.
<typ>=0 = Rückgabe von Ergebnissen als Code
<typ>=1 = Rückgabe von Ergebnissen als Text
# = Text
0 = "OK"
1 = "CONNECT"
2 = "RING/CRING"
3 = "NO CARRIER"
4 = "ERROR"
5 = "NO DIALTONE"
6 = "BUSY"
7 = "NO ANSWER"
8 = "NOT SUPPORT"
9 = "INVALID COMMAND LINE"
AT&W
Dieser Befehl speichert die aktuell eingestellten Parameter in einem benutzerdefinierten Profil im nichtflüchtigen Speicher.
Das benutzerdefinierte Profil wird nach dem Einschalten automatisch wiederhergestellt.
Mit dem Befehl ATZ kann das Benutzerprofil wiederhergestellt werden, und mit AT&F auf die Werkseinstellungen zurückgesetzt werden.
Bis zum ersten Einsatz von AT&W arbeitet ATZ als AT&F.
Folgende Parameter werden so im Benutzerprofil gespeichert:
ATQ result code present control
ATV Format of response and result code
ATE UART echo control
ATS0 Auto answer
ATS3 Specify Carriage return character
ATS4 Specify Linefeed character
ATS5 Command line editing character
AT+CMEE Format of errcode
AT+CMER Indicator reporting way
AT+VTD Duration of the DTMF tone
AT+COPS Operator format Network register mode
AT+CPOL Preferred operator format
AT+CPBS Phonebook storage
AT^STA Alphabet
AT+CCWA Parameter <n>
AT+CUSD Parameter <n>
AT+CLIP Parameter <n>
AT+CLIR Parameter <n>
AT+COLP Parameter <n>
AT+CSSN Parameter <n> Parameter<m>
AT^MONI Parameter <n>
AT^NONPP Parameter <n>
AT^CBCM Indicator controller
AT+VGR Receiver gain
AT+VGT Transmit gain
AT+CMUT Mute control in a voice call
AT+CGAUTO Parameter <n>
AT+IPR Parameter <rate>
Rückgabe: OK
AT+CFUN?
Fragt die Telefonfunktionalität ab
Rückgabe: +CFUN: (list of supported <fun>s), (list of supported <rst>s)
OK
<fun>:
0 minimum functionality
1 full functionality
2 disable phone transmit RF circuits only
3 disable phone receive RF circuits only
4 disable phone both transmit and receive RF circuits
5...127 reserved for manufacturers as intermediate states between full and minimum functionality
<rst>:
0 do not reset the MT before setting it to <fun> power level
1 reset the MT before setting it to <fun> power level
AT+CPAS
Dieser Befehl gibt den Aktivitätsstatus <pas> des MT zurück. Es kann verwendet werden, um das MT abzufragen, bevor eine Aktion vom Telefon angefordert wird.
Rückgabe: +CPAS:0
OK
<pas>:
0 ready (MT allows commands from TA/TE)
1 unavailable (MT does not allow commands from TA/TE)
2 unknown (MT is not guaranteed to respond to instructions)
3 ringing (MT is ready for commands from TA/TE, but the ringer is active)
4 call in progress (MT is ready for commands from TA/TE, but a call is in progress)
5 asleep (MT is unable to process commands from TA/TE because it is in a low functionality state) also all other values below 128 are reserved by the present document.
AT+CREG?
Gibt den Registrierungsstatus des Moduls im GSM-Netz zurück.
Rückgabe: +CREG:<reg>,<stat>
Bei +CREG: 1,1 ist das Modul sende- und empfangsbereit
<reg>:
0 disable network registration unsolicited result code
1 enable network registration unsolicited result code +CREG: <stat>
2 enable network registration and location information unsolicited result code +CREG: <stat>[,<lac>,<ci>]
<stat>:
0 not registered, MT is not currently searching a new operator to register to
1 registered, home network
2 not registered, but MT is currently searching a new operator to register to
3 registration denied
4 unknown
5 registered, roaming
AT+CCLK
Setzt oder fragt die RTC des Moduls ab.
RTC abfragen:
AT-CCLK?
Rückgabe: CCLK: "19/01/20,12:03:12+1" (Format ist YY/MM/DD,HH:MM:SS+Offset)
OK
RTC setzen:
AT+CCLK="19/01/20,12:02:30+1" (Format ist YY/MM/DD,HH:MM:SS+Offset)
Rückgabe: OK
Befehle für die Telefonie:
ATD<number>;
Ruft eine Telefonnummer an
<number> ist eine bis zu 20 Zeichen lange Zeichenkette welche aus den Zeichen 1,2,3,4,5,6,7,8,9,0,*,#,+,A,B,C, usw. besteht.
Der Befehl wird mit einem Semikolon (und CR) abgeschlossen.
Es sind verschiedene Rückmeldungen abhängig vom Zustand der Verbindung möglich.
Rückgabemöglichkeiten:
OK
NO ANSWER
NO CARRIER
NO DAILTONE
BUSY
CONNECT
ATH
Trennt eine zuvor aufgebaute Verbindung wieder
Rückgabe: OK
ATA
Nimmt einen Anruf an.
Dieser Anruf wird mit der Systemmeldung signalisiert:
RING
+CLIP: "02085563192",129,,,,0
Rückgabemöglichkeiten:
CONNECT
ERROR
NO CARRIER
OK
Befehle für SMS:
Das Modul kann maximal 20 Nachrichten verarbeiten (Index 1 bis 20).
Wenn dieser Speicher voll ist, meldet das Modul beim einlangen von weiteren SMS :
+CIEV: "SMSFULL",<err>
<err>:
0: memory locations are available
1: memory full
2: One SMS has been received in the SC but the SMS storage where this SMS is to be stored is full
Allfällige Nachrichten gehen nicht verloren sondern werden nach freiwerden von Speicher am nächsten verfügbaren Speicherplatz abgelegt.
SMS senden:
Zum senden von SMS sind mehrere aufeinanderfolgende Schritte durchzuführen die im folgenden erklärt werden.
AT+CMGF=1
Rückgabe: OK
AT+CMGS=<number>
Rückgabe: > (diese Rückgabe ist auf jeden Fall abzuwarten!)
<SMS-TEXT><ctrl-Z>
Hinweis: Der Text darf aus max. 160 Zeichen bestehen und ist mit CHR(26) abzuschließen, weiters ist zu beachten, dass SMS-Text aus 7-Bit-Code besteht und Sonderzeichen besonders behandelt werden müssen!
Rückgabe: +CMGS: 1
OK
SMS empfangen:
Das Modul meldet mit einer Systemmeldung den Empfang einer SMS: +CMTI: "SM",4
Das Beispiel bedeutet, dass eine SMS im Speicher "SM" mit der Indexnummer "4" abgelegt wurde.
Diese Nachricht kann mit dem Befehl AT+CMGR=4 gelesen werden. Das Modul gibt dabei folgende Struktur zurück:
+CMGR: "REC UNREAD","+xxxxxxxxxx",,"2019/01/11,11:12:13+01"
Dies ist eine Testnachricht
OK
SMS lesen:
AT+CMGR=<ind>
<ind> ist der Index unter welchem die SMS im lokalen Speicher abgelegt ist.
Das Modul gibt dabei folgende Struktur zurück:
+CMGR: "REC UNREAD","+xxxxxxxxxx",,"2019/01/11,11:12:13+01"
Dies ist eine Testnachricht
OK
SMS löschen:
AT+CMGD=<ind>
Löscht die mit <ind> bezeichnete SMS aus dem Speicher und gibt diesen Speicherplatz frei.
SMS auflisten:
AT+CMGL=<typ>
Listet alle SMS des abgefragten Typs auf.
<typ>:
"REC UNREAD" received unread message (i.e. new message)
"REC READ" received read message
"STO UNSENT" stored unsent message (only applicable to SMs)
"STO SENT" stored sent message (only applicable to SMs)
"ALL" all messages (only applicable to +CMGL command)
Ein Datensatz sieht wie im folgenden Beispiel dargestellt wird, aus:
+CMGL: 4,"REC READ","absendernummer",,"2019/01/14,15:36:16+01"<CRLF>
Dies ist eine Testnachricht
+CMGL: <index>, <typ>, <absender>,,<datum,zeit+offset><CRLF>
Nachrichtentext
HINWEIS: Aufgrund der Größe eines derartigen Datensatzes sollte darauf geachtet werden dass so bis zu 20 derartige Datensätze gesendet werden.
Diese Menge muss der Empfänger auch verarbeiten können und wird das nur bei ausreichend großen Buffer tun! Normale Microcontroller werden dies nicht tun können!
Allfällige Fehlermeldungen haben folgende Bedeutung:
+CMS ERROR:<err>
<err>:
# | Bedeutung | kommt vor bei |
301 | SMS service of ME reserved | +CSMS (with +CMS: ERROR 301) |
302 | Operation not allowed | All SMS commands (+CMSS, +CMGL, +CPMS, +CSMP... |
303 | Operation not supported | All SMS commands |
304 | Invalid PDU mode parameter | +CMGS, +CMGW |
305 | Invalid text mode parameter | +CMGS, +CMGW, +CMSS |
310 | SIM not inserted | All SMS commands |
311 | SIM PIN required | All SMS commands |
312 | PH-SIM PIN required | All SMS commands |
313 | SIM failure | All SMS commands |
316 | SIM PUK required | All SMS commands |
317 | SIM PIN2 required | All SMS commands |
318 | SIM PUK2 required | All SMS commands |
321 | Invalid memory index | +CMGR, +CMSS, +CMGD |
322 | SIM or ME memory full | +CMGW |
330 | SC address unknown | +CSCA?, +CMSS, +CMGS |
340 | no +CNMA acknowledgement expected | +CNMA |
4.695 mal gelesen