SIM900(A) Mini

Từ ChipFC Wiki
Bước tới: chuyển hướng, tìm kiếm
SIM900(A) Mini
SIM900(A) Mini

Thông tin chung

SIM900A trên trang chủ

Giới thiệu

  • SIM900(A) là module GSM/GPRS của hãng SIMCom được thiết kế dưới dạng module chipset, nhỏ gọn, giá thành thấp, hoạt động ổn định và phù hợp cho nhiều mục đích sử dụng. Module SIM900(A) có các tính năng cơ bản của một chiếc điện thoại như gọi điện thoại, nhắn tin, truy cập GPRS,...
  • Mô-đun SIM900(A) Mini của ChipFC thiết kế dựa trên chipset SIM900(A). SIM900(A) Mini được tích hợp các linh kiện, kết nối cần thiết, sẵn sàng cho người sử dụng để nghiên cứu, học tập hoặc làm demo nhanh chóng, tiện lợi các dự án có ứng dụng GSM/GPRS. SIM900(A) Mini nhỏ gọn, tiết kiệm chi phí, giúp người dùng tiếp cận và sử dụng nhanh nhất cho dự án của mình.

Thông số

  • Băng thông:
    • SIM900A: Dual-band GSM/GPRS 900/1800MHz
    • SIM900: Quad-band GSM/GPRS 850/900/1800/1900MHz
  • Giao diện giao tiếp UART (hỗ trợ cả 3.3V và 5V)
  • Điều khiển thông qua tập lệnh AT chuẩn (GSM 07.07 ,07.05) và các lệnh nâng cấp của SIMCOM
  • Nguồn cấp: các nguồn có thể dùng
    • Adapter 5-12VDC, 2-3A. Jack cắm tròn 5mm.
    • Pin Lipo 1-cell (3.7V).
  • Nhiệt độ hoạt động: -40°C đến +85°C
  • Kích thước: 63.5mm x 43.2mm x 12.0mm

Kết nối tín hiệu điều khiển

Hàng rào 10 chân:

Sim900mini pinout.png
Thứ tự chân Tên gọi Loại Mô tả
1 VCC Power Điện áp so sánh 3.3V/5V. Chỉ dùng để so sánh áp cho mô-đun chuyển áp tín hiệu, không có tác dụng cấp nguồn cho SIM900.
2 Status Output Theo dõi nhanh trạng thái hoạt động của module SIM900
4 Power Key Input Chân bật/tắt module SIM900 (tín hiệu PowerKey), tích cực mức cao.
5 TXD Output Chân truyền trong điều khiển UART, tương thích 3.3V/5V tùy thuộc vào VCC
7 RXD Input Chân nhận trong điều khiển UART, tương thích 3.3V/5V tùy thuộc vào VCC
6,8 VIN Power Ngõ cấp nguồn vào cho mô-đun. Có cùng tác dụng với ngõ Jack DC 5mm trên mô-đun. Từ 5~12 VDC, 2~3 Amp.
3,9,10 GND Power Điện áp đất 0V

Sử dụng cơ bản

Khởi động

Thực hiện tuần tự các bước sau:

  • Cấp nguồn:
    • Có thể sử dụng Adapter chuyển AC-to-DC để cấp nguồn (khuyên dùng loại 5V/2A)
    • Phần nguồn rất quan trọng, nếu nguồn không đúng sẽ làm ảnh hưởng đến hoạt động của SIM900(A).
    • Jack đầu ra của Adapter thì ở giữa phải là cực dương, phía ngoài là cực âm.
    • Khi được cấp nguồn, đèn led màu đỏ Power sẽ sáng.
  • Nhấn nút khởi động: nhấn giữ nút PKey khoảng 2 giây. Khi thấy đèn led NetLight màu xanh lam chớp tắt liên tục tức là module đã được khởi động xong và đang hoạt động.


