Skip to content
LIVE FEED

BlogTổng hợp lệnh STK và AT Command phổ biến

Tổng hợp lệnh STK và AT Command phổ biến

1. Bảng lệnh STK (SIM Toolkit) phổ biến

Proactive Command (SIM → Điện thoại)

LệnhChức năng
DISPLAY TEXTHiển thị thông báo văn bản trên màn hình
GET INKEYYêu cầu người dùng nhấn một phím
GET INPUTYêu cầu người dùng nhập chuỗi ký tự
SETUP MENUTạo menu dịch vụ SIM trên điện thoại
SELECT ITEMHiển thị danh sách để người dùng chọn
SETUP CALLYêu cầu điện thoại thực hiện cuộc gọi
SEND SHORT MESSAGEYêu cầu điện thoại gửi SMS thay SIM
SEND SSGửi lệnh dịch vụ bổ sung (Supplementary Service)
SEND USSDGửi lệnh USSD (dạng *101#)
SEND DTMFGửi tín hiệu DTMF trong cuộc gọi
PLAY TONEPhát âm thanh cảnh báo
LAUNCH BROWSERMở trình duyệt WAP/HTML tới một URL
PROVIDE LOCAL INFORMATIONLấy vị trí/Cell ID, giờ hệ thống, IMEI… từ điện thoại
SETUP EVENT LISTĐăng ký danh sách sự kiện SIM muốn được thông báo
TIMER MANAGEMENTCài đặt/quản lý bộ đếm giờ trên SIM
SETUP IDLE MODE TEXTĐặt văn bản hiển thị ở màn hình chờ
REFRESHYêu cầu điện thoại làm mới dữ liệu SIM (khởi động lại STK)
OPEN CHANNEL / SEND DATA / RECEIVE DATA / CLOSE CHANNELBộ lệnh BIP (Bearer Independent Protocol) — SIM tự mở kết nối dữ liệu (TCP/UDP) qua điện thoại
PERFORM CARD APDUGiao tiếp với đầu đọc thẻ khác qua điện thoại
RUN AT COMMANDSIM yêu cầu điện thoại chạy một lệnh AT cụ thể (hiếm dùng)

Envelope Command (Điện thoại → SIM)

LệnhChức năng
MENU SELECTIONBáo SIM biết người dùng vừa chọn mục nào trong menu
SMS-PP DOWNLOADChuyển gói OTA (SMS nhị phân) tới SIM xử lý
CELL BROADCAST DOWNLOADChuyển bản tin Cell Broadcast tới SIM
EVENT DOWNLOADBáo các sự kiện: có cuộc gọi đến, cuộc gọi kết thúc, đổi vùng phủ sóng, màn hình chờ đã sẵn sàng…
CALL CONTROLĐiện thoại xin phép SIM trước khi thực hiện cuộc gọi (SIM có thể chặn/đổi số)
MO SHORT MESSAGE CONTROLĐiện thoại xin phép SIM trước khi gửi SMS đi
TIMER EXPIRATIONBáo bộ đếm giờ SIM đã cài vừa hết hạn
USSD DOWNLOADChuyển kết quả USSD về cho SIM xử lý

2. Bảng lệnh AT phổ biến

Cơ bản (Hayes gốc)

LệnhChức năng
ATKiểm tra modem phản hồi
ATZReset modem về cấu hình mặc định
ATE0 / ATE1Tắt/bật chế độ echo lệnh
AT&FKhôi phục cấu hình gốc nhà sản xuất
AT+CFUN=<n>Đặt mức chức năng (0=tắt RF, 1=bình thường, 4=chế độ máy bay…)
AT+CPOWD=1Tắt nguồn module

SIM và mạng

LệnhChức năng
AT+CPIN?Kiểm tra trạng thái SIM (đã nhập PIN chưa)
AT+CPIN=<pin>Nhập mã PIN
AT+CSQĐo cường độ tín hiệu
AT+COPS?Xem nhà mạng đang kết nối
AT+CREG?Trạng thái đăng ký mạng
AT+CIMILấy IMSI của SIM
AT+CCID (hoặc AT+ICCID)Lấy số serial (ICCID) của SIM
AT+CGSNLấy IMEI của thiết bị
AT+CGMI / AT+CGMM / AT+CGMRHãng sản xuất / model / phiên bản firmware module

SMS

LệnhChức năng
AT+CMGF=<0/1>Chọn chế độ PDU (0) hoặc Text (1)
AT+CMGS="<số>"Gửi SMS
AT+CMGR=<index>Đọc SMS theo vị trí lưu
AT+CMGL="<trạng thái>"Liệt kê SMS (ví dụ "ALL", "REC UNREAD")
AT+CMGD=<index>Xóa SMS
AT+CNMI=<mode>,<mt>...Cấu hình cách báo khi có SMS mới (URC)
AT+CPMS="<vùng nhớ>"Chọn vùng lưu SMS (SIM/module)
AT+CSCA="<số>"Đặt/xem số trung tâm SMS (SMSC)

Thoại

LệnhChức năng
ATD<số>;Gọi điện
ATATrả lời cuộc gọi đến
ATHKết thúc/gác máy
AT+CLCCLiệt kê cuộc gọi hiện tại
AT+VTS=<ký tự>Gửi tín hiệu DTMF trong cuộc gọi

Dữ liệu / GPRS / PDP context

LệnhChức năng
AT+CGDCONT=<id>,"IP","<apn>"Khai báo APN cho phiên dữ liệu
AT+CGATT=<0/1>Gắn/gỡ khỏi mạng GPRS
AT+CGACT=<1>,<id>Kích hoạt PDP context
AT+CIICR / AT+NETOPENMở kết nối dữ liệu (tùy dòng module, ví dụ SIMCom)
AT+CIFSRLấy địa chỉ IP đã cấp
AT+CIPSTART / AT+CIPSENDMở kết nối và gửi dữ liệu qua TCP/UDP thô

HTTP (bộ lệnh mở rộng, ví dụ dòng SIMCom)

LệnhChức năng
AT+HTTPINITKhởi tạo phiên HTTP
AT+HTTPPARA="URL","<url>"Đặt URL đích
AT+HTTPACTION=<0/1>Thực hiện GET (0) hoặc POST (1)
AT+HTTPREADĐọc dữ liệu phản hồi
AT+HTTPTERMĐóng phiên HTTP

MQTT (bộ lệnh mở rộng, ví dụ dòng SIMCom)

LệnhChức năng
AT+CMQTTSTARTKhởi động dịch vụ MQTT trên module
AT+CMQTTACCQĐăng ký một client MQTT
AT+CMQTTCONNECTKết nối tới broker
AT+CMQTTSUBSubscribe một topic
AT+CMQTTPUBPublish dữ liệu lên topic
AT+CMQTTDISCNgắt kết nối broker
AT+CMQTTSTOPDừng dịch vụ MQTT

GPS/GNSS (module tích hợp định vị)

LệnhChức năng
AT+CGPS=1Bật GNSS
AT+CGPSINFOLấy tọa độ hiện tại

Lưu ý: Nhóm lệnh cơ bản (SIM, SMS, thoại, PDP context) thuộc chuẩn 3GPP TS 27.007/27.005 nên gần như giống nhau giữa các hãng module (SIMCom, Quectel, u-blox…). Riêng nhóm HTTP/MQTT/GPS là lệnh mở rộng riêng của từng hãng — cú pháp có thể khác nhau đôi chút giữa SIMCom và Quectel dù cùng chức năng, nên khi triển khai thực tế cần tra đúng tài liệu AT Command Manual của module đang dùng.

3. Hướng dẫn tìm hiểu lệnh nâng cao và tài liệu liên quan

3.1 Tài liệu chuẩn STK (nguồn gốc/chuẩn hóa)

  • ETSI TS 102.223 — “Card Application Toolkit (CAT)” — chuẩn kỹ thuật đầy đủ nhất mô tả toàn bộ Proactive Command và Envelope Command, mã lệnh, cấu trúc TLV. Đây là tài liệu tham chiếu gốc, tải miễn phí tại trang chính thức ETSI (etsi.org, tìm mã số tài liệu).
  • 3GPP TS 11.14 / TS 31.111 — phiên bản GSM/UMTS cụ thể hóa STK cho từng thế hệ mạng, có trên trang 3gpp.org.
  • GlobalPlatform / Java Card specification — nếu muốn hiểu sâu cách applet STK được viết và nạp vào SIM (không phải để tự viết applet gửi lên SIM người khác, mà để hiểu kiến trúc runtime).

3.2 Tài liệu AT Command theo từng hãng module (thực dụng nhất cho dự án nhúng)

Mỗi hãng module GSM/LTE đều phát hành “AT Command Manual” hoặc “AT Command Set” dạng PDF hàng trăm trang, liệt kê đầy đủ mọi lệnh (cả chuẩn 3GPP lẫn lệnh mở rộng riêng hãng), có ví dụ input/output cụ thể:

  • SIMCom: tìm theo tên “SIMCom_<tên dòng module>_AT Command Manual” (ví dụ SIM800, SIM7600, A7670) — thường có trên trang chủ SIMCom hoặc các trang phân phối linh kiện (mua module thường kèm sẵn link tài liệu).
  • Quectel: tương tự, tìm “Quectel_<tên dòng>_AT_Commands_Manual” trên trang chủ Quectel (có mục Documentation & Downloads công khai).
  • u-blox: tài liệu “AT Commands Manual” trên trang u-blox, thường đi kèm rất chi tiết cho dòng SARA, LARA.

Đây là nguồn tra cứu chính xác nhất vì cú pháp lệnh mở rộng (HTTP, MQTT, FTP, TLS, GNSS…) khác nhau giữa các hãng dù cùng mục đích.

3.3 Công cụ thực hành và debug

  • Phần mềm terminal serial: dùng để gõ trực tiếp lệnh AT qua UART/USB khi thử nghiệm module — ví dụ các công cụ terminal serial phổ biến có sẵn trên Windows/Linux/macOS (không cần cài đặt phức tạp, chỉ cần chọn đúng cổng COM và baud rate, thường 115200).
  • Datasheet của module cụ thể: ngoài AT Command Manual, nên đọc thêm Hardware Design Manual để biết chân RI, cách cấp nguồn, dòng tiêu thụ ở từng chế độ ngủ — quan trọng khi thiết kế mạch tiết kiệm pin như đã bàn ở phần thiết bị kho hàng.

3.4 Cộng đồng và diễn đàn kỹ thuật

  • Diễn đàn chính thức của từng hãng (SIMCom, Quectel đều có mục hỗ trợ kỹ thuật/forum).
  • Các cộng đồng phần cứng mở như địa chỉ dự án Arduino/ESP32 kết hợp module GSM — nhiều người chia sẻ thư viện (library) đã đóng gói sẵn lệnh AT thành hàm gọi tiện lợi, giúp không phải tự viết từng lệnh thô.

3.5 Khi cần tra một lệnh cụ thể chưa biết cú pháp chính xác

Cách tra nhanh và đáng tin cậy nhất: tìm theo mẫu "<tên module> AT command <chức năng cần>" (ví dụ: "SIM7600 AT command TLS MQTT"), ưu tiên kết quả trỏ thẳng tới PDF chính hãng thay vì các bài blog thứ cấp, vì lệnh mở rộng dễ có sai khác phiên bản firmware giữa các batch sản xuất.


Tài liệu tổng hợp mang tính kỹ thuật/tham khảo, biên soạn từ các trao đổi trước đó về STK, AT Command và ứng dụng trong thiết kế thiết bị IoT nhúng.

Contact
Facebook
TOP