Module GSM GPRS SIM800L là chip GSM/GPRS quad-band do SIMCom sản xuất, hỗ trợ bốn băng tần 850/900/1800/1900 MHz, cho phép gửi SMS, thực hiện cuộc gọi và kết nối internet 2G thông qua giao thức GPRS. Đây là một trong những module GSM phổ biến nhất trong cộng đồng lập trình nhúng và IoT tại Việt Nam nhờ mức giá thấp, thư viện phong phú và khả năng tích hợp dễ dàng với Arduino, ESP32.
Để gửi SMS và gọi điện bằng SIM800L, bạn cần kết nối module với Arduino qua giao tiếp UART, cấp nguồn riêng 3.7V đến 4.2V và sử dụng tập lệnh AT Command chuẩn để điều khiển. Toàn bộ quy trình từ nạp SIM, ghép phần cứng đến lập trình đều có thể hoàn thành trong vài bước rõ ràng, phù hợp cho cả người mới bắt đầu.
Ngoài gửi SMS và gọi điện, SIM800L còn hỗ trợ truyền dữ liệu qua GPRS bằng cách cấu hình APN của nhà mạng và thực hiện HTTP GET/POST để đẩy dữ liệu cảm biến lên các nền tảng IoT như ThingSpeak hay Firebase. Bài viết dưới đây Khang Telecom sẽ hướng dẫn đầy đủ từng bước thực hành, từ định nghĩa module đến các ứng dụng truyền dữ liệu thực tế.
Module GSM GPRS SIM800L Là Gì?
Module GSM GPRS SIM800L là module truyền thông di động thuộc dòng chip SIM800 của SIMCom, hỗ trợ chuẩn GSM/GPRS quad-band, hoạt động ở điện áp 3.4V đến 4.4V và được tích hợp đầy đủ ba chức năng cốt lõi: gửi/nhận SMS, thực hiện cuộc gọi thoại và kết nối internet 2G qua GPRS.
Để hiểu rõ hơn về module này, phần dưới đây sẽ đi sâu vào thông số kỹ thuật chi tiết và sơ đồ chân của SIM800L:
Thông Số Kỹ Thuật Của Module SIM800L Là Gì?
Module SIM800L hoạt động trên chuẩn GSM/GPRS quad-band với tốc độ tải xuống GPRS Class 10 tối đa 85.6 kbps, điện áp hoạt động từ 3.4V đến 4.4V và dòng điện đỉnh (peak current) lên đến 2A trong lúc phát sóng. Đây là những thông số cần nắm rõ trước khi thiết kế mạch để tránh sai sót nguồn cấp.

Cụ thể hơn về thông số kỹ thuật của SIM800L, bảng dưới đây tổng hợp các thông số quan trọng nhất giúp bạn đánh giá khả năng ứng dụng của module trong từng dự án:
Bảng thông số kỹ thuật dưới đây liệt kê đầy đủ các thông số phần cứng và giao tiếp của SIM800L theo từng hạng mục, từ băng tần đến chuẩn truyền thông:
| Thông số | Chi tiết |
|---|---|
| Thương hiệu chip | SIMCom |
| Model | SIM800L |
| Loại module | GSM/GPRS Quad-band |
| Băng tần GSM | 850 / 900 / 1800 / 1900MHz |
| Điện áp hoạt động | 3.4V – 4.4V DC, khuyến nghị 4.0V |
| Dòng tiêu thụ đỉnh | Lên đến 2A khi truyền phát |
| Giao tiếp | UART TXD/RXD, AT Command |
| Tốc độ baud | 1200 – 115200bps, mặc định autobauding |
| Kết nối dữ liệu | GPRS multi-slot class 12/10 |
| Chức năng | Gọi thoại, SMS, truyền dữ liệu GPRS |
| Nhiệt độ hoạt động | -40°C đến +85°C |
Một điểm lưu ý quan trọng: SIM800L không thể cấp nguồn trực tiếp từ cổng 5V của Arduino. Nguyên nhân là Arduino chỉ cung cấp dòng tối đa khoảng 500 mA từ cổng USB, trong khi SIM800L có thể rút dòng đột ngột lên đến 2A trong khoảnh khắc phát sóng. Tình trạng thiếu dòng này thường khiến module reset liên tục hoặc hoạt động không ổn định. Bạn cần sử dụng nguồn ngoài như pin Li-Ion 3.7V hoặc module hạ áp (buck converter) để đảm bảo cấp đủ dòng cho SIM800L.
Về hình dạng vật lý, module SIM800L thường có PCB màu xanh lá hoặc đỏ, kích thước nhỏ gọn khoảng 25 x 23 mm, tích hợp sẵn khe cắm SIM (nano hoặc micro tùy phiên bản) và đầu nối antenna IPEX. Module cũng có đèn LED trạng thái giúp người dùng xác định nhanh tình trạng kết nối mạng ngay khi cấp nguồn.
Các ứng dụng điển hình của SIM800L bao gồm hệ thống cảnh báo từ xa qua SMS, thiết bị giám sát nhiệt độ/độ ẩm đẩy dữ liệu lên cloud, khóa cửa thông minh điều khiển qua điện thoại và các thiết bị tracking GPS kết hợp với module GPS rời.
Sơ Đồ Chân (Pinout) SIM800L Gồm Những Chân Nào?
SIM800L có 7 chân chính gồm VCC, GND, TXD, RXD, RST, DTR và RI, trong đó TXD và RXD là hai chân giao tiếp UART quan trọng nhất để kết nối với vi điều khiển, còn DTR và RI phục vụ chức năng tiết kiệm điện và nhận cuộc gọi đến.

