MỤC LỤC
LỜI CẢM ƠN . . i
QUYẾT ĐỊNH GIAO ĐỀ TÀI . . ii
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN . iii
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN . iv
LỜI NÓI ĐẦU . . v
MỤC LỤC . . . vii
TỪ VIẾT TẮT. . x
LIỆT KÊ HÌNH . xi
LIỆT KÊ BẢNG . xiii
CHƯƠNG 1.TỔNG QUÁT VỀ HỆ THỐNG THÔNG TIN DI ĐỘNG GSM VÀ
TIN NHẮN SMS . 1
1.1 TỔNG QUÁT VỀ HỆ THỐNG THÔNG TIN DI ĐỘNG GSM . 1
1.1.1 Giới thiệu. . . 1
1.1.2 Cấu trúc mạng GSM . 2
1.2 TỔNG QUÁT VỀ TIN NHẮN SMS . 9
1.2.1 Giới thiệu SMS . 9
1.2.2 Cấu trúc một tin nhắn SMS . 11
1.2.3 Tin nhắn SMS chuỗi/ Tin nhắn SMS dài . 11
1.2.4 SMS Centre /SMSC . 11
1.2.5 Nhắn tin SMS quốc tế . . 12
CHƯƠNG 2.GSM MODEM, TẬP LỆNH AT . 13
2.1 GSM MODEM . 13
2.1.1 Giới thiệu. . . 13
2.1.2 WAVECOM Fastrack Supreme 20 . . 13
2.2 TẬP LỆNH AT DÙNG CHO SMS . 16
2.2.1 Giới thiệu. . . 16
2.2.2 Tập lệnh AT dùng cho dịch vụ cuộc gọi và SMS . 17
CHƯƠNG 3.VI ĐIỀU KHIỂN AT89S52 VÀ LCD HD44780 . 25
3.1 VI ĐIỀU KHIỂN AT89S52 . 25
3.1.1 Giới thiệu. . . 25
3.1.2 Tổ chức bộ nhớ của AT89S52 . . . 27
3.1.3 Timer . . 30
3.1.4 Truy ền dữ liệu nối tiếp . . 32
“Tra cứu thông tin và Điều khiển thiết b ị điện qua tin nhắn” T r a n g | viii
Đồ án tốt nghiệp
3.1.5 Tóm tắt tập lệnh của vi điều khiển AT89S52 . 34
3.2 LCD HD44780 . 36
3.2.1 Chức năng các chân LCD 16x2 . 36
3.2.2 Sơ đồ khối của LCD 16x2 . . 37
3.2.3 Các thanh ghi và vùng RAM của LCD . 38
CHƯƠNG 4. XÂY DỰNG HỆ THỐNG TRA CỨU THÔNG TIN QUA TIN
NHẮN . . . 48
4.1 SƠ ĐỒ KHỐI . . 49
4.2 LƯU ĐỒ . . 50
4.3 THIẾT KẾ . 51
4.3.1 Một số hàm cơ bản liên quan đến lập trình SMS . 51
4.3.2 Kết nối Access Database với C# . 51
4.3.3 Truy ền nhận dữ liệu qua cổng com (RS232) . 53
4.3.4 Làm việc với chuỗi . 59
4.3.5 Cơ sở dữ liệu . . 59
4.3.6 Cấu hình Modem GSM . 60
4.4 GIAO DIỆN CHƯƠNG TRÌNH . 61
4.4.1 Cài đặt kết nối . . . 61
4.4.2 Giao diện chương trình chính . 61
4.4.3 Khi có tin nhắn tới . . . 62
4.4.4 Trong Tab Message gồm 4 menu: Send, Send Multiple, Read, Delete . 62
4.4.5 Menu Send . 63
4.4.6 Menu Send Multiple . 63
4.4.7 Menu Read Message . 63
4.4.8 Menu Delete . 64
4.5 TESTING . . 64
CHƯƠNG 5. THIẾT KẾ, THI CÔNG MẠCH ĐIỀU KHIỂN THIẾT BỊ ĐIỆN
QUA TIN NHẮN . 68
5.1 SƠ ĐỒ KHỐI . . 68
5.2 THIẾT KẾ MẠCH . 68
5.2.1 Khối GSM Modem . 68
5.2.2 Khối h iển thị . 72
5.2.3 Khối Relay. 73
5.3 LƯU ĐỒ CHƯƠNG TRÌNH . 73
“Tra cứu thông tin và Điều khiển thiết b ị điện qua tin nhắn” T r a n g | ix
Đồ án tốt nghiệp
5.4 TESTING . . 82
CHƯƠNG 6.KẾT LUẬN, HƯỚNG PHÁT TRIỂN ĐỀ TÀI . 87
6.1 KẾT LUẬN . 87
6.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI . 87
PHỤ LỤC . . 89
A. BẢNG MÃ ASCII . . . 89
B. GSM EQUIPMENT AND NETWORK ERROR CODES . 98
C. CÚ PHÁP TIN NHẮN . . . 102
D. HƯỚNG DẪN KẾT NỐI VÀ SỬ DỤNG . 104
E. CODE CHƯƠNG TRÌNH ĐIỀU KHIỂN THIẾT BỊ . 110
F. CODE CHƯƠNG TRÌNH TRA CỨU . 121
TÀI LIỆU THAM KHẢO . . . 160
173 trang |
Chia sẻ: lethao | Lượt xem: 3015 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Thiêt kế hệ thống tra cứu thông tin và điều khiển thiết bị điện qua tin nhắn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
lưu ý:
Thông số của cổng COM cần quan tâm là:
- Địa chỉ cổng (Port Name).
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 54
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
- Tốc độ baud (baudrate),
- Số bít trong một khung dữ liệu (data bits),
- Số bit dừng giữa các khung dữ liệu (stop bit),
- Bít kiểm tra chẵn lẻ (parity bit).
Thông thường (defaut) cài đặt : Port Name= COM1 (địa chỉ mã Hexa: 3f8),baudrate =
9600, data bits = 8, stop bit = 1, parity = none.
Cơ chế bắt tay cứng (Handshaking): Có 4 loại:
- None,
- XON/XOFF,
- CTS/RTS,
- CTS/RTS XON/XOFF
Phụ thuộc vào từng cơ chế bắt tay mà có cách nối dây khác nhau.
Nối dây cho cơ chế NONE và XON/XOFF:
Hình 4-7 Nối dây cho cơ chế NONE và XON/XOFF
Nối dây cho cơ chế CTS/RTS, CTS/RTS XON/XOFF:
Hình 4-8 Nối dây cho cơ chế CTS/RTS, CTS/RTS XON/XOFF
Thông thường người ta sử dụng cơ chế handshaking: None, vì vậy chỉ cần 3 dây nối
như hình 2.
Như vậy về phần connecter là xong. Ta đi vào lập trình.
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 55
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
Tạo 1 Windows Application trong Visual C#:
Hình 4-9Form truyền nhận dữ liệu
Trong ToolBox chọn Điều khiển SerialPort kéo vào cửa sổ Form1→ Xuất hiện đối
tượng SerialPort1 ở phía dưới. (Xem hình 4)
Và những thuộc tính của điều khiển serialPort1 ở góc dưới bên trái: Ở đây ta có thể cài
đặt các thông số của cổng COM. Để các tham số ở trang thái default: Baudrate=9600,
databits=8, handshake=none, stopbit = one, parity = none. Portname =COM1
Trong Visual Studio 2005 đã xây dựng lớp đối tượng SerialPort với đầy đủ các hàm hỗ
trợ cho phép người dùng có thể tác động đến cổng COM một các dễ dàng.
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 56
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
Hình 4-10Sử dụng Serial Port để sử dụng cho truyền dữ liệu qua cổng COM
Một số hàm cơ bản trong SerialPort thường dùng:
- SerialPort.IsOpen(): Trả lại trang thái của cổng là đang đóng hay mở.
- SerialPort.Open(): Mở cổng với thông số đã cài đặt.
- SerialPort.Close(): Đóng cổng.
- SerialPort.WriteLine(String data): Truyền một string xuống bộ đệm cổng để
truyền đi.
- SerialPort.ReadExisting (): Đọc một string từ bộ đệm cổng .
- SerialPort.ReadChar(): Đọc một giá trị kiểu char từ bộ đệm cổng.
- SerialPort.ReadByte(): Đọc một giá trị kiểu Byte từ bộ đệm cổng.
Quá trình truyền:
Quá trình truyền thì đơn gian, vì khi nào người dùng click nút truyền thì dữ liệu mới
được truyền đi
Quá trình nhận dữ liệu:
Quá trình nhận dữ liệu là rắc rối hơn một chút, vì dữ liệu đến lúc nào là chưa biết.Có
hai cách để thực hiện quá trình quá trình truyền:
- Cách một: Thường xuyên kiểm tra cổng xem dữ liệu có được truyền đến không.
- Cách hai: Phải bắt được sự kiện dữ liệu đến, khi dữ liệu đến ta gọi hàm sử lý.
Với cách 1 ta sử dụng một Timer ngắt thời gian, cứ sau một thời gian nhất định (mà ta
cài đặt Timer)hàm kiểm tra và sử lý sẽ được gọi.
Với cách 2 ta sử dụng sự kiện SerialDataReceivedEvent. Khi có sự kiện này ta sẽ đọc
và xử lý dữ liệu.
Code chương trình:
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 57
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace COM_tranceiver
{
publicpartialclassForm1 : Form
{
privatedelegatevoidSetTextCallback(string text);
public Form1()
{
InitializeComponent();
serialPort1.DataReceived+=newSerialDataReceivedEventHandler(serialPort1_DataRec
eived);
}
bool Open = true;
privatevoid Button_Trans_Click(object sender, EventArgs e)
{
if(serialPort1.IsOpen)
{
serialPort1.WriteTimeout = 500;
serialPort1.DtrEnable = true;
serialPort1.RtsEnable = true;
serialPort1.DiscardOutBuffer();
serialPort1.DiscardInBuffer();
serialPort1.WriteLine(Tbox_Trans.Text);
}
else
{
MessageBox.Show("Cong chua mo! Hay mo cong","Chu y");
}
}
privatevoid Button_Open_Click(object sender, EventArgs e)
{
if (Open)
{
Open = false;
Button_Open.Text = "Close";
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 58
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
serialPort1.Open();
}
else
{
Open = true;
Button_Open.Text = "Open";
serialPort1.Close();
}
}
privatevoid serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//string data = "";// Luu du lieu nhan
if (sender == serialPort1)
{
string data="";
data = serialPort1.ReadChar().ToString();
SetText(Tbox_Recei.Text + data);
}
}
privatevoid Form1_FormClosed(object sender, FormClosedEventArgs e)
{
MessageBox.Show("Ban muon thoat khoi chuong trinh","Chu y");
serialPort1.Close();
}
privatevoid SetText(string text)
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (this.Tbox_Recei.InvokeRequired)
{
SetTextCallback d = newSetTextCallback(SetText);
this.Invoke(d, newobject[] { text });
}
else
{
this.Tbox_Recei.Text = text;
}
}
}
}
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 59
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
4.3.4 Làm việc với chuỗi
Bài toán: lấy 2 ký tự trong 1 chuỗi cho trước rồi so sánh với 1 chuỗi khác
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
classProgram
{
staticvoid Main(string[] args)
{
string S1 = "DK";
string S2 = "DT";
string S3 = "DK00";
// lay 2 ky tu dau cua du lieu
string S4=S3.Substring(0,2);
// so sanh S4 voi S1
int kq;
kq = string.Compare(S4,S1);
if (kq==0)
{
Console.WriteLine("dieu khien thiet bi");
}
// so sanh S4 voi S1
kq = string.Compare(S4,S2);
if (kq==0)
{
Console.WriteLine("tra cuu diem");
}
}
4.3.5 Cơ sở dữ liệu
Cơ sở dữ liệu: gồm bảng Pupils và bảng Teachers:
- Bảng Pupils: dữ liệu các học sinh bao gồm các cột: MSHS, Name, Class,
Mobile, Toan, Ly, Hoa
- Bảng Teachers: dữ liệu giáo viên gồm các cột: MSGV, Name, HocVi, Mobile,
Email, ChuyenMon
Bảng Pupils và bảng Teacher tạo bằng Microsoft Access (File DATA.mdb)
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 60
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
Hình 4-11 Bảng dữ liệu sách học sinh
Hình 4-12 Bảng dữ liêu giáo viên
4.3.6 Cấu hình Modem GSM
Kết nốiGSM Modem với PC
Mở chương trình Hyper Teminal, gõ các lệnh sau:
SỐ TT LỆNH CHÚ GIẢI
1 AT
2 AT+CPIN? Kiểm tra Sim có hoạt động
3 AT+CMGF=0 Thiết lập chế độ PDU
4 AT+CNMI=2,1,0,0,0 Thiết lập khi có tin nhắn mới
5 AT+IPR=9600 Tốc độ bound = 9600bps
6 AT+ICF=3,4 8 data, 1 stop, parity: none
7 AT+IFC=2,2 Local Flow Control
Lưu ý:
- : Carriage Return = Enter
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 61
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
- Khi gõ mà không thấy chữ trên Cửa sổ Hyper Teminal mà vẫn thấy GSM
Modem phản hồi, ta gõ lệnh ATE1
- Xem thêm chú giải cho các lệnh trong “AT Commands Interface Guide”
4.4 GIAO DIỆN CHƯƠNG TRÌNH
4.4.1 Cài đặt kết nối
Chọn COM-Port, Baud rate, Timeout
Hình 4-13 Cài đặt kết nối
4.4.2 Giao diện chương trình chính
Khi kết nối thành công thì có chữ CONNECTED ở cuối màn hình, nếu không thành
công thì xuất hiện NO PHONE CONNECTION
Hình 4-14 Giao diện chương trình chính
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 62
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
4.4.3 Khi có tin nhắn tới
Màn hình sẽ xuất hiện nội dung tin nhắn đến từ số nào và sau khoảng 5s sẽ xuất hiện “1
Message sent to +84xxxxxxxxx” báo đã gửi tin nhắn trả lời
Hình 4-15 Khi có tin nhắn đến
Khi có tin nhắn đến, chương trình sẽ xử lý tin nhắn và gửi tin nhắn trả lời
4.4.4 Trong Tab Message gồm 4 menu: Send, Send Multiple, Read, Delete
Hình 4-16 Menu chương trình
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 63
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
4.4.5 Menu Send
Chức năng gửi tin nhắn: Destination Number : Nhập số điện thoại cần gửi; Message:
Nhập nội dung tin nhắn
Hình 4-17 Form Send Message
4.4.6 Menu Send Multiple
Chức năng: gửi thông báo cho phụ huynh học sinh hay giáo viên
Chọn nhóm cần gửi trong group Send To, nhập nội dung tin nhắn vào textbox
Message, sau đó click Send để gửi
Hình 4-18 Form Send Multiple Message
4.4.7 Menu Read Message
Chức năng: Đọc tất cả tin nhắn từ bộ nhớ SIM
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 64
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
Hình 4-19 Form Read Message
4.4.8 Menu Delete
Chức năng xoá 1 hay tất cả tin nhắn
Hình 4-20 Form Delete Message
4.5 TESTING
-Kết nối Modem với Máy vi tính qua cổng COM
-Cấp nguồn cho GSM Modem
-Cấu hình cho GSM Modem như phần 4.3.6
-Mở chương trình, giao diện chương trình như sau:
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 65
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
Hình 4-21 Giao diện chương trình chính
-Soạn tin nhắn theo cú pháp gửi đến Modem ví dụ: DT A103
Hình 4-22 Soạn tin tra cứu điểm thi
-Chương trình xử lý tin nhắn và gửi tin trả lời
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 66
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
Hình 4-23 Chương trình đã nhận tin và trả lời
-Điện thoại nhận tin trả lời có nội dung: MSHS: A103, Do Minh Thai: Toan: 9, Ly: 9,
Hoa: 9
Hình 4-24 Nội dung tin trả lời
-Nếu soạn tin để tra cứu thông tin giáo viên soạn:
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 67
Chương 4. Xây dựng hệ thống tra cứu thông tin qua tin nhắn
Hình 4-25 Tin nhắn tra cứu thông tin giáo viên
-Điện thoại nhận tin trả lời có nội dung:
Hình 4-26 Tin nhắn trả lời
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 68
CHƯƠNG 5. THIẾT KẾ, THI CÔNG MẠCH ĐIỀU
KHIỂN THIẾT BỊ ĐIỆN QUA TIN NHẮN
Thiết kế mạch kết nối với GSM Modem: nhận tin nhắn, xử lý tin nhắn, điều khiển
thiết bị điện (đèn và quạt) tắt hoặc mở hoặc kiểm tra trạng thái hoạt động của thiết bị
theo nội dung tin nhắn và gửi tin trả lời.
Mục đích:
- Điều khiển tắt/ mở Đèn (qua SMS)
- Điều khiển tắt/ mở Quạt (qua SMS)
- Kiểm tra trạng thái của Đèn, Quạt (qua SMS)
- Gửi tin nhắn trả lời báo kết quả (sai cú pháp; sai mật khẩu; báo trạng thái của đèn,
quạt)
Ngôn ngữ chương trình: ASSEMBLY
5.1 SƠ ĐỒ KHỐI
Nguyên lý hoạt động:
GSM Modem nhận tin nhắn, truyền cho VĐK, VĐK xử lý và đem hiển thị trên
khối hiển thị, đồng thời cũng xử lý điều khiển Relay, sau đó VĐK điều khiển GSM
Modem gửi tin nhắn trả lời thông qua tập lệnh AT
5.2 THIẾT KẾ MẠCH
5.2.1 Khối GSM Modem
Hình 5-2 GSM Modem
HIỂN THỊ GSM MODEM
VĐK
89S52 RELAY
Hình 5-1 Sơ đồ khối hệ thống
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 69
Chương 5. Thiết kế, Thi công mạch
Hình 5-3 Cáp RS232
a) Gửi các lệnh AT tới modem GSM bằng MS HyperTerminal
Để sử dụng MS HyperTerminal cho việc gửi các lệnh AT đến điện thoại di động
hay modem GSM/GPRS, bạn cần phải thực hiện theo những bước như sau:
Cho một thẻ SIM vẫn còn hoạt động vào vào trong khe cắm SIM của modem
GSM.
Kết nối modem GSM tới máy tính qua cổng COM. Nếu sử dụng cổng USB thì
phải cài đặt driver của modem GSM tương ứng cho nó. Bạn sẽ tìn thấy driver của
modem wireless trong đĩa CD mà nhà sản xuất cung cấp cho bạn. Và nếu như nhà sản
xuất không cung cấp driver cho điện thoại hay modem GSM/GPRS thì bạn có thể vào
trang web của nhà sản xuất để download nó về rồi cài vào
Chạy MS HyperTerminal bằng cách chọn Start ->Programs ->Accessories -
>Communications ->HyperTerminal
Trong hộp thoại Connection Description, hãy gõ tên và chọn một biểu tượng
icon mà bạn thích dùng cho kết nối này. Sau đó thì nhấn nút OK
Hình 5-4 Hộp thoại Connection Description
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 70
Chương 5. Thiết kế, Thi công mạch
Trong hộp thoại Connect to, chọn COM port mà điện thoại di động hay modem
GSM/GPRS đang kết nối tới tại khay Connect using. Thí dụ, bạn có thể chọn COM khi
điện thoại di động hay modem đang được kết nối với port COM1. Sau đó thì nhấn nút
OK.
Hình 5-5 Hộp thoại Connect to
Hộp thoại Properties xuất hiện. Chọn các thiết lập port chính xác cho modem
GSM/GPRS. Sau đó click vào nút OK
Hình 5-6 Hộp thoại Properties
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 71
Chương 5. Thiết kế, Thi công mạch
(để tìm ra các thiết lập chính xác phù hợp modem GSM/GPRS thì có một cách đó là
tra sổ hướng dẫn cầm tay của modem GSM/GPRS. Và một cách khác là kiểm tra các
thiết lập port được sử dụng cho driver của modem wireless mà bạn cài đặt trước đó ).
Gõ “AT” ở trong cửa sổ màn hình window chính. Một phản hồi “OK” sẽ được
trả lời từ điện thoại di động hay modem GSM/GPRS
Gõ “AT+CPIN?” trong cửa sổ màn hình window chính. Lệnh AT “AT+CPIN”
được sử dụng để chất vần liệu điện thoại di động hay modem GSM/GPRS đang đợi
một PIN có đúng không (personal identification number _số nhận dạng cá nhân, ví dụ
như password). Nếu thấy có phan3hoi62 là “+CPIN:READY”thì nó có nghĩa là thẻ
SIM không yêu cầu có một PIN và nó đã sẵn sàng cho sử dụng. Còn nếu như thẻ SIM
của bạn yêu cầu có một PIN thì bạn cần đặt PIN thông qua lệnh AT
“AT+CPIN+”.
Hình 5-7 Cửa sổ làm việc
Nếu như bạn nhận được phản hồi như cửa sổ màn hình trên thì điện thoại di
động hay modem GSM/GPRS đang hoạt động đúng. Và tới đây bạn có thể gõ cá lệnh
AT theo ý riêng của bạn để điều khiển điện thoại di động hay modem GSM/GPRS.
b) Cấu hình cho Modem:
Kết nối Modem GSM với PC
Mở chương trình Hyper Teminal, gõ các lệnh sau:
SỐ TT LỆNH CHÚ GIẢI
1 AT
2 AT+CPIN? Kiểm tra Sim có hoạt động
3 AT+CMGF=1 Thiết lập chế độ TEXT
4 AT+CNMI=0,1,0,0,0 Thiết lập khi có tin nhắn mới
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 72
Chương 5. Thiết kế, Thi công mạch
5 AT+IPR=9600 Tốc độ bound = 9600bps
6 AT+ICF=3,4 8 data, 1 stop, parity: none
7 AT+IFC=2,2 Local Flow Control
8 AT+CSAS Lưu cấu hình
Lưu ý:
- : Carriage Return = Enter
- Khi gõ mà không thấy chữ trên Cửa sổ Hyper Teminal mà vẫn thấy GSM
Modem phản hồi, ta gõ lệnh ATE1
- Xem thêm chú giải cho các lệnh trong “AT Commands Interface Guide”
c) Mạch giao tiếp giữa GSM modem và vi điều khiển
Sơ đồ nguyên lý:
Hình 5-8 Sơ đồ mạch nguyên lý mạch vi điều khiển
Giao tiếp giữa GSM Modem với VĐK qua cổng COM của GSM Modem sử
dụng IC MAX232 để chuyển từ RS232 sang TTL và ngược lại.
5.2.2 Khối hiển thị
Khối hiển thị sử dụng LCD16x2, sơ đồ kết nối như hình:
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 73
Chương 5. Thiết kế, Thi công mạch
Hình 5-9 Khối hiển thị
- Các chân VDD và VSS được nối với nguồn và GND.
- Chân VEE được nối tới biến trở để chỉnh độ tương phản của LCD.
- Các chân RS, RW\ và E được kết nối tới VĐK để điều khiển đọc / ghi LCD.
- Các chân D0 – D7 nối tới port của VĐK
5.2.3 Khối Relay
Relay sẽ đóng hay ngắt là do VĐK điều khiển dựa vào kết quả xử lý.
Hình 5-10 Sơ đồ nguyên lý khối Relay
Tín hiệu điều khiển từ VĐK sẽ được đưa qua cổng EX-OR để đóng ngắt
Transistor. Transistor dẫn thì Relay đóng, đồng thời Led báo hiệu cũng sáng báo hiệu
Relay đóng. Ngoài ra còn có công tắc điều khiển đóng ngắt Relay.
5.3 LƯU ĐỒCHƯƠNG TRÌNH
Qúa trình truyền nhận dữ liệu giữa Modem GSM và Vi điều khiển
(1) Modem GSM gửi “+CMTI: “SM”, 1” cho vi điều khiển
khi có tin nhắn tới Modem GSM
(2)Vi điều khiển nhận dữ liệu, kiểm tra nếu đúng là “+CMTI” thì gửi
“AT+CMGR=1” để đọc tin nhắn ở vị trí số 1
(3) Modem GSM nhận dữ liệu và gửi cho VĐK tin nhắn ở ngăn chứa số 1
(4)Vi điều khiển nhận tin nhắn, xử lý tin nhắn… và gửi
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 74
Chương 5. Thiết kế, Thi công mạch
”AT+CMSS=Y,+84xxxxxxxx”
Y: ngăn chứa tin nhắn muốn gửi
+84xxxxxxxxx : Số điện thoại muốn gửi tin nhắn
(5) Modem phản hồi kết quả cho VĐK (đã gửi tin nhắn tới số +84xxxxxxxx)
(6) Vi điều khiển nhận dữ liệu và gửi lệnh: “AT+CMGD=1” để yêu cầu
modem GSM xóa tin nhắn ở ngăn chứa số 1 để xử lý tin nhắn sau.
Hình 5-11 Quá trình chương trình truyền nhận dữ liệu giữa VĐK và Modem
Lưu đồ chương trình
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 75
Chương 5. Thiết kế, Thi công mạch
Hình 5-12 Lưu đồ chương trình chính
Các lưu đồ chương trình con:
- Nhận dữ liệu
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 76
Chương 5. Thiết kế, Thi công mạch
Chương trình con “NHẬN DỮ LIỆU” được gọi khi Vi điều khiển muốn nhận dữ
liệu từ Modem GSM
Trước khi gọi chương trình con “NHẬN DỮ LIỆU” thì phải biết số ký tự LF mà
Modem GSM gửi cho VĐK để kết thúc chương trình “NHẬN DỮ LIỆU”
Dữ liệu sẽ được lưu theo Byte vào 30H, 31H, 32H…..
Ví dụ: Modem GSM gửi dữ liệu: +CMTI: “SM”, 1
thì các lệnh ASM là:
MOV KTULF,#2
CALL NHANDULIEU
Dấu “CR” được lưu vào ô nhớ 30H
Dấu “+” được lưu vào ô nhớ 31H
Chữ “C” được lưu vào ô nhớ 32H
…
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 77
Chương 5. Thiết kế, Thi công mạch
Hình 5-13 Lưu đồ chương trình nhận dữa liệu
- Gửi dữ liệu:
Chương trình con GỬI DỮ LIỆU được gọi khi muốn gửi dữ liệu cho Modem GSM
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 78
Chương 5. Thiết kế, Thi công mạch
Dữ liệu luôn kết thúc bằng dấu “#” có mã ASCII là 35 (HỆ THẬP PHÂN). Đây
cũng là đánh dấu kết thúc việc gửi dữ liệu
Mỗi lần truyền 1 Byte
GỬI DỮ LIỆU
RET
TI=1?
A=’#’?
S
Đ
S
Đ
TANG THU TU GUI
XOÁ CỜ RI XOÁ CỜ TI
SBUF=A
A=THU TU GUI
THU TU GUI =0
A=@A+DPTR
Hình 5-14 Lưu đồ chương trình gửi dữ liệu
- Lấy địa chỉ:
Chương trình con “LẤY ĐỊA CHỈ” được gọi sau khi VĐK nhận tin nhắn, giúp
ta biết vị trí ô nhớ đầu tiên chứa số điện thoại, vị trí ô nhớ chứa địa chỉ cuối của tin
nhắn, vị trí ô nhớ đầu tiên chứa nội dung tin nhắn
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 79
Chương 5. Thiết kế, Thi công mạch
Ví dụ:
Tin nhắn mà Modem GSM gửi cho VĐK:
+CMGR: "REC UNREAD","+84973230369",,"07/05/
15,09:32:05+28"
*0714* TH
OK
Ô nhớ 51H 52H 53H 54H 55H 56H 57H 58H …
Nội dung “ + 8 4 9 7 3 2 …
Ô nhớ 65H 66H 67H 68H 69H 6AH 6BH 6CH 6DH 6EH
Nội dung * 0 7 1 4 * T H
Thì sau khi gọi: Chương con LẤY ĐỊA CHỈ, kết quả là:
-Địa chỉ số điện thoại: DCSODT=51H
-Địa chỉ dữ liệu: DCDULIEU=65H
-Địa chỉ cuối: DCCUOI=6EH
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 80
Chương 5. Thiết kế, Thi công mạch
LẤY ĐỊA CHỈ
RET
@R0=’’?
@R0=+?
DCSODT=R0
DCCUOI=R0
S
Đ
S
Đ
R0 = 31H
INC R0
DEC R0
@R0=CR?
INC R0
DCDULIEU=R0
INC R0
INC R0
@R0=CR?
Đ
S
S
Đ
Hình 5-15 Lưu đồ chương trình lấy địa chỉ
- So sánh:
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 81
Chương 5. Thiết kế, Thi công mạch
Chương trình con SO SÁNH dùng để so sánh dữ liệu cần so sánh (ví dụ dữ liệu nhận
được từ Modem GSM) với dữ liệu lưu trong VĐK (các DB). Nếu giống nhau thì
CHECK=1, còn ngược lại: CHECK=0
Hình 5-16 Lưu đồ chương trình so sánh
- Gửi tin nhắn:
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 82
Chương 5. Thiết kế, Thi công mạch
Hình 5-17 Lưu đồ chương trình gửi tin nhắn
Muốn Modem gửi tin nhắn đã lưu trong SIM thì VĐK gửi cho
Modem:’AT+CMSS=,’
Ví dụ: Gửi tin nhắn ở vị trí 3 trong bộ nhớ SIM tới số 0908010801, ta thực hiện như
sau: AT+CMSS=3,”+84908010801”
5.4 TESTING
-Gắn SIM, Ăng ten cho Modem GSM
-Kết nối Modem GSM với mạch vi điều khiển
+Relay màu đen: Relay 1: Đèn
+Relay màu xanh: Relay 2: Quạt
Hình 5-18 Hệ thống sau khi kết nối
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 83
Chương 5. Thiết kế, Thi công mạch
-Cấp nguồn cho mạch vi điều khiển và modem GSM: LCD xuất hiện dòng chữ: “ĐIỀU
KHIỂN THIẾT BỊ DIỆN QUA SMS”, Led báo nguồn sáng, 2 led báo 2 relay ngắt
Hình 5-19 Hệ thống ở chế độ chờ
-Nhắn tin theo cú pháp tới Modem GSM, Ví dụ: *0714* MD, có nghĩa mở đèn
Hình 5-20 Gửi tin nhắn mở đèn
-LCD xuất hiện dòng chữ “CÓ TIN NHẮN”, sau đó khoảng 1s xuất hiện 2 dòng: dòng
trên hiển thị số điện thoại điều khiển: “+841227684024”; dòng 2 hiển thị nội dung tin
nhắn:*0714* MD
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 84
Chương 5. Thiết kế, Thi công mạch
Hình 5-21 LCD hiện thị có tin nhắn đến
Hình 5-22 LCD hiển thị số điện thoại và nội dung tin nhắn
-Kết quả relay 1 ngắt, relay 2 gửi trạng thái cũ: Đèn ON, QUẠT gữi nguyên trạng thái
cũ
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 85
Chương 5. Thiết kế, Thi công mạch
Hình 5-23 Đèn mở, quạt tắt
-Tin nhắn trả lời có nội dung như sau: DEN: ON, QUAT: OFF
Hình 5-24 Tin nhắn trả về
-Tiếp tục nhắn tin theo cú pháp tới GSM Modem, Ví dụ: *0714* TD MQ, có nghĩa là
tắt đèn, mở quạt
-LCD xuất hiện:
“Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn” T r a n g | 86
Chương 5. Thiết kế, Thi công mạch
Hình 5-25 LCD hiển thị số điện thoại và nội dung tin nhắn
-Kết quả: relay 1 ngắt, relay 2 đóng: ĐÈN TẮT, QUẠT MỞ
Hình 5-26Đèn tắt, quạt mở
T r a n g | 87
Chương 6. Kết luận, hướng phát triển đề tài
CHƯƠNG 6. KẾT LUẬN, HƯỚNG PHÁT TRIỂN ĐỀ TÀI
6.1 KẾT LUẬN
Qua thời gian nghiên cứu, thi công đồ án đã cơ bản được hoàn thành. Bằng sự nỗ
lực cố gắng của bản thân mỗi cá nhân và sự phân chia, phối hợp công việc hợp lí, chặt
chẽ, nhịp nhàng giữa mỗi thành viên của nhóm, bên cạnh đó còn là sự hướng dẫn nhiệt
tình, tận tâm của thầy Trần Văn Phát, đồ án này đã được hoàn thành đúng thời gian như
đã định và đã đạt được yêu cầu đặt ra theo yêu cầu là Tra cứu thông tin và Điều khiển
thiết bị điện qua tin nhắn SMS. Trong quá trình thực hiện đề tài, chúng em đã thu được
những kết quả nhất định như sau:
- Có kiến thức về Modem WAVECOM, GSM Modem
- Gửi, đọc, xoá tin nhắn thông qua tập lệnh AT
- Giao tiếp GSM Modem với PC qua cổng COM với Visual C#
- Kết nốivới cơ sở dữ liệu, Xử lý tìm kiếm trong cơ sở dữ liệu
- Lập trình tự động trả lời khi có tin nhắn tới GSM Modem
- Giao tiếp giữa modem GSM và VĐK AT89S52
- Chương trình assembly cho VĐK giao tiếp, Điều khiển modem GSM, Điều khiển
thiết bị điện
- Mô phỏng truyền nhận dữ liệu giữa VDK và GSM Modem
- Thi công mạch mạch giao tiếp giữa GSM Modem và VĐK, mạch điều khiển thiết
bị (Relay)
Với sự hướng dẫn tận tình của Thầy Đinh Quốc Hùng, sự giúp đỡ của bạn bè, sự
động viên của gia đình và sự nỗ lực, cố gắng của bản thân, Nhóm chúng em đã thiết kế
thành công 2 hệ thống có thể áp dụng vào thực tế:
- Hệ thống Tra cứu thông tin qua tin nhắn SMS: ứng dụng cho một trường THPT
Học sinh hay phụ huynh có thể tra cứu điểm thi qua một tin nhắn
Học sinh hay phụ huynh có thể tra cứu thông tin giáo viên qua tin nhắn
Nhà trường có thể gửi thông báo đến PHHS qua tin nhắn
Nhà trường có thể gửi thông báo đến các giáo viên trong trường qua tin nhắn
- Hệ thống Điều khiển từ xa Thiết bị điện (Đèn, Quạt) qua Tin nhắn SMS
Điều khiển tắt hoặc mởđèn qua tin nhắn
Điều khiển tắt hoặc mởquạt qua tin nhắn
Kiểm tra trạng thái của đèn và quạt qua tin nhắn
Có tính bảo mật: đúng mật khẩu mới điều khiển thiết bị
Điều khiển từ xa với thời gian không khác gì điều khiển bằng công tắc ở nhà
6.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI
Do thời gian thực hiện đề tài có hạn và lượng kiến thức cá nhân mỗi thành viên
của nhóm là nhất định nên đề tài thực hiện xong chỉ đáp ứng được một phần nhỏ của
một hệ thống hoàn chỉnh. Vì vậy, để đề tài này thêm phong phú hơn, mang nhiều tính
thực tế hơn nữa, có khả năng ứng dụng cao hơn thì đề tài cần đưa thêm vào những yêu
cầu như sau:
- Hệ thống điều khiển được nhiều thiết bị điện hơn
- Cảnh báo sự cố hệ thống bằng cách nhắn tin tới người quản trị
T r a n g | 88
Chương 6. Kết luận, hướng phát triển đề tài
- Kết nối với cảm biến nhiệt độ: khi nhiệt độ lên cao thì ngắt relay và nhắn tin tới
người quản trị; người điều khiển có thể kiểm tra nhiệt độ bằng tin nhắn
- Nâng cấp phần cơ sở dữ liệu: có nhiề
Các file đính kèm theo tài liệu này:
- Tra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn SMS.pdf