Đồ á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

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

pdf173 trang | Chia sẻ: lethao | Lượt xem: 2917 | Lượt tải: 1download
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:

  • pdfTra cứu thông tin và Điều khiển thiết bị điện qua tin nhắn SMS.pdf