Dưới đây là mô tả chi tiết chức năng từng chân của module SIM800L:
| Chân | Tên | Chức năng |
|---|---|---|
| 1 | VCC | Nguồn cấp 3.4V đến 4.4V |
| 2 | GND | Nối đất (Ground) |
| 3 | TXD | Truyền dữ liệu UART từ SIM800L ra |
| 4 | RXD | Nhận dữ liệu UART vào SIM800L |
| 5 | RST | Reset module (kéo xuống GND để reset) |
| 6 | DTR | Data Terminal Ready, dùng để đánh thức module khỏi sleep mode |
| 7 | RI | Ring Indicator, báo hiệu có cuộc gọi hoặc SMS đến |
Một lưu ý kỹ thuật quan trọng cần ghi nhớ: mức logic của SIM800L là 2.8V, không phải 3.3V hay 5V. Khi ghép với Arduino Uno (logic 5V), bạn bắt buộc phải dùng bộ phân áp điện trở trên đường TXD của Arduino trước khi đưa vào RXD của SIM800L. Cách đơn giản nhất là dùng hai điện trở: 1kΩ nối tiếp và 2kΩ xuống GND, tạo thành cầu phân áp hạ từ 5V xuống khoảng 3.3V. Với ESP32 (logic 3.3V), mức điện áp gần đủ tương thích, nhưng vẫn nên kiểm tra lại tài liệu datasheet của từng phiên bản module.
Chân RST cho phép bạn reset module bằng phần mềm mà không cần rút nguồn, rất hữu ích khi module bị treo hoặc mất kết nối mạng đột ngột. Chân RI (Ring Indicator) sẽ chuyển từ mức cao xuống thấp mỗi khi có cuộc gọi đến hoặc tin nhắn SMS mới, giúp vi điều khiển phát hiện sự kiện mà không cần polling liên tục.
Cách Kết Nối SIM800L Với Arduino Để Gửi SMS Và Gọi Điện Như Thế Nào?
Để kết nối SIM800L với Arduino gửi SMS và gọi điện, bạn thực hiện theo 4 bước chính: nạp SIM vật lý vào module, cấp nguồn ngoài 3.7V đến 4.2V, kết nối UART qua cầu phân áp và nạp code Arduino sử dụng SoftwareSerial. Toàn bộ quy trình này đòi hỏi chuẩn bị đúng vật liệu gồm module SIM800L, Arduino Uno/Nano, nguồn pin Li-Ion hoặc module buck converter, dây jumper và điện trở 1kΩ cùng 2kΩ.
Tiếp theo, phần dưới đây sẽ hướng dẫn chi tiết từng bước từ ghép phần cứng đến lập trình AT Command:
Cách Kết Nối Phần Cứng SIM800L Với Arduino?
Kết nối phần cứng SIM800L với Arduino theo sơ đồ: TXD (SIM800L) nối thẳng vào pin RX của Arduino, RXD (SIM800L) nối qua cầu phân áp 1kΩ và 2kΩ từ pin TX của Arduino, cấp nguồn riêng cho VCC và GND của SIM800L từ nguồn ngoài 3.7V đến 4.2V.

