Đ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
14 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

ST7565 và ESP8266 - Màn hình LCD bự chà bá chưa đến 100k cho thế giới IoT

Mình rất thích LCD ST7565 này, và đã đặt liền 4 con mà mỗi con quá rẻ có 20k. Nhưng khổ một điều, điện áp hoạt động và IO của LCD ST7565 có 3.3V. Bản thân mình lại không thích việc chơi điện trở để chơi LCD này với Arduino. Lý do đơn giản là phải hàn quá nhiều, mình lại lười crying. Hổm nay, mình đang làm loạt bài về ESP8266 và cũng phải gặp vấn đề điện trở để làm cầu phân áp khi giao tiếp giữa ESP8266 và Arduino.

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

Thư viện ST7565 trên Arduino Create - Thử nghiệm đầu tiên: Hoàn hảo!

Mình rất tự hào và hãnh diện, khi thư viện made in Việt Nam đầu tiên của Thái Sơn (Nick Chung) được mình tải lên tại Arduino Create với mục đích thử nghiệm việc biên dịch code online trên Arduino Create đã hoàn thành công việc của nó ngay trong lần thử đầu tiên. Qua bài viết này, mình xin hướng dẫn các bạn lập trình Arduino với Arduino Create thông qua việc làm một ví dụ mẫu về việc cài thư viện và sử dụng nó trên Arduino Create.

lên
7 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ả

Phần 4. Tiếp nối dự án Robot dò line

Tiếp nối chuỗi bài viết của bạn Đinh Hồng Thái về robot dò line...Nhưng vì lý do nào đó, bạn Thái đã ngừng chuỗi bài viết của mình một cách dở dang!!! Hôm nay, mình sẽ hướng dẫn các bạn phần cuối của Series Robot dò line của bạn Đinh Hồng Thái.

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

Nên chọn Arduino hay Raspberry Pi để phát triển các dự án IoT?

Nếu bạn là người quen thuộc với các dự án điện tử dạng tự làm (Do-It-Yourself hay còn gọi tắt là DIY), có lẽ bạn đã nghe nói về những tính năng tuyệt vời của Arduino và Raspberry Pi. Thậm chí bạn có thể cho rằng 2 nền tảng phần cứng này đang cạnh tranh quyết liệt để giải quyết các vấn đề giống nhau.

lên
47 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: