Přeskočit na hlavní obsah

Přehled AT příkazů

Tato stránka uvádí všechny AT příkazy implementované ve firmwaru GLIDER. AT příkazy se zadávají přes konzoli USB-C.

tip

Hledáte odpovídající příkazy Zephyr shellu (používané přes J-Link nebo přes AT$SHELL="…" z AT konzole)? Podívejte se na stránku Příkazy shellu.

Parser je ATCI (AT Command Interpreter) od HARDWARIO. Každý příkaz začíná prefixem AT; některé přijímají čtyři různé operace popsané níže.

1. Syntaxe ATCI

Parser ATCI podporuje čtyři operace pro každý příkaz AT<CMD>:

TypTvarVýznam
AkceAT<CMD>Provede akci bez parametrů.
NastaveníAT<CMD>=<value>Zápis / konfigurace.
ČteníAT<CMD>?Přečte aktuální hodnotu.
TestAT<CMD>=?Získá metadata: rozsah, typ, výchozí hodnotu, nápovědu.

Asynchronní zprávy

Zařízení občas vysílá nevyžádané zprávy, například po startu:

ZprávaKdy
@BOOTVysláno po dokončení app_init.
@LOG:<level>:<message>Řádky logu z firmwaru.

2. Katalog příkazů

2.1 Systém / správa sezení

PříkazOperacePopis
AT+CLACakceVypíše všechny registrované AT příkazy.
AT$HELPakceTotéž jako AT+CLAC, ale s nápovědou.
AT$CRC=<0|1|2>nastaveníRežim CRC: 0 vypnuto, 1 striktní, 2 volitelné.
AT$CRC?čteníAktuální režim CRC.
AT$SHELL="<command>"nastaveníSpustí libovolný příkaz Zephyr shellu a jeho výstup vrátí jako $SHELL: "<line>".
AT$REBOOTakceRestartuje zařízení (vyžaduje CONFIG_HIO_ATCI_CMD_REBOOT=y).

2.2 Informace o zařízení (hio_info)

PříkazOperaceOdpověď / popis
ATIakce"<product-name>[-<hw-variant>]-<hw-revision>"
AT+CGMIakce+CGMI: "<vendor-name>"
AT+CGMMakce+CGMM: "<product-name>"
AT+CGMRakce+CGMR: "<hw-revision>"
AT+CGSNakce+CGSN: "<serial-number>"
AT$INFO?čteníVypíše všechny informační položky jako $INFO: "<key>","<value>".
AT$INFO="<key>"nastaveníPřečte jednu položku podle klíče.
AT$INFO=?testVypíše schéma informací (klíče, typy, popisy).

2.3 Konfigurace (hio_config)

PříkazOperacePopis
AT$CONFIG?čteníVypíše všechny konfigurační položky ze všech modulů.
AT$CONFIG="<module>"nastaveníVypíše všechny položky daného modulu.
AT$CONFIG="<module>","<key>"nastaveníPřečte jednu položku.
AT$CONFIG="<module>","<key>",<value>nastaveníZapíše položku (řetězce musí být v uvozovkách).
AT$CONFIG=?testVypíše schéma konfigurace: modul, klíč, typ, rozsah, výchozí hodnotu, popis.
AT&WakceUloží konfiguraci do flash a restartuje zařízení.
AT&FakceObnoví výrobní nastavení konfigurace a restartuje zařízení.

Příklad – změna intervalu odesílání

AT$CONFIG="app","interval-send",60
AT&W

2.4 Aktualizace firmwaru / DFU (hio_atci_cmd_fw)

PříkazOperacePopis
AT$FW?čteníVypíše confirmed, version a swap type aktivního obrazu.
AT$FW="info"nastaveníPodrobný výpis primárního a sekundárního slotu (verze, magic, stav swapu, image-ok, …).
AT$FW="start",<size>nastaveníSpustí DFU sezení pro obraz o velikosti <size> bajtů.
AT$FW="chunk",<offset>,"<hex>"nastaveníZapíše blok hexadecimálně zakódovaných dat na daný offset (hex payload je v uvozovkách).
AT$FW="done"nastaveníDokončí přenos a naplánuje swap při dalším startu.
AT$FW="confirm"nastaveníOznačí běžící obraz jako funkční po úspěšném testovacím startu.

DFU stream obvykle nesestavujete ručně, použijte pomocný nástroj west bin-to-at:

west bin-to-at --output-file update.at

Bez parametru --input-file nástroj automaticky použije build/*/zephyr/zephyr.signed.bin. Výsledný soubor odešlete do AT konzole pomocí:

west serial-console --input update.at

Kompletní postup krok za krokem (včetně AT$FW="confirm" po restartu) najdete na stránce Aplikace přes AT (USB-C).

3. Chybové kódy

KódVýznam
ERROR: "Invalid command"Příkaz nezačíná na AT (-ENOMSG).
ERROR: "Command not found"Neznámý AT příkaz (-ENOEXEC).
ERROR: "Command not supported"Příkaz nepodporuje požadovaný typ operace (-ENOTSUP).
ERROR: "Invalid argument"Chybný formát argumentu (-EINVAL).
ERROR: "Permission denied"Nedostatečná autorizace (-EACCES).
ERROR: "Out of memory"-ENOMEM.
ERROR: "I/O error"-EIO.
ERROR: "Invalid CRC format"Přípona CRC má chybný formát.
ERROR: "CRC mismatch"CRC neodpovídá zprávě.

4. Spouštění příkazů shellu z AT

AT$SHELL je most k Zephyr shellu. Cokoli, co lze zadat do konzole RTT, lze spustit i přes AT$SHELL:

AT$SHELL="therm state"
AT$SHELL="therm scan"
AT$SHELL="therm scan --save"
AT$SHELL="kernel reboot cold"
AT$SHELL="log disable"
AT$SHELL="log enable wrn"

Standardní výstup shellu se vrací jako řádky $SHELL: "<line>", následované OK (nebo ERROR).

Kompletní sada příkazů shellu je popsána na stránce Příkazy shellu.