SIM908 – AT příkazy

Pokud již máte vývojový kit SIM908 z našich či jiných stránek, pak tento článek by vám měl nastínit a uvést potřebné AT příkazy pro úspěšnou komunikaci s tímto GSM/GPRS/GPS modulem.

Ještě jedno opakování. K modulu musíte mít zapojen mikrokontrolér skrze UART. Tzn. Tx mikrokontroléru (nebo z počítače – např. přes převodník USB – UART) na Rx modulu a naopak. Dostatečný napájecí zdroj (3.2 – 4.6V) a dostatečně dimenzované přívodní napájecí vodiče – proudové špičky až 2A.

Relativně dost AT příkazů se shoduje i se SIM900 a podobnými typy.

Ke komunikaci: Modul neposílá ukončovací znak řetězce (např ) ani počet bytů, které pošle. Pokud komunikujete s modulem mikrokontrolérem, musíte tuto situaci vyřešit jinak. Naskytují se tři řešení (které mě zrovna napadlo).

Prvním z nich je timeout. V nekonečné smyčce, kde čekáte na přijatý znak dáte podmínku: pokud se nastaví flag časovače, vyskoč z cyklu. Toto řešení je velmi jednoduché, ale má jednu nevýhodu. Pokud modul pošle další zprávu po vypršení timeoutu, vy se jí nikdy nedozvíte.

Dalším řešení je čekání na řetězec rnOKrn – tímto řetězcem končí drtivá většina příchozích zpráv. Nevýhoda je ale nasnadě. Modul může poslat i jiný ukončovací řetězec. Typicky rnERRORrn. Nebo nemusí přijít žádná odpověď, i když by měla.

A posledním řešením je přijetí znaků v přerušení a vyzvednutí si řetězce po určité době. To ale je velmi podobné První možnosti. Výhodou ale je, že mikrokontrolér nečeká v nekonečné smyčce, ale může vykonávat další operace.

Při komunikaci s modulem musíte dodržet několik podmínek. V 99% instrukcí musíte odeslat i ukončovací znak = rn. Dále budu zapisovat pouze rn.

1.) Zkouška komunikace: Tento příkaz vyzkoušejte vždy jako první. Otestujete tím, zda modul vůbec komunikuje:

Odchozí zpráva: ATrn

Příchozí zpráva: ATrnrnOKrn

2.) PIN kód: Tento příkaz otestuje, zda je SIM karta blokována PIN kódem. Pro jednodušší komunikaci PIN kód zakažte.

Odchozí zpráva: AT+CPIN?rn

Příchozí zpráva: AT+CPIN?rnrn+CPIN: READYrnrnOKrn

3.) Registrace do sítě: Tento příkaz testuje, zda je modul již připojen k síti a jakým způsobem.

Odchozí zpráva: AT+CREG?rn

Příchozí zpráva: AT+CREG?rnrn+CREG: x,yrnrnOKrn

Hodnota x značí, zda je modul zaregistrován v síti, domácí síti, registrace byla zamítnuta,

registrace pouze pro SMS a další možnosti. Hodnota y značí technologie komunikace, které je

možné použít (GSM, UTRAN, HSDPA a další).

Očekávaný příchozí zpráva tedy je: AT+CREG?rnrn+CREG: 1,1rnrnOKrn

Pokud je zpráva AT+CREG?rnrn+CREG: 0,1rnrnOKrn

Odešlete následující zprávu: AT+CREG=1rn

Tím se povolí přístup do sítě (toto je nutné nastavit po prvním zapnutí modulu. Při dalších zapnutích si to modul již pamatuje).

4.) Měření signálu:

Odchozí zpráva: AT+CSQ?rn

Příchozí zpráva: AT+CSQrnrn+CSQ: xx,yrnrnOKrn

Kde xx je hodnota signálu (bylo popsáno výše) a y je bitová chybovost přenosu v procentech.

Toto jsou nejzákladnější AT příkazy sloužící k testu připojení do sítě, komunikace popřípadě měření signálu.

