trahoa289

New Member

Download miễn phí Đồ á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



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

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
 

Các chủ đề có liên quan khác

Top