Komendy AT w modemie GSM i LTE - praktyczna diagnostyka

Artur Wójcik .

9 listopada 2026

Srebrne urządzenie ASTRAADA z anteną, slotem SIM, portami DATA, GSM, PWR. Komendy AT sterują jego funkcjami.

Gdy modem GSM, LTE albo NB-IoT nie chce połączyć się z siecią, sama kontrolka zasięgu zwykle mówi za mało. Wtedy do gry wchodzą komendy AT, czyli tekstowe polecenia wysyłane do modułu przez UART, USB lub wirtualny port szeregowy. Pokażę, jak czytać ich składnię, które polecenia są najbardziej użyteczne, jak skonfigurować transmisję danych i gdzie szukać przyczyn błędów.

Najważniejsze zasady pracy z modemem przez interfejs AT

  • AT oznacza polecenie skierowane do modemu i zwykle kończy się znakiem powrotu karetki.
  • AT+CSQ, AT+CEREG? i AT+CGATT? pozwalają szybko ocenić zasięg oraz rejestrację w sieci.
  • AT+CGDCONT definiuje profil transmisji danych, w tym nazwę APN operatora.
  • AT+CMGF=1 przełącza modem w tekstowy tryb obsługi wiadomości SMS.
  • Lista poleceń nie jest identyczna dla każdego urządzenia, dlatego dokumentacja konkretnego modemu ma pierwszeństwo przed ogólnymi przykładami.

Schemat przedstawia redundancję połączeń: ścieżka 1, ścieżka 2 (zastępcza) i ścieżka 3 (3G/4G LTE) łączą urządzenia z stacją nadzorczą SCADA.

Do czego służą polecenia AT i jak wygląda komunikacja

Polecenia AT wywodzą się z zestawu Hayes i pierwotnie służyły do obsługi modemów telefonicznych. Skrót AT pochodzi od angielskiego attention, czyli „uwaga”. W urządzeniach komórkowych ten prosty mechanizm rozbudowano o obsługę karty SIM, rejestracji w sieci, SMS-ów, transmisji pakietowej, GNSS, połączeń głosowych i protokołów IoT.

Komputer lub mikrokontroler pełni rolę terminala, a modem jest urządzeniem wykonawczym. Komunikacja odbywa się jako ciąg znaków ASCII przez UART albo interfejs USB udostępniający jeden lub kilka portów szeregowych. Najczęściej polecenie trzeba zakończyć znakiem CR, czyli \r, a modem odpowiada komunikatem takim jak OK, ERROR lub szczegółowym wynikiem.

Najprostszy test wygląda tak:

AT
OK

Jeżeli nie pojawia się odpowiedź, problemem może być nie tylko modem. Trzeba sprawdzić prędkość transmisji, bity danych, port COM, przewód USB, poziomy napięć oraz to, czy wybrany port faktycznie jest portem AT. W wielu modemach jeden interfejs służy do poleceń, drugi do diagnostyki, a kolejny do transmisji danych.

Trzy sposoby użycia tego samego polecenia

Rozszerzone polecenia mają zwykle prefiks AT+. Mogą służyć do odczytu ustawień, ich zmiany albo sprawdzenia, jakie wartości obsługuje urządzenie. Dobrze widać to na przykładzie konfiguracji trybu SMS:

Rodzaj Przykład Znaczenie
Wykonanie AT+CMGF=1 Ustawia tekstowy tryb SMS
Odczyt AT+CMGF? Sprawdza bieżący tryb
Test AT+CMGF=? Pokazuje obsługiwane wartości

Ta różnica jest praktycznie ważna. Polecenie testowe nie zawsze mówi, czy dana funkcja działa w konkretnej sieci, tylko czy firmware modemu ją przewiduje. Z kolei poprawna odpowiedź OK potwierdza przyjęcie instrukcji, ale nie zawsze oznacza zakończenie całej operacji sieciowej.

Najbardziej przydatne komendy AT w codziennej pracy

Nie ma jednej krótkiej listy pasującej do każdego urządzenia, ale pewien zestaw powtarza się w modemach GSM i LTE. Ja zaczynam diagnostykę od poleceń informacyjnych, a dopiero później zmieniam konfigurację. Dzięki temu łatwiej odróżnić problem sprzętowy od błędnego APN-u lub braku rejestracji.

