Đỗ Hữu Toàn gửi vào
- 39037 lượt xem
I. Giới thiệu
Module SIM900a là một giải pháp toàn diện cho việc điều khiển và giám sát thiết bị từ xa. Đại khái là module SIM900A được coi như 1 em nokia 1280 với chức năng nghe gọi, nhắn tin, GPRS,...Sau một thời gian dài gác phím, hôm nay, mình sẽ chia sẻ cách dùng module SIM900a đọc cú pháp tin nhắn gửi đến và điều khiển thiết bị sử dụng tập lệnh AT nhé
Các bạn có thể tham khảo bài viết điều khiển thiết bị bằng tin nhắn dùng thư viện sim900 của anh PhuPOP tại đây
II. Chuẩn bị
- 1 x Arduino
- 1 x Module Sim900A (ở đây mình dùng loại module SIM900A V3)
III. Kết nối
SIM900A | Arduino |
TX | 2 |
RX | 3 |
GND | GND |
Các bạn sử dụng nguồn riêng 5v-2A và chung GND với Arduino cho module SIM900A V3 nhé :) Nguồn dưới 2A sẽ không đủ điện áp cho module SIM900A chạy, làm cho nó bị reset á :)
IV. Code thoai
String tin_nhan; #include <SoftwareSerial.h> SoftwareSerial SIM900(2, 3); // RX, TX void setup() { pinMode(13, OUTPUT); Serial.begin(9600); SIM900.begin(2400); delay(1000); //khởi tạo sim SIM900.println("AT+CMGF=1r"); //Lệnh này đưa tin nhắn về dạng text, phải có lệnh này mới đọc, gửi tin nhắn dạng text đc nhé :) delay(1000); SIM900.println("AT+CNMI=2,2,0,0,0r"); //Hiển thị ngay nếu tin nhắn gửi đến delay(1000); Serial.println("San sang!!!"); } void loop() { while (SIM900.available() > 0) { char c = SIM900.read(); //Đọc từng ký tự gửi về if (c == '#') { break; } //Nếu phát hiện ký tự "#" thì thoát vòng lặp; tin_nhan += c; //Ghép các ký tự thành 1 xâu tin_nhan } if (tin_nhan.length() > 0) { Serial.println(tin_nhan); if (tin_nhan == "bat_den") { digitalWrite(13, HIGH); } else if (tin_nhan == "tat_den") { digitalWrite(13, LOW); } tin_nhan = ""; } }
V. Kết luận
Bây giờ rút điện thoại ra các bạn soạn tin theo cú pháp đến Số điện thoại của module SIM: " bat_den# ", "tat_den# " để chiêm ngưỡng thành quả nhé :)
Chúc các bạn thành công !!!