Sdílejte chiptron.cz na sociálních sítích



RSS feeds

SIM908 - AT příkazyTisk

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ř \0) 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 \r\nOK\r\n - 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 \r\nERROR\r\n. 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 = \r\n. Dále budu zapisovat pouze \r\n.

1.) Zkouška komunikace: Tento příkaz vyzkoušejte vždy jako první. Otestujete tím, zda modul vůbec komunikuje:
Odchozí zpráva: AT\r\n
Příchozí zpráva: AT\r\n\r\nOK\r\n

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?\r\n
Příchozí zpráva: AT+CPIN?\r\n\r\n+CPIN: READY\r\n\r\nOK\r\n

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?\r\n
Příchozí zpráva: AT+CREG?\r\n\r\n+CREG: x,y\r\n\r\nOK\r\n
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?\r\n\r\n+CREG: 1,1\r\n\r\nOK\r\n
Pokud je zpráva AT+CREG?\r\n\r\n+CREG: 0,1\r\n\r\nOK\r\n
Odešlete následující zprávu: AT+CREG=1\r\n
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?\r\n
Příchozí zpráva: AT+CSQ\r\n\r\n+CSQ: xx,y\r\n\r\nOK\r\n
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?\r\n
Při odpovědi AT+CMGF?\r\n+CMGF: 1\r\n\r\nOK\r\n 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=1\r\n
nastavíme formát SMS zprávy na TEXT.

Odeslání SMS provedete následující sekvencí AT příkazů:
AT+CMGS="TelefonníČíslo"\r\n
Po tomto AT příkazu se čeká na přijetí znaku >
ZPRÁVA\r\n0x1A\r\n
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: \r\n+CMGS: 10\r\nOK\r\n, kde 10 je číslo odeslané SMS zprávy.

Přečtení nepřečtených SMS zpráv:
AT+CMGL="REC UNREAD"\r\n
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"\r\n

Vypnutí modulu:
AT+CPOWD=1\r\n

Urgentní vypnutí modulu:
AT+CPOWD=0\r\n

Pokud chcete využít GPS část modulu, zapnutí provedete:
AT+CGPSPWR=1\r\n
Přijatá zpráva: AT+CGPSPWR=1\r\n\r\nOK\r\n
poté musí následovat reset modulu (v případě studeného startu)
AT+CGPSRST=0\r\n
Přijatá zpráva: AT+CGPSRST=0\r\n\r\nOK\r\n

Čtení dat z GPS můžete provést pomocí několika typů NMEA zpráv. Nejčastěji užívaná je GGA.
AT+CGPSINF=2\r\n
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=0\r\n
Přijatá zpráva: AT+CGPSPWR=0\r\n\r\nOK\r\n


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/

Upozornění

Administrátor těchto stránek ani autor článků neručí za správnost a funkčnost zde uvedených materiálů.
Administrátor těchto stránek se zříká jakékoli odpovědnosti za případné ublížení na zdraví či poškození nebo zničení majetku v důsledku elektrického proudu, chybnosti schémat nebo i teoretické výuky. Je zakázané používat zařízení, která jsou v rozporu s právními předpisy ČR či EU.
Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva.
Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ.
10,893,889 návštěv