Například hodnota 2 znamená -109 dBm, hodnota 10 je -93dBm, kdy signál je už dostatečný pro komunikaci s BTS, hodnota 15 je -83 dBm, přičemž signál je už dobrý a od hodnoty 20, což je -73dBm a více je signál vynikající.

Po registraci do sítě již můžete například odeslat SMS zprávu.

Prvně ale otestujeme typ zpráv.

AT+CMGF?rn

Při odpovědi AT+CMGF?rn+CMGF: 1rnrnOKrn je nastaven formát textu na TEXT (což je pro další pokračování důležité). V případě odpovědi +CMGF: 0 je typ zpráv nastaven na PDU.

AT+CMGF=1rn

nastavíme formát SMS zprávy na TEXT.

Odeslání SMS provedete následující sekvencí AT příkazů:

AT+CMGS=“TelefonníČíslo“rn

Po tomto AT příkazu se čeká na přijetí znaku >

ZPRÁVArn0x1Arn

0x1A je znak pro odeslání zprávy. Je to znak Ctrl+Z sekvence a po tomto přijetí je okamžitě zpráva odeslána.
Zpráva by tedy mohla vypadat následovně:

AT+CMGS=“+420XXXyyyyyy“

> Test SMS. http://chiptron.cz

Po tomto zadání je již odeslána SMS zpráva. Očekávejte zprávu: rn+CMGS: 10rnOKrn, kde 10 je číslo odeslané SMS zprávy.

Přečtení nepřečtených SMS zpráv:

AT+CMGL=“REC UNREAD“rn

Při výpisu všech SMS zpráv zaměníme REC UNREAD za ALL, výpis přečtených zpráv REC READ.

Smazání všech zpráv:

AT+CMGDA=“DEL ALL“rn

Vypnutí modulu:

AT+CPOWD=1rn

Urgentní vypnutí modulu:

AT+CPOWD=0rn

Pokud chcete využít GPS část modulu, zapnutí provedete:

AT+CGPSPWR=1rn

Přijatá zpráva: AT+CGPSPWR=1rnrnOKrn

poté musí následovat reset modulu (v případě studeného startu)

AT+CGPSRST=0rn

Přijatá zpráva: AT+CGPSRST=0rnrnOKrn

Čtení dat z GPS můžete provést pomocí několika typů NMEA zpráv. Nejčastěji užívaná je GGA.

AT+CGPSINF=2rn

NMEA zpráva GGA může vypadat takto:

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

Vypnutí GPS části modulu provedete pomocí příkazu:

AT+CGPSPWR=0rn

Přijatá zpráva: AT+CGPSPWR=0rnrnOKrn

Další zdroje naleznete zde:
Datasheet, Reference Manual a další informace o SIM908
http://m2msupport.net/m2msupport/software-and-at-commands-for-m2m-modules/
Seznam a použití AT příkazů: http://m2msupport.net/m2msupport/atcreg-network-registration/

Sdílejte článek:
Komentáře:
121 komentářů na sociálních sítích
@TomasBajer Já mám páječku z tindie, která používá weller hroty a je skvělá, ale můj styl práce je více opravování než pájení a ta pinzeta se mi hodí více... a dost lituju, že jsem nepřikoupil větší hroty :-D ...více
Číst komentáře
- a -
Přidat svůj názor
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Aby mohl napsat další článek.

Související články

Pro vytvoření mé diplomové práce bylo nutné vytvořit nějaký vývojový kit s modulem SIM908.

Toto je první díl ze tří – úvodního kurzu Micropython na ESP32.

Daniel Skopalík sdílel návod, jak použít populární jednodeskový počítač RaspberryPi jako JTAG programátor například ESP32.

O zařízení EasyTerm jsem tu už několikrát psal (tady a tady) – jednoduchý a všestranný pomocník při vývoji.

OctopusLAB (komunitní projekt české společnosti Octopus engine s.

Byl jednou jeden červený kufřík a v něm vše, co jste si kdy přáli.