Cụ thể hơn, sơ đồ kết nối đầy đủ được mô tả theo từng đường tín hiệu như sau:
Sơ đồ kết nối SIM800L với Arduino Uno:
Arduino Uno SIM800L
———– ——–
Pin D10 (TX) ──[1kΩ]──┬── RXD
│
[2kΩ]
│
GND
Pin D11 (RX) ──────────── TXD
GND ───────────────────── GND (dùng chung GND với nguồn ngoài)
Nguồn ngoài 3.7-4.2V ──── VCC
Nguồn ngoài GND ────────── GND
Lý do bắt buộc phải cấp nguồn riêng cho SIM800L là vì module này có thể rút dòng đỉnh lên đến 2A trong khoảnh khắc đăng ký mạng hoặc gửi/nhận dữ liệu, trong khi cổng 5V của Arduino chỉ chịu được khoảng 500 mA. Nếu dùng chung nguồn, Arduino sẽ bị reset liên tục hoặc SIM800L không khởi động được. Pin Li-Ion 18650 đơn (3.7V nominal) là giải pháp phổ biến và kinh tế nhất cho dự án nhỏ.
Sau khi hoàn tất kết nối, bạn kiểm tra trạng thái module qua đèn LED:
- Nháy chậm khoảng 3 giây mỗi lần: Module đã đăng ký mạng thành công, sẵn sàng hoạt động.
- Nháy nhanh liên tục (khoảng 1 giây mỗi lần): Module đang tìm kiếm mạng, chưa đăng ký được.
- Không nháy hoặc sáng liên tục: Kiểm tra lại nguồn cấp và kết nối phần cứng.
Về hướng lắp SIM, cần chú ý chiều của thẻ SIM: chip SIM quay xuống, góc vát của SIM khớp với góc vát của khe cắm trên module. Một số phiên bản SIM800L dùng SIM nano, một số khác dùng SIM micro, do đó cần xác định phiên bản module trước khi mua SIM hoặc cắt SIM.
Bạn cũng nên kết nối chân RST của SIM800L với một chân digital của Arduino (ví dụ D12) để có thể reset module bằng phần mềm khi cần thiết, tăng độ ổn định cho hệ thống trong các ứng dụng chạy liên tục.
Cách Gửi SMS Và Gọi Điện Bằng SIM800L Với Lệnh AT?
Gửi SMS và gọi điện bằng SIM800L thực hiện qua tập lệnh AT Command: dùng AT+CMGF=1 để chuyển chế độ SMS text, AT+CMGS để gửi tin nhắn và ATD để thực hiện cuộc gọi, tất cả được gửi qua giao tiếp UART từ Arduino đến module.

