Giao tiếp arduino với sim800h bằng AT command

Bài viết này mô tả giao tiếp arduino mega 2560 với mô đun GSM Sim800H bằng lệnh AT (AT command).
Sử dụng mô đun GPRSbee (SIM800H). Hầu hết các mô đun của SIMCOM đều sử dụng nguồn 3.7 - 4.2V (pin 3.7V Lipo), một số mô đun tích hợp nguồn 5V. Nên khi sử dụng cần lưu ý xem thông tin của mô đun đó.

Một số thông số kỹ thuật:
- GPRSbee sử dụng chân DTR để bật/tắt nguồn cho mô đun. có thể điều khiển bằng phần mềm (bật =HIGH, tắt=LOW).
- Chân CTS là chân báo trạng thái nguồn.
- Kết nối UART qua chân DOUT và DIN. Được dùng giao tiếp với Arduino.
- Nguồn: pin 3.7V Lipo

Sơ đồ kết nối arduino mega với sim800h:




Nạp code mẫu.

// Set serial for debug console (to the Serial Monitor, speed 115200) #define SerialMon Serial // Set serial for AT commands (to the module) // Use Hardware Serial on Mega, Leonardo, Micro #define SerialAT Serial2 // or Software Serial on Uno, Nano //#include <SoftwareSerial.h> //SoftwareSerial SerialAT(2, 3); // RX, TX void setup() { // put your setup code here, to run once: // Set console baud rate SerialMon.begin(9600); delay(10); SerialAT.begin(9600); delay(10); delay(2000); digitalWrite(9,HIGH); delay(13000); } void loop() { // put your main code here, to run repeatedly: if (SerialAT.available()) { SerialMon.write(SerialAT.read()); } if (SerialMon.available()) { SerialAT.write(SerialMon.read()); } }

Giải thích code:
Mô đun sim800h được điều khiển bằng lệnh AT thông qua chuẩn UART. Khi nhận được lệnh AT, sim800h sẽ phản hồi kết quả tương ứng với lệnh AT đó. Ví dụ: gửi lệnh "AT", sim800 sẽ gửi lại "OK". Code này được sử dụng để kiểm tra giao tiếp với sim800h bằng lệnh AT thông qua máy tính (Arduino Serial monitor).

Kết quả:
Sau khi nạp code xong. Mở Arduino Serial monitor (Tools/Serial monitor hoặc Ctrl + Shift +M)
Trong giao diên Serial Monitor ->chọn "Both NL & CR" và "9600 baud". Sau đó gửi "AT" (hình bên dưới) sẽ nhận được "OK" từ  màn hình.
Có thể thử một số lệnh sau:
AT+CFUN=?
AT+CGCLASS?


Lưu ý: chọn đúng baudrate của mô đun sim800h (2400, 9600,57600,.....)




Nhận xét

  1. bạn cho mình hỏi mình nạp code bình thường khi chưa gõ lệnh at mà monitor đã hiển thị các ô vuông nhỏ liên tiếp nhau chạy không ngừng là sao vậy ạ. mình mới nghiên cứu nên cần chỉ giúp từ bạn.

    Trả lờiXóa

Đăng nhận xét

Bài đăng phổ biến từ blog này

SIM800L thực hiện giao thức HTTP GET thông qua lệnh AT Command

Sử dụng Javascript MQTT Client với Websockets

Python-Flask – Tạo form submit, lưu vào database.