AT příkazy jsou instrukce, které se používají k ovládání modemů.
AT znamená ATTENTION.
Tyto příkazy pocházejí od Hayes v příkazech, které byly používány chytrými modemy Hayes v 80. Mnoho dnešních modemů, včetně vytáčených, bezdrátových a GSM/GPRS modemů, používá tyto AT příkazy pro komunikaci.
Existují 2 typy modemových AT příkazů.
- Základní příkazy
- Rozšířené příkazy
Základní příkazy jsou AT příkazy, které nezačínají „+“. Rozšířené příkazy jsou AT příkazy, které začínají znakem „+“. Všechny GSM/GPRS používají rozšířené příkazy pro SMS/DATA služby.
Úloha, kterou lze provést pomocí AT příkazů
Zde je několik seznamů úloh, které lze provést pomocí AT příkazů.
- Získejte základní informace o odběrateli
- Získejte informace o síle signálu a síle baterie
- Nastavte datové/hlasové připojení
- Odesílání a přijímání faxů
- Odesílání a přijímání SMS
- Čtení/prohledávání položek telefonního seznamu
Všimněte si, že ne všechny modemy budou podporovat všechny AT příkazy.
V tomto tutoriálu ukážu příklady použití mého mobilního telefonu „Nokia 2700“, který má vestavěný GSM/GPRS modem.
Instalace minicomu
Abychom mohli odesílat AT příkazy do modemů, potřebujeme rozhraní. Minicom je nástroj, který poskytuje rozhraní pro komunikaci se zařízeními připojenými k sériovým portům. Minicom je linuxový ekvivalent k nástroji HyperTerminal v operačních systémech Microsoft.
Pomocí minicomu můžeme posílat AT příkazy do modemu, abychom získali informace o jeho vlastnostech.
# apt-get install minicom
Konfigurace minicomu pro rozhraní s modemem
Před konfigurací minicomu musíme připojit modem k linuxovému systému. V mém případě jsem svůj „Nokia 2700“ připojil datovým kabelem k počítači s linuxem. Jakmile je zařízení připojeno, uvidíte výstup podobný následujícímu pomocí dmesg. V mém případě byl modem detekován jako /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
Chcete-li nakonfigurovat minicom pro přístup k modemu, postupujte takto:
# 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 | +--------------------------+
Vyberte „Nastavení sériového portu“ a stiskněte „Enter“. Zobrazí se obrazovka podobná následující.
+-----------------------------------------------------------------------+ | 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? | +-----------------------------------------------------------------------+
Stisknutím „A“ změníte sériové zařízení z /dev/tty0 na /dev/ttyACM0.
Stisknutím „E“ změníte přenosovou rychlost, kterou modem komunikuje. V mém případě je to „460800“. Můžete také použít wvdialconf k identifikaci přenosové rychlosti podporované vaším modemem.
Jakmile tato nastavení změníte, stiskněte „Enter“.
Zvolte „Uložit nastavení jako dfl“ a vyberte „Konec“.
Nyní jsme minicom úspěšně nakonfigurovali a zobrazí se obrazovka podobná následující.
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
Chcete-li otestovat, zda jsme úspěšně nakonfigurovali minicom pro komunikaci s modemem, zadejte do minicomu „AT“. Měli byste obdržet odpověď „OK“ následovně.
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. Přijmout příchozí hovor – ATA
Chcete-li přijmout příchozí hovor přes modem, zadejte v minicomu příkaz „ATA“.
RING ATA OK
Při příchozím hovoru můžete v minicomu vidět zprávu „ZVONĚNIT“. Příchozí hovor můžete přijmout stisknutím „ATA“.
2. Vytočení a zavěšení hlasového hovoru – ATD – ATH
Můžete také vytočit hlasový hovor z modemu pomocí příkazu ATD.
ATD 99769XXXXX; OK
Nyní telefon vytočí číslo 99769XXXXX.
Chcete-li hovor zavěsit, použijte příkaz ATH.
3. Získání informací o výrobě/IMEI/IMSI
Rozšířené AT příkazy se používají k poskytování informací o výrobci, mezinárodní identitě mobilního zařízení, mezinárodní identitě mobilního předplatitele atd…
AT+CGMI Nokia OK AT+CGSN xxxxxxxxxxxxxxx OK AT+CIMI xxxxxxxxxxxxxxx OK
4. Získání kvality signálu a stavu nabití baterie
Kvalitu signálu a stav nabití baterie můžete získat také pomocí rozšířených příkazů AT.
AT+CSQ +CSQ: 29,99 OK AT+CBC +CBC: 1,96 OK
Výstupní formát +CSQ:29,99 představuje
Výstupní formát +CBC:1,96 představuje
5. Odesílání SMS pomocí AT příkazů
SMS můžete také posílat pomocí AT příkazů.
AT+CMGF=1 OK AT+CMGS="99xxxxxxxx" > This is a test message > OK
Příkaz AT+CMGF=1 nastaví „Formát zprávy“ na „textový režim“. Příkazem AT+CMGS odešlete SMS na zadané číslo.