AT Command (Attention Command) là tập lệnh chuẩn dùng để giao tiếp với modem GSM từ thời dial-up, được SIM800L hỗ trợ đầy đủ. Mỗi lệnh AT bắt đầu bằng ký tự “AT” và kết thúc bằng ký tự xuống dòng rn. Module sẽ phản hồi “OK” nếu lệnh được nhận và thực thi thành công, hoặc “ERROR” nếu có lỗi.
Danh sách lệnh AT cơ bản cho SMS và gọi điện:
| Lệnh AT | Chức năng |
|---|---|
AT |
Kiểm tra kết nối, module phản hồi “OK” |
AT+CMGF=1 |
Chuyển sang chế độ SMS dạng text (thay vì PDU) |
AT+CMGS="+84xxxxxxxxx" |
Bắt đầu gửi SMS đến số điện thoại |
[Nội dung SMS] + Ctrl+Z (ASCII 26) |
Xác nhận và gửi nội dung tin nhắn |
ATD+84xxxxxxxxx; |
Gọi điện ra (dấu chấm phẩy ở cuối là bắt buộc) |
ATH |
Cúp máy, kết thúc cuộc gọi |
AT+CLCC |
Kiểm tra trạng thái cuộc gọi hiện tại |
ATA |
Bắt máy khi có cuộc gọi đến |
AT+CSQ |
Kiểm tra cường độ tín hiệu (0 đến 31) |
AT+CREG? |
Kiểm tra trạng thái đăng ký mạng |
Code Arduino mẫu gửi SMS bằng SoftwareSerial:
“`cpp
#include <SoftwareSerial.h>
// Khai báo SoftwareSerial: RX = pin 11, TX = pin 10
SoftwareSerial sim800(11, 10);
void setup() {
Serial.begin(9600);
sim800.begin(9600);
delay(3000); // Chờ module khởi động
Serial.println(“Khoi dong SIM800L…”);
// Kiem tra ket noi
sim800.println(“AT”);
delay(1000);
// Chuyen sang che do SMS text
sim800.println(“AT+CMGF=1”);
delay(1000);
// Gui SMS
sim800.print(“AT+CMGS=”+84xxxxxxxxx”r”);
delay(1000);
sim800.print(“Xin chao! Day la tin nhan tu Arduino.”);
delay(500);
sim800.write(26); // Ky tu Ctrl+Z de gui
delay(5000);
Serial.println(“Da gui SMS!”);
}
void loop() {
// Chuyen du lieu qua lai giua Serial va SIM800
if (sim800.available()) Serial.write(sim800.read());
if (Serial.available()) sim800.write(Serial.read());
}
Code Arduino mẫu thực hiện cuộc gọi:
“`cpp
#include <SoftwareSerial.h>
SoftwareSerial sim800(11, 10);
void setup() {
Serial.begin(9600);
sim800.begin(9600);
delay(3000);
// Goi dien ra
sim800.println(“ATD+84xxxxxxxxx;”);
delay(20000); // Cho 20 giay
// Cup may
sim800.println(“ATH”);
}
void loop() {}
Xử lý lỗi thường gặp:
- Module không phản hồi “OK”: Kiểm tra lại tốc độ baud (thử 115200 nếu 9600 không hoạt động), kiểm tra đường kết nối TX/RX có bị đảo không.
- Module phản hồi “ERROR” khi gửi SMS: Kiểm tra lệnh
AT+CREG?để xác nhận module đã đăng ký mạng (cần nhận được+CREG: 0,1hoặc+CREG: 0,5). - Không có sóng/SIM chưa đăng ký mạng: Kiểm tra antenna đã kết nối chắc chắn, đảm bảo SIM đã được kích hoạt và có dư nợ/gói cước phù hợp.
- SMS gửi không đến nơi nhận: Kiểm tra định dạng số điện thoại phải theo chuẩn quốc tế (+84…), không dùng số 0 đầu.
Cách Truyền Dữ Liệu Qua GPRS Bằng SIM800L Như Thế Nào?
Để truyền dữ liệu qua GPRS bằng SIM800L, bạn cấu hình APN của nhà mạng qua AT Command, mở kết nối bearer để lấy địa chỉ IP, sau đó thực hiện HTTP GET hoặc POST để gửi và nhận dữ liệu từ server. GPRS (General Packet Radio Service) trong ngữ cảnh SIM800L là chuẩn kết nối internet 2G, cho phép module truy cập internet qua hạ tầng mạng di động thông qua điểm truy cập APN (Access Point Name) do nhà mạng cung cấp.
Ứng dụng thực tế phổ biến nhất của tính năng này là gửi dữ liệu cảm biến (nhiệt độ, độ ẩm, trạng thái thiết bị) lên các nền tảng IoT như ThingSpeak, Firebase hay server riêng, đồng thời nhận lệnh điều khiển từ xa qua HTTP. Đây chính là yếu tố biến SIM800L từ một module gọi điện/SMS đơn thuần thành một nút kết nối IoT hoàn chỉnh không cần WiFi.
Cách Cấu Hình GPRS Và Kết Nối Internet Cho SIM800L?
Cấu hình GPRS cho SIM800L thực hiện qua 4 lệnh AT theo thứ tự: đặt loại kết nối GPRS, nhập APN của nhà mạng, mở bearer và kiểm tra IP được cấp phát, sau đó module mới sẵn sàng cho các thao tác HTTP.

