Điều khiển thiết bị bằng tin nhắn dùng SIM900A với tập lệnh AT

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é laugh

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ị

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 !!! wink

Youtube: 
lên
8 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Điều khiển 8 đèn LED qua wifi, sử dụng Arduino và ESP8266

Với mục đích giúp các bạn tiếp cận với các thiết bị IOT gần hơn. Hôm nay mình sẽ hướng dẫn các bạn viết chương trình điều khiển 8 LED qua mạng wifi. Và hơn thế nữa, nếu kết hợp với VPN hoặc mở port thì chúng ta có thể làm hơn thế nữa!

lên
43 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Điều khiển động cơ bước bằng mạch cầu H

Hôm nay, mình sẽ hướng dẫn các bạn điều khiển động cơ bước cực kỳ đơn giản với mạch cầu H thông thường, sử dụng thư viện chuẩn của Arduino. Thay vì sử dụng những Driver điều khiển động cơ bước như những bài trước!!! 

lên
42 thành viên đã đánh giá bài viết này hữu ích.

Nạp code cho Arduino Promini thông qua mạch nạp của Arduino UNO

Arduino Promini là một board mạch siêu nhỏ, và rẻ tiền....Lý do là Promini không có mạch nguồn chuyển đổi 5V, 3.3V và đặc biệt là không có mạch nạp. Vì thế bạn cần phải mua thêm một mạch nạp, để nạp code cho Arduno Promini...Nếu bạn không có mạch nạp, vậy phải làm thế nào để nạp code cho Promini?? Bạn có thể dễ dàng sử dụng board Arduino Uno R3 sẵn có của mình để nạp code cho Arduino Pro Mini khi không có mạch nạp, hay bạn muốn tiết kiệm con chip ATmega16U2 laugh

lên
20 thành viên đã đánh giá bài viết này hữu ích.