Chú ý:

  • Khi cần tắt SIM900(A) cũng nhấn giữ nút PowerKey đến khi đèn Status và NetLight tắt hẳn (khoảng 2 giây). Sau đó mới ngắt điện.
  • SIM900(A) được điều khiển thông qua các lệnh AT (tập lệnh AT - AT Command Set). Để SIM900(A) thực hiện các tác vụ như: gọi điện thoại, gửi tin nhắn, ... ta cần truyền lệnh điều khiển nó. Hãy xem tiếp phần sau.

Điều khiển thông qua máy tính

Trong phần này chúng ta sẽ dùng máy tính kết nối với SIM900(A) để truyền lệnh điều khiển. Bạn cần thực hiện tuần tự theo các bước sau:

Kết nối

  • Dùng mô-đun USB-to-Serial làm trung gian giữa SIM900(A) Mini và máy tính:
Kết nối USB-to-Serial với SIM900(A) theo thứ tự trong bảng sau:
USB to Serial - FTDI SIM900(A) Mini
+ VCC
- GND
Rx TXD
Tx RXD
Kết nối USB-to-Serial với máy tính dùng cáp USB. Xem thêm USB to Serial - FTDI
Kết nối SIM900AMini.jpg


  • Lắp SIM Card và Anten cho mô-đun SIM900(A) Mini
  • Cấp nguồn và nhấn giữ nút PKey để khởi động

Phần mềm truyền lệnh

  • Phần mềm trên máy tính: Trên máy tính cần có một phần mềm để truyền lệnh điều khiển, bạn có thể sử dụng Terminal, có thể tải về tại đây. Terminal là phần mềm cho hệ điều hành Windows, chạy trực tiếp không cần cài đặt. Sau khi tải về bạn chỉ cần giải nén và nhấp đúp vào tập tin .exe để chạy chương trình.
  • Các thao tác sử dụng cơ bản
Hướng dẫn SIM900 Terminal.jpg



Các mũi tên màu đỏ trên hình được giải thích trong bảng sau:

Số thứ tự Tên gọi Giải thích
1 Baudrate Tốc độ truyền dữ liệu. Bạn chọn 115200.
2 ReScan Quét tìm tất cả các cổng COM có trong máy tính và liệt kê vào danh sách COM Port. Trường hợp khi nhấn nút ReScan mà không thấy cổng COM nào xuất hiện trong danh sách COM Port thì hãy xem lại việc kết nối mô-đun USB to Serial - FTDI với máy tính và việc cài đặt driver.
3 COM Port Danh sách COM Port
4 Connect Nhấn nút này để kết nối với cổng COM đã chọn trong danh sách COM Port
5 +CR Tự động thêm ký tự kết thúc (0x0D) vào sau câu lệnh khi được gửi bằng nút Send. Khi sử dụng SIM900(A) bạn cần chọn ô này.
6 Ô các ký tự cần gửi qua cổng COM đã kết nối.
7 Send Nhấn nút này để gửi các ký tự đã nhập trong ô 6 xuống SIM900(A) thông qua cổng COM đã kết nối.
8 Receive Khung hiển thị các ký tự mà SIM900(A) trả về thông qua cổng COM đã kết nối.


Các lệnh cơ bản

  • AT

Lệnh AT là lệnh kiểm tra. Khi gửi lệnh AT mà SIM900(A) trả lời OK tức SIM900(A) đang hoạt động bình thường.

Máy tính hỏi:
AT
SIM900(A) trả lời:
AT
OK
  • ATD

Lệnh ATD dùng để thực hiện cuộc gọi. Cú pháp ATD[số điện thoại];. Chú ý là có ký tự dấu chấm phẩy ở cuối. Khi SIM900(A) trả lời OK thì cuộc gọi thực hiện thành công, đang chờ đầu dây bên kia trả lời. Nếu không hãy kiểm tra lại việc lắp SIM Card, Anten...