Cụ thể hơn, dưới đây là trình tự lệnh AT cấu hình GPRS đầy đủ:
AT+SAPBR=3,1,”Contype”,”GPRS” → Đặt loại kết nối là GPRS
AT+SAPBR=3,1,”APN”,”v-internet” → Nhập APN nhà mạng (ví dụ Viettel)
AT+SAPBR=1,1 → Mở kết nối bearer
AT+SAPBR=2,1 → Kiểm tra IP, nhận phản hồi dạng +SAPBR: 1,1,”10.x.x.x”
Bảng APN của các nhà mạng phổ biến tại Việt Nam:
| Nhà mạng | APN | Username | Password |
|---|---|---|---|
| Viettel | v-internet | (để trống) | (để trống) |
| Vinaphone | m3-world | mms | mms |
| Mobifone | m-wap | mms | mms |
| Vietnamobile | mylife | (để trống) | (để trống) |
Bảng trên liệt kê thông tin APN mặc định, tuy nhiên cài đặt có thể thay đổi theo từng thời điểm và gói cước. Nếu module không kết nối được, bạn nên liên hệ trực tiếp với nhà mạng để xác nhận thông tin APN hiện hành.
Xử lý sự cố khi cấu hình GPRS:
- Không lấy được IP (lệnh SAPBR=2,1 trả về 0.0.0.0): Kiểm tra lại APN, đảm bảo SIM đã kích hoạt dịch vụ data. Thử lệnh
AT+SAPBR=0,1để đóng bearer rồi mở lại. - Kết nối timeout: Đảm bảo cường độ tín hiệu đủ mạnh (lệnh
AT+CSQtrả về giá trị trên 10), kiểm tra antenna đã lắp chắc chắn. - Module trả về “ERROR” sau lệnh SAPBR=1,1: Thử reset module bằng chân RST và thực hiện lại toàn bộ quy trình từ đầu.
Cách Gửi Dữ Liệu HTTP GET/POST Qua GPRS Với SIM800L?
Gửi dữ liệu HTTP qua GPRS với SIM800L thực hiện theo quy trình 5 bước: AT+HTTPINIT để khởi tạo, AT+HTTPPARA để đặt URL, AT+HTTPACTION để gửi request, AT+HTTPREAD để đọc phản hồi và AT+HTTPTERM để đóng phiên HTTP, toàn bộ quy trình này phải thực hiện sau khi đã cấu hình GPRS thành công và có địa chỉ IP.