Polecenie Zastosowanie Co sprawdzić w odpowiedzi
ATI Informacje o module i firmware Model, wersja oprogramowania, producent
AT+CPIN? Status karty SIM Czy karta jest gotowa, zablokowana kodem PIN lub nieobecna
AT+CSQ Poziom sygnału i jakość odbioru RSSI oraz parametr BER
AT+CREG? Rejestracja w sieci GSM Status dostępu do sieci komutowanej
AT+CEREG? Rejestracja LTE lub EPS Status rejestracji urządzenia w sieci pakietowej
AT+COPS? Wybrany operator Nazwa lub kod operatora oraz technologia dostępu
AT+CGATT? Status dołączenia do usługi pakietowej Wartość 1 oznacza dołączenie, 0 brak dołączenia
AT+CMEE=2 Szczegółowe komunikaty błędów Opis zamiast samego ogólnego ERROR

Wynik AT+CSQ często ma postać +CSQ: 20,99. Pierwsza liczba mieści się zwykle w zakresie 0-31, gdzie wyższa wartość oznacza silniejszy sygnał, a 99 oznacza brak wiarygodnego pomiaru. Nie traktuję jednak tej liczby jako pełnej oceny jakości połączenia. W LTE równie ważne mogą być RSRP, RSRQ i SINR, dostępne przez polecenia producenta.

Przy rejestracji w sieci często spotyka się wartości 0, 1, 2 i 3. W uproszczeniu 1 oznacza rejestrację, 2 wyszukiwanie sieci, a 3 odrzucenie rejestracji. Dokładne znaczenie zależy od polecenia i standardu, dlatego sam status trzeba interpretować razem z komunikatem operatora oraz trybem pracy modemu.

Jak krok po kroku uruchomić transmisję danych

Najczęstszy błąd polega na próbie uruchomienia internetu zanim modem zaloguje się do sieci. Sama obecność karty SIM nie wystarcza. Potrzebne są jeszcze poprawny APN, dostęp do usługi danych, odpowiedni tryb radiowy i czas na zakończenie procedury rejestracji.

  1. Sprawdź komunikację poleceniem AT i odczytaj model przez ATI.
  2. Zweryfikuj kartę SIM za pomocą AT+CPIN?.
  3. Oceń sygnał poleceniem AT+CSQ.
  4. Sprawdź rejestrację przez AT+CEREG? lub, zależnie od technologii, AT+CREG?.
  5. Ustaw APN w profilu kontekstu PDP.
  6. Aktywuj połączenie danych zgodnie z instrukcją danego modułu.

Przykładowa definicja profilu może wyglądać tak:

AT+CGDCONT=1,"IP","internet"
OK

Wartość internet jest tylko przykładem. APN zależy od operatora, rodzaju karty i umowy. Karta telemetryczna może korzystać z prywatnego APN-u, a karta konsumencka z innej nazwy. Błędny APN jest jedną z najczęstszych przyczyn sytuacji, w której modem ma zasięg, lecz nie otrzymuje adresu IP.

W starszych konfiguracjach PPP spotyka się polecenie ATD*99#. Współczesne modemy LTE często pracują jednak przez QMI, MBIM, ECM albo NCM, a wtedy samo wybieranie numeru nie uruchamia transmisji. To ważne rozróżnienie przy pracy z Linuksem, routerem lub mikrokontrolerem, ponieważ interfejs AT może służyć tylko do konfiguracji, podczas gdy dane płyną innym kanałem USB.

Przykład wysłania wiadomości SMS

Do obsługi SMS w trybie tekstowym można użyć następującej sekwencji:

AT+CMGF=1
AT+CSCS="GSM"
AT+CMGS="+48123123123"
Treść wiadomości

Po wpisaniu numeru modem zwykle wyświetla znak zachęty >. Treść kończy się znakiem Ctrl+Z, zapisanym w przykładzie jako kod 26. Nie każdy modem obsługuje polskie znaki w podstawowym alfabecie GSM. Gdy wiadomość zawiera znaki spoza tego alfabetu, urządzenie może przełączyć ją na Unicode, co zmniejsza maksymalną długość pojedynczego SMS-a.

Jak diagnozować brak zasięgu, sieci lub internetu

Najlepiej diagnozować problem warstwami. Nie zaczynam od ręcznego wyboru operatora ani od resetowania ustawień, bo takie działania często zaciemniają obraz. Najpierw ustalam, czy modem widzi kartę SIM, potem czy widzi sieć, a na końcu czy uzyskał dostęp do transmisji danych.

