Khối phần mềm giao tiếp và thiết bị điều khiển

Một phần của tài liệu Hệ thống SMS University phần 2 (Trang 27 - 39)

- ATA {Enter}: trả lời cuộc gọi Khi modem báo OK nghĩa là cuộc gọi đang

2.1.3.3. Khối phần mềm giao tiếp và thiết bị điều khiển

2.1.3.3.1. Lưu đồ thuật giải

Trước khi bắt tay vào viết chương trình, chúng ta cần phân tích yêu cầu và nhiệm vụ của chương trình từđĩ tìm ra lưu đồ thuật tốn tối ưu nhất. Việc xây dựng lưu đồ thuật giải giúp ta cĩ cái nhìn tổng quát hơn về chương trình cũng như dễ dàng hơn cho việc viết chương trình sau này. Sau đây là thuật tốn của chương trình:

No Begin Khởi tạo Kiểm tra modem Cĩ tin nhắn mới? A B

Hình 2.8: Lưu đồ thuật giải No Phím THAY SỐĐIỆN THỌAI nhấn? Thực hiện cuộc gọi Yes No Phím GỌI nhấn? Đọc tin nhắn Yes A B End Thực hiện gửi tin nhắn No Yes Phím GỬI TIN NHẮN nhấn? Tiến hành thay sốđiện thọai Yes

2.1.3.3.2. Lập trình

- Giao diện hệ thống được lập trình bằng phần mềm Visual Basic 6.0. Cơ sở

dữ liệu (thơng tin về người sử dụng) được lưu trong một file Excel cĩ nội dung như

sau:

Hình 2.9: File cơ sở dữ liệu của hệ thống

- Chương trình sẽ truy cập vào cơ sở dữ liệu này để gửi tin nhắn hay thay số điện thoại cho người sử dụng.

- Ngồi những thơng báo chung cho mọi sinh viên (như thơng báo về lịch học, thơng báo về điểm,…), hệ thống sẽ chọn lọc cơ sở dữ liệu đối với những tin nhắn ngồi mục đích học tập. Sự chọn lọc này nhằm tránh trường hợp tin nhắn thơng báo của hệ thống trở thành tin rác đối với người sử dụng và được thực hiện thơng qua sở

thích của mỗi người. Sở thích của mỗi cá nhân là khác nhau và được người sử dụng lựa chọn khi đăng ký tham gia dịch vụ. Những sở thích này được mã hố bằng những con sốđể thuận tiện trong quá trình lập trình. Bảng mã hĩa sở thích như sau:

Bảng 2.2: Mã hĩa sở thích

Sở thích Mã hố

Hoạt động thể dục thể thao của trường, khoa, lớp… 1 Hoạt động văn nghệ của trường, khoa, lớp… 2

Phong trào Robocon 3

Hoạt động xã hội của Đồn trường (chương trình Tiếp Sức

Mùa Thi, Mùa Hè Xanh,…) 4

Thơng tin về các buổi Semina của trường, khoa 5 Thơng tin về các hoạt động giải trí (lễ hội Halloween, câu

lạc bộ tiếng Anh,…) 6

- Thiết bịđiều khiển (máy tính) giao tiếp với modem GSM theo chuẩn RS232.

Đây là một chuẩn giao tiếp nối tiếp. Tín hiệu truyền dưới dạng các bit và vận tốc truyền thơng dụng là 300, 600, 1200, 2400, 4800, 9600, 19200… bit/s (baud). Đối với modem GSM, tốc độ truyền là 9600 baud, một số lọai modem sử dụng tốc độ 115200 baud.

- Cổng giao tiếp nối tiếp của máy tính là cổng COM, do đĩ, để thiết lập liên kết ta phải chọn cổng COM và cài đặt chếđộ truyền dữ liệu:

Private Sub Form_Load()

MSComm1.CommPort = 4 'chon cong com 1

MSComm1.Settings = "9600,N,8,1" 'Toc do truyen 9600, du lieu 8 bit, 1 bit stop

MSComm1.InputLen = 0 MSComm1.RThreshold = 1

MSComm1.PortOpen = True 'lenh mo cong

End Sub

- Trước khi modem hoạt động ta phải kiểm tra modem và Sim. Chỉ cần nhấn nút KHỞI TẠO, chương trình sẽ truyền lệnh AT xuống modem để kiểm tra thiết bị:

Private Sub Command5_Click() 'khoi tao

MSComm1.Output = "AT+CMGF=1" & Chr(13) End Sub

- Sau khi sọan tin nhắn, chọn cơ sở dữ liệu (số điện thọai của người sử dụng dịch vụ) và nhấn nút GỬI TIN NHẮN thì hệ thống sẽ truy cập vào file Excel chứa cơ

sở dữ liệu đã chọn. Tiếp đến, hệ thống kiểm tra họat động của modem bằng lệnh

AT+CMGF. Nếu modem họat động bình thường, hệ thống sẽ gửi tin nhắn bằng lệnh

AT+CMGS. Sau đây là chương trình con gửi tin nhắn:

Private Sub Command6_Click() 'gui tin nhan

Dim xApp As Excel.Application Dim xBook As Excel.Workbook Dim xSht As Excel.Worksheet Dim xCell As Excel.Range

Set xApp = New Excel.Application Set xApp = New Excel.Application

If Option1.Value = True Then Set xBook = xApp.Workbooks.Open("d:\" & Combo1.Text & ".xls")

If Option2.Value = True Then Set xBook = xApp.Workbooks.Open("d:\" & Combo2.Text & ".xls")

If Option3.Value = True Then Set xBook = xApp.Workbooks.Open("d:\" & Combo3.Text & ".xls")

Set xSht = xBook.Worksheets("Sheet1") xSht.Select

MSComm1.Output = "AT+CMGF=1" & Chr(13) For i = 1 To 200

Set xCell = xSht.Cells(i, 2) xCell.Select

Text10.Text = xCell Text1.Text = Text10.Text

Call DELAY(10)

If Text1.Text = "" Then Exit Sub

MSComm1.Output = "AT+CMGS=" & Text3.Text & Text1.Text & Text4.Text & Chr(13) Call DELAY(10) End If Text8.Text = Text5.SelStart Text5.SelStart = 0 LAP: Call DELAY(10)

Text5.SelLength = 1 'So ky tu moi lan chon la 1 ky tu

Text6.Text = Text5.SelText 'Text6 se chua ky tu ma con tro dang chi den trong text3

Text5.SelStart = Text5.SelStart + 1 'Dich con tro trong text3 qua 1 ky tu sau moi lan xay ra ngat timer

MSComm1.Output = Text6.Text 'Xuat ky tu trong text6 ra cong com

Text7.Text = Text5.SelStart 'Text7 de dem so ky tu da xuat

If Text7.Text = Text8.Text Then 'Kiem tra neu so ky tu da xuat bang voi so ky tu da nhap thi tat timer ket thuc truyen

GoTo OK

Else: GoTo LAP OK: End If MSComm1.Output = Chr(26) Call DELAY(20) Next i xBook.Save xApp.Quit

Set xBook = Nothing Set xApp = Nothing 'End If

End Sub

- Modem GSM sẽ tựđộng báo khi nhận được tin nhắn mới. Đểđọc tin nhắn ta dùng lệnh AT+CMGL:

Private Sub Command8_Click() 'doc tin nhan

MSComm1.Output = "AT+CMGL=" & Text3.Text & "All" & Text4.Text & Chr(13)

End Sub

2.1.3.3.3. Thời gian gửi tin nhắn

Để gửi một tin nhắn ít hơn hoặc bằng 160 ký tự thì chương trình phải thực hiện một vịng quét mất 50ms. Mỗi tin nhắn sọan ra phải mất 750ms để tải vào sim của hệ thống. Và sau 1500ms kể từ khi tin nhắn gửi đi modem sẽ trả về chuỗi OK (nếu tin nhắn gửi đi thành cơng). Như vậy, thời gian để một tin nhắn 160 ký tự được gửi đi thành cơng là:

Nếu hệ thống gửi 500 tin nhắn 160 ký tự trong một lần gửi thì tổng thời gian gửi là:

t160 = t160 x 500 = 10250ms x 500 = 5.125.000ms ≈ 85 phút

Đối với tin nhắn nhiều hơn 160 và ít hơn 320 ký tự ta cũng phải mất 50ms cho vịng quét chương trình, 750ms cho quá trình nạp tin nhắn vào sim. Nhưng thời gian nhận được chuỗi OK sẽ lâu hơn, 5000ms. Như vậy, thời gian để một tin nhắn 320 ký tựđược gửi đi thành cơng là:

t320 = tvịng quét + tsim + ttrả lời = (50 x 320) + 750 + 5000 = 21750ms.

Nếu hệ thống gửi 500 tin nhắn 320 ký tự trong một lần gửi thì tổng thời gian gửi là:

T320 = t320 x 500 = 21750ms x 500 = 10.875.000ms ≈ 181 phút

2.1.3.3.4. Giao diện điều khiển

Giao diện điều khiển được tạo ra với tất cả những tính năng cần thiết cho người sử dụng như kiểm tra modem, gửi và nhận tin nhắn, cuộc gọi... Giao diện cũng cĩ thể hiển thị số lượng ký tự, số lượng tin nhắn hay số điện thoại đang được gửi tin nhắn.

Nhân viên kỹ thuật cĩ thể chọn cơ sở dữ liệu để gửi tin nhắn (đối với tin nhắn gửi tới nhiều khách hàng) hoặc nhập số điện thoại trực tiếp vào text box SỐ PHONE (đối với tin nhắn chỉ gửi cho số ít khách hàng) để gửi tin nhắn.

Vì được thiết kế cho nhân viên kỹ thuật của hệ thống nên giao diện khơng mang tính mỹ thuật cao mà chỉđáp ứng yêu cầu dễ thao tác và đầy đủ tính năng. Giao diện được thiết kế như sau:

Hình 2.10: Giao diện điều khiển của hệ thống

Ž Các nhãn ĐIỆN – ĐIỆN TỬ, KẾ TỐN – TC, ĐƠNG PHƯƠNG: cho phép chọn cơ sở dữ liệu để gửi tin nhắn. Sau khi chọn khoa, nhân viên kỹ thuật sẽ

chọn lớp trong khoa đĩ để gửi tin nhắn thơng báo.

Ž Nút lệnh KHỞI TẠO: dùng để kiểm tra các thiết bị (SIM điện thoại, modem GSM,…) khi bắt đầu sử dụng hệ thống.

Ž Nút lệnh GỬI TIN NHẮN: sau khi soạn tin nhắn và chọn cơ sở dữ liệu để

gửi, nhân viên kỹ thuật sẽ nhấp chuột vào nút lệnh này để gửi tin nhắn.

Ž Nút lệnh THAY SỐ ĐIỆN THOẠI: sử dụng trong chức năng thay số điện thoại cho người sử dụng. Nếu hệ thống nhận được tin nhắn đúng cú pháp “DS [khoảng cách] [số điện thoại cũ]” thì nhân viên kỹ thuật chỉ cần nhấp chuột vào nút lệnh này hệ thống sẽ tựđộng thay sốđiện thoại mới cho người sử dụng.

Ž Nút lệnh XĨA TIN DATA: xĩa nội dung tất cả các text box trong giao diện.

Ž Nút lệnh ĐỌC TIN NHẮN: khi hệ thống báo đã nhận một tin nhắn thì nút lệnh này phải được nhấn để hiển thị nội dung tin nhắn.

Ž Nút lệnh GỌI: dùng để thực hiện cuộc gọi khi đã cĩ sốđiện thoại cần gọi

đến.

Ž Nút lệnh XỐ TIN NHẮN: dùng để xĩa các tin nhắn.

Ž Nút lệnh GỬI THỬ: gửi tin nhắn tới một số điện thoại khơng cĩ trong cơ

sở dữ liệu (thuê bao khơng đăng ký sử dụng dịch vụ). Ž Nút lệnh EXIT: thốt khỏi giao diện điều khiển.

Ž Text box SO PHONE: nhân viên kỹ thuật sẽ nhập số điện thoại cần gọi hay gửi tin nhắn vào ơ này nếu số điện thoại khơng cĩ trong cơ sở dữ liệu và chỉ gửi một số ít tin nhắn.

Ž Text box NỘI DUNG TN: dùng để nhập nội dung tin nhắn cần gửi.

Ž Text box NHẬN TIN NHẮN: hiển thị tin nhắn, số điện thoại gọi đến hay những khởi tạo ban đầu.

Ž Text box SỐ ĐANG GỬI: hiển thị sốđiện thoại đang được gửi tin nhắn. Ž Text box TỔNG SỐ GỬI ĐƯỢC: hiển thị tổng các sốđiện thọai đã được gửi tin nhắn.

Ž Text box KÝ TỰ ĐANG GỬI: hiển thị ký tựđang được gửi đi. Ž Text box KÝ TỰ GỬI: hiển thị số lượng ký tự gửi đi.

™ Ví d:

Hình dưới đây là giao diện hệ thống khi đang thực hiện việc gửi tin nhắn đến nhiều sốđiện thọai.

- Text box SỐĐANG GỬI hiển thị số 0814414463 là sốđiện thọai đang được gửi tin nhắn.

- Nội dung tin nhắn là “HE THONG SMS UNIVERSITY XIN CHAO CAC BAN !” được hiển thị trong text box NỘI DUNG TN.

- Số 42 ở text box TỔNG KÝ TỰ GỬI cho biết tin nhắn gửi đi cĩ 42 ký tự.

Hình 2.11: Minh họa hoạt động của hệ thống

- Text box KÝ TỰĐANG GỬI hiển thị ký tựđang được gửi đi là dấu “!”. - Text box TỔNG SỐ GỬI ĐƯỢC hiển thị số tin nhắn đã gửi được là 14 tin nhắn.

- Nhìn vào các Combo box ta cĩ thể nhận ra những thơng báo này đang được gửi cho lớp 07DV của khoa Điện – Điện tử.

- Text box NHẬN TIN NHẮN hiển thị tất cả các tin nhắn đã được gửi đi theo cấu trúc của các lệnh AT.

2.1.3.3.5. Dịch vụ thuê bao trả sau

Dịch Vụ Viễn Thơng Sài Gịn và VDC (cơng ty truyền số liệu Việt Nam) là hai cơng ty cung cấp dịch vụ trên. Khi cĩ nhu cầu cần được cung cấp dịch vụ, khách hàng phải

đến liên hệ trực tiếp với các cơng ty này đểđược tư vấn và ký hợp đồng dịch vụ.

‘ Kết luận:

Quá trình triển khai hệ thống tuy gặp phải những khĩ khăn nhưng chúng em

Một phần của tài liệu Hệ thống SMS University phần 2 (Trang 27 - 39)

Tải bản đầy đủ (PDF)

(59 trang)