BlogTổng hợp lệnh STK và AT Command phổ biến
Bố cục bài viết
Trang này
Ngày tạo
14/08/2026
Cập nhật
Lượt xem
9
Đọc
9m
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ệnh | Chức năng |
|---|---|
DISPLAY TEXT | Hiển thị thông báo văn bản trên màn hình |
GET INKEY | Yêu cầu người dùng nhấn một phím |
GET INPUT | Yêu cầu người dùng nhập chuỗi ký tự |
SETUP MENU | Tạo menu dịch vụ SIM trên điện thoại |
SELECT ITEM | Hiển thị danh sách để người dùng chọn |
SETUP CALL | Yêu cầu điện thoại thực hiện cuộc gọi |
SEND SHORT MESSAGE | Yêu cầu điện thoại gửi SMS thay SIM |
SEND SS | Gửi lệnh dịch vụ bổ sung (Supplementary Service) |
SEND USSD | Gửi lệnh USSD (dạng *101#) |
SEND DTMF | Gửi tín hiệu DTMF trong cuộc gọi |
PLAY TONE | Phát âm thanh cảnh báo |
LAUNCH BROWSER | Mở trình duyệt WAP/HTML tới một URL |
PROVIDE LOCAL INFORMATION | Lấ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 MANAGEMENT | Cà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ờ |
REFRESH | Yê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 CHANNEL | Bộ 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 APDU | Giao tiếp với đầu đọc thẻ khác qua điện thoại |
RUN AT COMMAND | SIM 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ệnh | Chức năng |
|---|---|
MENU SELECTION | Báo SIM biết người dùng vừa chọn mục nào trong menu |
SMS-PP DOWNLOAD | Chuyển gói OTA (SMS nhị phân) tới SIM xử lý |
CELL BROADCAST DOWNLOAD | Chuyển bản tin Cell Broadcast tới SIM |
EVENT DOWNLOAD | Bá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 EXPIRATION | Báo bộ đếm giờ SIM đã cài vừa hết hạn |
USSD DOWNLOAD | Chuyể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ệnh | Chức năng |
|---|---|
AT | Kiểm tra modem phản hồi |
ATZ | Reset modem về cấu hình mặc định |
ATE0 / ATE1 | Tắt/bật chế độ echo lệnh |
AT&F | Khô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=1 | Tắt nguồn module |
SIM và mạng
| Lệnh | Chứ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+CIMI | Lấy IMSI của SIM |
AT+CCID (hoặc AT+ICCID) | Lấy số serial (ICCID) của SIM |
AT+CGSN | Lấy IMEI của thiết bị |
AT+CGMI / AT+CGMM / AT+CGMR | Hãng sản xuất / model / phiên bản firmware module |
SMS
| Lệnh | Chứ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ệnh | Chức năng |
|---|---|
ATD<số>; | Gọi điện |
ATA | Trả lời cuộc gọi đến |
ATH | Kết thúc/gác máy |
AT+CLCC | Liệ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ệnh | Chứ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+NETOPEN | Mở kết nối dữ liệu (tùy dòng module, ví dụ SIMCom) |
AT+CIFSR | Lấy địa chỉ IP đã cấp |
AT+CIPSTART / AT+CIPSEND | Mở 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ệnh | Chức năng |
|---|---|
AT+HTTPINIT | Khở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ệnh | Chức năng |
|---|---|
AT+CMQTTSTART | Khởi động dịch vụ MQTT trên module |
AT+CMQTTACCQ | Đăng ký một client MQTT |
AT+CMQTTCONNECT | Kết nối tới broker |
AT+CMQTTSUB | Subscribe một topic |
AT+CMQTTPUB | Publish dữ liệu lên topic |
AT+CMQTTDISC | Ngắt kết nối broker |
AT+CMQTTSTOP | Dừng dịch vụ MQTT |
GPS/GNSS (module tích hợp định vị)
| Lệnh | Chức năng |
|---|---|
AT+CGPS=1 | Bật GNSS |
AT+CGPSINFO | Lấ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.