Objaw Pierwsze polecenia Możliwa przyczyna
Brak jakiejkolwiek odpowiedzi AT, ATE0 Zły port, prędkość UART, przewód lub poziom napięć
SIM niegotowa AT+CPIN? PIN, uszkodzona karta, brak styku lub niezgodność napięcia
Słaby albo nieznany sygnał AT+CSQ Antena, lokalizacja, zakłócenia lub nieobsługiwane pasmo
Brak rejestracji LTE AT+CEREG?, AT+COPS? Brak zasięgu, roaming, ograniczenie karty lub trybu radiowego
Jest sieć, ale nie ma internetu AT+CGATT?, profil AT+CGDCONT Niepoprawny APN, brak usługi danych lub problem z PDP
Ogólny komunikat ERROR AT+CMEE=2 Niepoprawna składnia albo polecenie niedostępne w firmware

Ręczny wybór operatora przez AT+COPS zostawiam na później. Automatyczny wybór jest zwykle bezpieczniejszy, szczególnie gdy urządzenie ma działać w roamingu lub przemieszczać się między stacjami bazowymi. Wymuszenie konkretnej technologii, na przykład LTE-only, może pomóc w testach, ale w realnej instalacji czasem pogarsza niezawodność.

Jeżeli urządzenie odpowiada znakami bez sensu, najpierw sprawdzam baud rate, czyli szybkość transmisji. Popularne wartości to 9600, 115200 i 921600 bit/s, ale wiele modułów ma automatyczne wykrywanie prędkości. Niektóre porty wymagają także ustawienia zakończenia linii na CR albo CRLF. Terminal wysyłający samo LF może sprawić, że poprawne polecenie będzie wyglądało jak niepełne.

Standardowe polecenia a rozszerzenia producenta

Podstawy opisują zalecenia V.250 oraz standardy 3GPP, między innymi TS 27.007 dla urządzeń mobilnych i TS 27.005 dla usług SMS. Dzięki temu polecenia takie jak AT, ATI, AT+CSQ czy AT+CMGF są podobne w wielu urządzeniach. Podobieństwo nie oznacza jednak pełnej zamienności.

Producenci dodają własne rozszerzenia do obsługi TCP/IP, MQTT, GNSS, aktualizacji firmware, trybów USB i diagnostyki radiowej. W modemach można spotkać między innymi polecenia zaczynające się od AT+Q, AT+CIP albo inne prefiksy charakterystyczne dla konkretnej rodziny. Nie wolno zakładać, że polecenie z dokumentacji Quectel zadziała w module SIMCom, nawet jeśli oba urządzenia obsługują LTE.

Przeczytaj również: Zasięg Zigbee - Jak działa i jak go poprawić w domu?

Jak bezpiecznie testować konfigurację

Przed zmianą ustawień zapisuję bieżące wartości poleceniami odczytu, jeśli modem je udostępnia. Przydatne są też ATE0, które wyłącza echo wpisywanych znaków, oraz AT+CMEE=2, które zwiększa szczegółowość komunikatów o błędach.

  • Wysyłaj jedno polecenie naraz i czekaj na odpowiedź końcową.
  • Nie zakładaj, że OK oznacza natychmiastową rejestrację w sieci.
  • Przy operacjach sieciowych uwzględnij czas oczekiwania od kilku sekund do nawet kilkudziesięciu sekund.
  • Nie zapisuj konfiguracji do pamięci przed zakończeniem testów.
  • Przechowuj w logach pełne odpowiedzi, w tym kody +CME ERROR.

Ostrożność przy zapisie ustawień ma znaczenie, bo błędny profil może przetrwać restart i utrudnić późniejszy dostęp do modemu. W urządzeniu produkcyjnym dobrze ograniczyć możliwość wysyłania poleceń do warstwy aplikacji, zwłaszcza gdy interfejs AT jest dostępny przez niezabezpieczony port USB lub zdalny kanał serwisowy.

Praktyczne zasady, które oszczędzają czas przy wdrożeniu

W prototypie można wpisywać polecenia ręcznie w terminalu. W gotowym urządzeniu potrzebna jest jednak mała maszyna stanów, która rozpoznaje odpowiedzi, pilnuje limitów czasu i ponawia tylko te operacje, które mają sens. Ślepe wysyłanie tej samej komendy co sekundę często kończy się przepełnieniem bufora albo nakładaniem się odpowiedzi.