Máy tính hỏi:
ATD0913005013;
SIM900(A) trả lời:
ATD0913005013;
OK
  • ATH

Lệnh ATH dùng để ngắt/dừng cuộc gọi đang thực hiện.

Máy tính hỏi:
ATH
SIM900(A) trả lời:
ATH
OK
  • AT+CMGS

Lệnh AT+CMGS dùng để gửi tin nhắn ký tự. Cú pháp AT+CMGS="[số điện thoại]". Sau khi SIM900(A) nhận được lệnh này sẽ trả về ký tự ">". Tiếp đó bạn gửi tiếp nội dung tin nhắn và kết thúc phần tin nhắn bằng 0x1A và 0x00.

Máy tính hỏi:
AT+CMGS="0913005013"
SIM900(A) trả lời:
>
Máy tính hỏi:
Hello$1A$00
SIM900(A) trả lời:
Hello
+CMGS: <mr>
OK
Trong đó <mr> (Message Reference) là một số.

Sử dụng với Arduino

Kết nối

  • Kết nối bo Arduino với SIM900(A) Mini như sau:
SIM900(A) Mini Arduino
VCC IOREF/5V/3V3
GND GND
TXD D2
RXD D3
Kết nối Arduino với SIM900(A)Mini.jpg
  • Kết nối bo Arduino với máy tính bằng cáp USB.
  • Cấp nguồn cho SIM900(A) Mini bằng Adapter như trên.
  • Chắc chắn rằng bạn đã lắp SIM Card và Anten cho SIM900(A) Mini trước khi khởi động bằng cách nhấn nút PKey trên SIM900(A) Mini.

Tải thư viện

  • Cộng đồng nguồn mở đã phát triển thư viện GSM/GPRS/GPS cho Arduino giúp bạn tiết kiệm thời gian và dễ dàng tiếp cận với các mô-đun GSM/GPRS/GPS sử dụng tập lệnh AT.
  • Xem link tải về ở phần Tham khảo thêm bên dưới.
  • Xem thêm Thư viện Arduino nếu bạn chưa biết cách sử dụng một thư viện Arduino.

Lập trình điều khiển

Sau khi tải thư viện GSM/GPRS/GMS về và giải nén vào thư mục Libraries của thư mục chứa Arduino IDE, bạn mở chương trình Arduino IDE lên để viết chương trình.

Chương trình gọi điện và nhắn tin đơn giản

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "call.h"
#include "sms.h"

CallGSM call;            //Tạo mới một đối tượng CallGSM để thực hiện cuộc gọi
SMSGSM sms;              //Tạo mới một đối tượng SMSGSM để thực hiện nhắn tin
boolean started = false; //Cờ kiểm tra

void setup() 
{
  Serial.begin(9600);    //Khởi động Serial phục vụ việc debug
  Serial.println("GSM Shield testing.");

  if (gsm.begin(2400)){  //Khởi động việc kết nối SIM900(A)
    Serial.println("status=READY");
    started = true;      //Kết mối với SIM900(A) thành công
  }
  else 
  {
    Serial.println("status=IDLE");
  }
};

void loop() 
{
  if(started){
    call.Call("0913005013");        //Thực hiện cuộc gọi đến số 0913005013
    Serial.println("Calling");
    
    delay(10000);                   //Chờ 10 giây
    
    call.HangUp();                  //Gác máy
    Serial.println("HangUp");
    
    delay(2000);                    //Chờ 2 giây
    
    sms.SendSMS("0913005013", "Hello ChipFC");//Gửi tin nhắn đến số 0913005013
    Serial.println("Send sms");
    
    delay(2000);                    //Chờ 2 giây
    
    Serial.println("Done");
    started = false;                //Để không thực hiện tiếp
  }
  delay(1000);
};

Kết quả

Kết quả quan sát qua Serial Monitor của Arduino IDE

Kết quả SIM900A Arduino.jpg

Tham khảo thêm

Chú thích