Ví dụ thực tế dưới đây minh họa việc gửi dữ liệu nhiệt độ từ cảm biến DHT11 lên ThingSpeak qua HTTP GET, một trong những use case phổ biến nhất trong các dự án IoT cơ bản:
Trình tự lệnh AT gửi HTTP GET đến ThingSpeak:
AT+HTTPINIT → Khởi tạo dịch vụ HTTP
AT+HTTPPARA=”CID”,1 → Liên kết với bearer đã cấu hình
AT+HTTPPARA=”URL”,”http://api.thingspeak.com/update?api_key=XXXXXXXXX&field1=25.5″
→ Đặt URL với giá trị nhiệt độ
AT+HTTPACTION=0 → Thực hiện HTTP GET (0=GET, 1=POST)
AT+HTTPREAD → Đọc phản hồi từ server
AT+HTTPTERM → Đóng phiên HTTP
Code Arduino mẫu hoàn chỉnh gửi nhiệt độ DHT11 lên ThingSpeak:
“`cpp
#include <SoftwareSerial.h>
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT11
#define SIM_TX 10
#define SIM_RX 11
SoftwareSerial sim800(SIMRX, SIMTX);
DHT dht(DHTPIN, DHTTYPE);
String apiKey = “YOURTHINGSPEAKAPI_KEY”;
void sendATCommand(String cmd, int waitTime) {
sim800.println(cmd);
delay(waitTime);
while (sim800.available()) {
Serial.write(sim800.read());
}
}
void configureGPRS() {
sendATCommand(“AT+SAPBR=3,1,”Contype”,”GPRS””, 1000);
sendATCommand(“AT+SAPBR=3,1,”APN”,”v-internet””, 1000);
sendATCommand(“AT+SAPBR=1,1”, 3000);
sendATCommand(“AT+SAPBR=2,1”, 2000);
}
void sendToThingSpeak(float temp, float humi) {
String url = “http://api.thingspeak.com/update?api_key=”;
url += apiKey;
url += “&field1=”;
url += String(temp, 1);
url += “&field2=”;
url += String(humi, 1);
sendATCommand(“AT+HTTPINIT”, 1000);
sendATCommand(“AT+HTTPPARA=”CID”,1″, 1000);
sendATCommand(“AT+HTTPPARA=”URL”,”” + url + “””, 1000);
sendATCommand(“AT+HTTPACTION=0”, 5000);
sendATCommand(“AT+HTTPREAD”, 2000);
sendATCommand(“AT+HTTPTERM”, 1000);
}
void setup() {
Serial.begin(9600);
sim800.begin(9600);
dht.begin();
delay(3000);
Serial.println(“Cau hinh GPRS…”);
configureGPRS();
Serial.println(“GPRS san sang!”);
}
void loop() {
float nhietDo = dht.readTemperature();
float doAm = dht.readHumidity();
if (!isnan(nhietDo) && !isnan(doAm)) {
Serial.print(“Nhiet do: “);
Serial.print(nhietDo);
Serial.print(“C | Do am: “);
Serial.println(doAm);
sendToThingSpeak(nhietDo, doAm);
Serial.println(“Da gui du lieu len ThingSpeak!”);
} else {
Serial.println(“Loi doc cam bien DHT11!”);
}
delay(20000); // ThingSpeak yeu cau toi thieu 15 giay giua 2 lan gui
}
Lưu ý quan trọng khi làm việc với HTTP qua GPRS:
- Timeout: Kết nối GPRS 2G có thể chậm và không ổn định. Nên đặt timeout cho từng lệnh AT từ 5 đến 10 giây, không dùng
delaycố định mà nên kiểm tra phản hồi từ module. - Retry logic: Nếu HTTP GET thất bại (server trả về lỗi hoặc không phản hồi), nên thực hiện
AT+HTTPTERMrồi thử lại tối đa 3 lần trước khi bỏ qua chu kỳ đó. - Giải phóng phiên HTTP: Luôn gọi
AT+HTTPTERMsau mỗi lần gửi dữ liệu, kể cả khi gặp lỗi. Không đóng phiên HTTP trước khi mở phiên mới sẽ khiến module trả về “ERROR” liên tục. - Kiểm tra phản hồi server: Sau lệnh
AT+HTTPACTION=0, module sẽ trả về dạng+HTTPACTION: 0,200,xxtrong đó 200 là mã HTTP thành công. Nếu nhận được 400 hoặc 0, kiểm tra lại URL và API key. - ThingSpeak rate limit: Nền tảng ThingSpeak yêu cầu tối thiểu 15 giây giữa hai lần gửi dữ liệu cho tài khoản miễn phí. Đặt
delay(20000)trong vòng lặp để đảm bảo tuân thủ giới hạn này.
Với HTTP POST, bạn thay AT+HTTPACTION=0 bằng AT+HTTPACTION=1 và cần thêm bước AT+HTTPDATA để truyền body của request trước khi gửi. Phương thức POST phù hợp khi cần gửi lượng dữ liệu lớn hơn hoặc khi server yêu cầu định dạng JSON trong body request.
SIM800L Có Còn Phù Hợp Để Sử Dụng Trong Dự Án IoT Hiện Nay Không?
SIM800L vẫn còn phù hợp cho các dự án IoT đơn giản, chi phí thấp tại Việt Nam vì mạng 2G vẫn đang hoạt động, giá module rẻ, thư viện phong phú và cộng đồng hỗ trợ lớn, tuy nhiên module này có những giới hạn rõ ràng về tốc độ và tương lai dài hạn mà bạn cần cân nhắc trước khi đưa vào sản phẩm thực tế.
Phần dưới đây sẽ phân tích cụ thể sự khác biệt giữa SIM800L với các module thế hệ mới hơn và cơ chế sleep mode giúp tối ưu điện năng:
SIM800L Khác Gì So Với SIM900 Và SIM7600?
SIM800L tốt về giá thành và kích thước nhỏ gọn, SIM900 có form factor lớn hơn nhưng cùng chuẩn 2G GPRS, còn SIM7600 vượt trội về tốc độ với chuẩn 4G LTE nhưng giá cao hơn đáng kể.

Bảng so sánh dưới đây tổng hợp các tiêu chí quan trọng nhất giữa ba module GSM phổ biến, giúp bạn lựa chọn đúng module theo nhu cầu dự án:
| Tiêu chí | SIM800L | SIM900 | SIM7600 |
|---|---|---|---|
| Chuẩn mạng | 2G GSM/GPRS | 2G GSM/GPRS | 4G LTE/3G/2G |
| Tốc độ tải xuống | 85.6 kbps | 85.6 kbps | 150 Mbps (LTE) |
| Tốc độ tải lên | 42.8 kbps | 42.8 kbps | 50 Mbps (LTE) |
| Điện áp hoạt động | 3.4V đến 4.4V | 3.4V đến 4.4V | 3.3V đến 4.2V |
| Kích thước | Rất nhỏ (~25x23mm) | Lớn hơn (~33x33mm) | Lớn (~30x30mm) |
| Giá thị trường VN | 50.000 đến 100.000 VND | 150.000 đến 250.000 VND | 400.000 đến 700.000 VND |
| Hỗ trợ SMS | Có | Có | Có |
| Hỗ trợ thoại | Có | Có | Có |
| Hỗ trợ HTTP/FTP | Có (chậm) | Có (chậm) | Có (nhanh) |
| Cộng đồng hỗ trợ | Rất lớn | Lớn | Đang phát triển |
| Nguy cơ 2G tắt mạng | Cao | Cao | Không |
Gợi ý lựa chọn theo nhu cầu thực tế: nếu dự án chỉ cần gửi SMS cảnh báo hoặc đẩy dữ liệu cảm biến nhỏ lên server với tần suất thấp, SIM800L là lựa chọn tối ưu về chi phí. Nếu cần tốc độ truyền cao hơn, hỗ trợ video streaming hoặc muốn đảm bảo tương lai lâu dài khi 2G có thể bị tắt, SIM7600 là lựa chọn đáng đầu tư. SIM900 hiện ít được khuyến nghị cho dự án mới vì cùng giới hạn 2G như SIM800L nhưng giá cao hơn và kích thước lớn hơn mà không có ưu điểm vượt trội.
Chế Độ Sleep Mode Của SIM800L Hoạt Động Như Thế Nào?
SIM800L hỗ trợ chế độ sleep mode qua lệnh AT+CSCLK=1, giúp giảm mức tiêu thụ điện từ khoảng 180 mA xuống còn khoảng 1 mA, đây là tính năng quan trọng cho các thiết bị IoT chạy bằng pin cần hoạt động liên tục nhiều ngày hoặc nhiều tuần.

SIM800L có hai chế độ tiết kiệm điện chính cần phân biệt:
- Sleep Mode (
AT+CSCLK=1): Module tự động vào trạng thái ngủ sau một khoảng thời gian không có hoạt động. Để đánh thức module, bạn kéo chân DTR xuống mức thấp (GND) trong ít nhất 50 ms, sau đó gửi bất kỳ lệnh AT nào. Mức tiêu thụ điện: khoảng 1 mA. - Fast Sleep (
AT+CSCLK=2): Module ngủ ngay lập tức sau khi không có dữ liệu UART trong khoảng 100 ms. Đánh thức bằng cách gửi ký tự bất kỳ qua UART. Phù hợp khi cần phản hồi nhanh hơn Sleep Mode thông thường.
Để tắt sleep mode và trở về hoạt động bình thường: AT+CSCLK=0.
Ứng dụng thực tế của sleep mode rất rõ ràng trong các thiết bị giám sát từ xa chạy pin mặt trời hoặc pin dự phòng: module chỉ thức dậy mỗi 15 đến 30 phút để đọc cảm biến và gửi dữ liệu, sau đó lại vào sleep mode. Với mức tiêu thụ 1 mA khi ngủ so với 180 mA khi hoạt động bình thường, tuổi thọ pin của thiết bị có thể tăng lên hàng chục lần so với chế độ luôn bật, biến SIM800L thành lựa chọn khả thi cho các hệ thống IoT triển khai ngoài trời không có nguồn điện lưới ổn định.
Với khả năng gửi SMS, thực hiện cuộc gọi và truyền dữ liệu GPRS trên cùng một thiết bị, Module GSM GPRS SIM800L là lựa chọn phù hợp cho nhiều ứng dụng IoT, cảnh báo và điều khiển từ xa. Nếu đang tìm kiếm một giải pháp kết nối di động nhỏ gọn và dễ tích hợp, hãy tham khảo Module SIM800L tại Khang Telecom để được tư vấn chi tiết và lựa chọn sản phẩm phù hợp.









Đánh giá
Chưa có đánh giá nào.