W kodzie warto rozdzielić trzy rodzaje wyników. Odpowiedź pośrednia, taka jak +CEREG: 0,2, informuje o stanie. Odpowiedź końcowa, na przykład OK lub ERROR, zamyka operację. Trzecią grupą są komunikaty spontaniczne, które modem może wysłać bez wcześniejszego zapytania, na przykład informację o nadejściu SMS-a lub zmianie rejestracji.

Największą różnicę w stabilności robi zwykle nie znajomość setek poleceń, lecz poprawne zarządzanie stanem modemu. Dokumentuję model, wersję firmware, ustawienia portu, używany APN i oczekiwane odpowiedzi. Dzięki temu wymiana modułu na inną rewizję nie zamienia się w zgadywanie, dlaczego dotychczasowa sekwencja przestała działać.

Od krótkiego testu do stabilnego interfejsu

Najprostszy zestaw do pierwszej kontroli to AT, ATI, AT+CPIN?, AT+CSQ i AT+CEREG?. Pozwala szybko ustalić, czy działa komunikacja, karta SIM, sygnał oraz rejestracja. Dopiero po tych testach przechodzę do APN-u, SMS-ów i połączeń IP.

Jeżeli polecenie nie działa, nie oznacza to od razu awarii. Przyczyną może być inny firmware, niedostępna funkcja, niewłaściwy tryb pracy albo różnica między standardowym poleceniem a rozszerzeniem producenta. Najpewniejsza metoda to połączenie krótkiej sekwencji diagnostycznej z dokumentacją konkretnego modelu i logowaniem pełnych odpowiedzi.

FAQ - Najczęstsze pytania

Najpierw wyślij AT i ATI, aby potwierdzić komunikację oraz sprawdzić model i firmware. Następnie użyj AT+CPIN? do kontroli karty SIM, AT+CSQ do oceny sygnału oraz AT+CEREG? lub AT+CREG? do sprawdzenia rejestracji. Jeśli modem zwraca tylko ERROR, włącz szczegółowe komunikaty poleceniem AT+CMEE=2.
Profil transmisji danych można zdefiniować przykładowo poleceniem AT+CGDCONT=1,"IP","internet". Nazwa internet jest tylko przykładem i musi odpowiadać operatorowi oraz rodzajowi karty. Przy poprawnym zasięgu brak internetu może wynikać z błędnego APN-u, braku usługi danych albo nieaktywnego połączenia PDP.
W odpowiedzi +CSQ: 20,99 pierwsza liczba określa poziom sygnału w typowym zakresie 0-31, a wartość 99 oznacza brak wiarygodnego pomiaru parametru BER. W poleceniu rejestracji wartość 1 zwykle oznacza rejestrację, 2 wyszukiwanie sieci, a 3 odrzucenie rejestracji. W LTE pełniejszej oceny mogą wymagać także parametry RSRP, RSRQ i SINR dostępne w poleceniach producenta.
Włącz tryb tekstowy poleceniem AT+CMGF=1, ustaw zestaw znaków przez AT+CSCS="GSM", a następnie wyślij AT+CMGS="+48123123123". Po znaku zachęty > wpisz treść i zakończ ją kodem Ctrl+Z, czyli 26. Znaki spoza podstawowego alfabetu GSM mogą przełączyć wiadomość na Unicode i zmniejszyć jej maksymalną długość.
Oceń artykuł

Średnia: 0.0 / 5 · 0 ocen

Tagi

modemy uart lte sms apn
Autor Artur Wójcik
Artur Wójcik
Nazywam się Artur Wójcik i od 14 lat zajmuję się elektroniką, robotyką oraz programowaniem. Moje zainteresowanie tymi dziedzinami zaczęło się w dzieciństwie, kiedy to samodzielnie budowałem różne urządzenia i eksperymentowałem z programowaniem. Od tego czasu nieustannie poszerzam swoją wiedzę i umiejętności, co pozwala mi na bieżąco śledzić najnowsze trendy oraz technologie. Piszę o różnych aspektach elektroniki i robotyki, starając się w przystępny sposób wyjaśniać skomplikowane zagadnienia. Zależy mi na tym, aby moje teksty były nie tylko informacyjne, ale także zrozumiałe dla każdego, niezależnie od poziomu zaawansowania. W swojej pracy zawsze dokładam starań, aby weryfikować źródła i porównywać informacje, co pozwala mi dostarczać rzetelne oraz aktualne treści. Wierzę, że dobrze zorganizowana wiedza i klarowne przedstawienie tematów są kluczowe dla zrozumienia elektroniki i robotyki.
Komentarze (0)
Dodaj komentarz