Các cơng cụ được sử dụng trong quá trình thực hiện đề tài

Một phần của tài liệu Điều khiển từ xa bằng SMS qua mạng GSM (Trang 79 - 93)

Lệnh AT +CMGC: gửi lệnh Cú pháp Phản hồi Mặc định

PDU mode (+CMGE=0): PDU mode :

+CMGC=<length><CR> ` +CMGC: <mr>[,<ackpdu>] <PDU cần gửi><ctrl-Z/ESC>

(sau khi lệnh đã được gửi đi

thành cơng)

+CMGC=?

Định dạng của PDU cĩ thể tham khảo thêm trong tài liệu GSM 07.05.

Lệnh AT +CMMS: gửi nhiều tin nhắn

Cú pháp Phản hồi Mặc định +CMMS=[{<n>] 0 +CMMS? +CMMS: <n>

Tham số <n> chứa số lượng tin nhắn cẩn gửi đi.

Lệnh này chỉ được áp dụng trong trường hợp hệ thống mạng cĩ hỗ trợ

dịch vụ trên. Khi đĩ hệ thống sẽ giữ nguyên đường dẫn, giúp cho các tin nhắn được gửi đi nhanh hơn.

Lệnh AT +CGSMS: lựa chọn dịch vụ cho tin nhắn SM MO (Short

Message Mobile Oginated)

Cú pháp Phản hồi Mặc định +CGSMS=[<service>] 3 +CGSMS? +CSIDH: <show>+CGSMS: <service> +CGSMS=? +CGSMS: (danh sách các tham số <service> được hỗ

trợ)

Đề tài: Điêu khiển từ xa bằng SMS qua mạng GSM GVHD: TS. Hồ Ngọc Bá

4.3.3.2 Ứng dụng các lệnh AT để truyền nhận SMS

Các thao tác dùng để gửi tin nhắn sử dụng tập lệnh AT:

"_ Bước 1: định nghĩa định dạng tin nhắn bằng cách gửi lệnh AT+CMGF=1

(định đạng text).

s Bước 2: thiết lập số điện thoại của trung tâm dịch vụ SMS bằng lệnh

AT+CSCA = “xxx” với xxx là số điện thoại của trung tâm dịch vụ SMS.

"Bước 3: thiết lập số điện thoại nhận tin nhắn bằng lệnh AT+CMGS

=“yyy” với yyy là số điện thoại được nhận tin nhắn. (adsbygoogle = window.adsbygoogle || []).push({});

" Bước 4: viết nội dung tin nhắn, kết thúc bằng tổ hợp phím Ctrl+Z.

Các thao tác nhận tin nhắn sử dụng tập lệnh AT:

" Bước 1: định nghĩa định dạng tin nhắn bằng lệnh AT+CMGEEI.

“ Bước 2: gõ lệnh AT+CNMI=1,2,0,0,0 để nhận tất cả tin nhắn.

4.4 Cơ sở lí thuyết về địch vụ bản tin ngắn điểm nối điểm.

Dịch vụ bản tin ngắn điểm nối điểm SMS-PP (Short Message Service Point to Point) là một trong số nhiều dịch vụ được cung cấp với mạng GSM. Dịch vụ này cho phép người sử dụng truyền nhận những bản tin ngắn từ một đầu cuối

cĩ hỗ trợ dịch vụ SMS đến một đầu cuối khác. Trong hệ thống mạng G5M, dịch vụ này được chia ra làm hai dịch vụ sơ bản:

SM-MO (Short Message -Mobile Originated): dịch vụ này cho phép gửi tin

nhắn từ đầu cuối đến tổng đài của dịch vụ tin nhắn.

SM-MT (Short Message-Mobile Terminated): dịch vụ này cho phép gửi tin

nhắn từ tổng đài tin nhắn đến đầu cuối được nhận tin nhắn.

Như vậy, tin nhắn sẽ được truyển đi theo hai giai đoạn: truyển tin nhắn từ

điện thoại ban đầu đến tổng đài, sau đĩ tổng đài tin nhắn sẽ chuyển đến số

điện thoại cần nhận tin nhắn.

Chi tiết về dịch vụ SMS-PP cĩ thể tham khảo thêm trong các tài liệu của

viện tiêu chuẩn truyền thơng châu Âu ETSI (European Telecommunication

Standard Institude), trong đĩ cĩ hai tài liệu quan trọng:

"_ GSM 03.40: mơ tả tất cả các vấn để liên quan đến dịch vụ SMS-PP, bao gổm các vẫn để về tổ chức mạng của dịch vụ, protocol được sử dụng cho dịch vụ, sơ chế chuyển mạch, ... và các vân để khác cĩ liên quan.

"_ GSM 03.38: mơ tả chỉ tiết phương thức mã hĩa nội dung tin nhắn của

người sư dụng.

Đề tài: Điều khiển từ xa bằng SMS qua mạng GSM GVHD: TS. Hồ Ngọc Bá

Ngồi ra cĩ thể tham khảo thêm trong phần phụ lục 1 của nội dụng luận văn.

4.5 Các cơng cụ được sử dụng trong quá trình thực hiện để tài

Bên cạnh các kiến thức cẩn thu thập và củng cố, trong quá trinh thực hiện để tài, cần cĩ sự hỗ trợ của các cơng cụ giúp hiện thực hĩa các kiến thức, các

giải pháp được để ra, bao gồm:

Cơng cụ làm việc trên máy tính dùng cho vi điều khiển PIC: đĩ là mơi

trường soạn thảo MPLAB IDE (MPLAB Intergrated Development Enviroment) dùng để soạn thảo và biên dịch các chương trình ứng dụng cho vi điểu khiển

PIC. r (adsbygoogle = window.adsbygoogle || []).push({});

Trình hợp dịch MPASM: đây là tình hợp dịch đành, cho ngơn ngữ assembler của vi điểu khiển PIC. Cơng cụ này được hỗ trợ tỏng mơi trường

soạn thảo MPLAB IDE.

Trình biên dịch C18: đây là tình biên dịch dành cho ngơn ngữ C18 dùng

cho vi điểu khiển PIC. Cơng cụ này được nhúng vào trong mơi trường soạn

thảo MPLAB IDE.

Chương trình WinPIC800: dùng cho quá trình nạp chương trình ứng dụng

vào vi điểu khiển PIC.

Bộ cơng cụ Microsoft Visual Studios: dùng cho quá trình thiết kế giao điện của người sử dụng trên máy tính, và lập trình các chức năng giao tiếp, điều khiển, hiển thị hỗ trợ cho hệ thống. Cơng cụ được lựa chọn trong bộ cơng cụ này là Microsoft Visual C++ 6.0.

Thư viện Microsoft MSDN Library: thư viện hỗ trợ các module cẩn thiết

cho quá trình thiết kế các chức năng trên máy tính của hệ thống.

Cơng cụ Orcad 9.2: dùng cho quá trình thiết kế sơ đổ nguyên lí mạch, mơ phỏng các tính năng của mạch nguyên lí và thiết kế mạch in cho ứng dụng của

để tài.

Ngồi các cơng cụ là phần mềm, các cơng cụ phẩn cứng được sử dụng là:

Mạch nạp GTP-USEB: sử dụng cho quá trình nạp chương trình ứng dụng

vào vi điểu khiển PIC.

Thơng tin chỉ tiết và cách sử dụng các cơng cụ nêu trên cĩ thể tham khảo thêm trong các tài liệu cĩ liên quan.

Đề tài: Điều khiển từ xa bằng SMS qua mạng GSM GVHD: TS. Hồ Ngọc Bá

CHƯƠNG 5

THIẾT KẾ MƠ HÌNH HỆ THỐNG ĐIỀU KHIỂN

TỪ XA BĂNG SMS QUA MẠNG GSM

Phần này tập trung vào chỉ tiết quá trình thực hiện hệ thống điều khiển từ xa bằng SMS qua mạng GSM, dựa trên các kiến thức đã được củng cố, tăng cường và các cơng cụ cần thiết được chuẩn bị trong các phần trước.

5.1 Lựa chọn mơ hình cho hệ thống

Mơ hình của hệ thống điều khiển từ xa bằng SMS qua mạng GSM đã được bàn đến chỉ tiết trong chương 1 và chương 3. Nhận thấy việc thực hiện mơ hình hệ thống

như đã phân tích là hồn tồn khả thi, do đĩ mơ hình được lựa chọn sẽ khơng cĩ

nhiều thay đối so với mơ hình đã để ra trên lí thuyết.

Về phương hướng giải quyết quá trình xây dựng hệ thống, khối tổng quát được mơ tả trong chương 3 là hướng giải quyết được lựa chọn để thiết kế và thi cơng, và là nền tẳng cơ bản cho việc hình thành hệ thống điều khiển từ xa qua mạng GSM.

Như vậy, nhiệm vụ cần phải giải quyết để thực hiện bao gồm:

Xây dựng khối xử lí trung tâm sử dụng vi điều khiển PIC: bao gồm mạch nguyên lí, phần dẻo cho ứng dụng, nhằm đáp ứng được các yêu cầu hoạt động của khối tổng quát, và tương thích với yêu cầu hoạt động của hệ thống. Phần dẻo của khối trung tâm sẽ cĩ nhiệm vụ kiểm sốt các hoạt động của mạng thiết bị, truyền nhận dữ liệu của hệ thống với máyyh, điều khiển quá trình hiển thị, bảo đảm các tính năng bảo (adsbygoogle = window.adsbygoogle || []).push({});

mật thơng tin điều khiển, nhận và thực thi các thơng tin điều khiển, cĩ khả năng hoạt động độấy lập và tiếp nhận được các thao tác phân tích, điều khiển của con người cũng như máy tính.

Xây dựng khối hiển thị sử dụng LCD.

Xây dựng khối giao diện người sử dụng: sử dụng các phím nhấn và đèn báo hiệu. Trong phạm vi ứng dụng của để tài, do sự hạn chế về thời gian thực hiện, phần này sẽ được đơn giản hĩa đến mức tối đa.

Xây dựng mạng thiết bị: phần này sẽ được đơn giản hĩa.

Xây dựng giao diện người sử dụng trên máy tính.

Xây dựng các đường truyền giữa khối sử lí trung tâm và modem, giữa khối xử lí

trung tâm và máy tính: cho phép truyền nhận và thực thi các yêu cầu điều khiển trên các đường truyền này.

Xây dựng một protocol trao đổi thơng tin điều khiển thống nhất cho tồn hệ thống, cho phép điều khiển và kiểm tra các trạng thái hoạt động của mạng thiết bị.

Chỉ tiết về chương trình hoạt động của khối xử lí, các chương trình ứng dụng trên

vi điều khiển và trên máy tính cĩ thể tham khảo thêm ở phần phụ lục 2 trong nội

dung báo cáo của để tài.

s.2 Xây dựng sơ đồ nguyên lí cho khổi tổng quát.

Khối tổng quát được xây dựng dựa theo các khối chức năng được mơ tả trong chương 3. Chi tiết về nguyên lí hoạt động của sơ đỗ nguyên lí được chú thích như

trong hình 5.1.

Về cơ bản, sơ đồ nguyên lí của khối tổng quát bao gồm các module sau:

= Module xử lí trung tâm: gồm vi điểu khiển PIC18F4550 và các thành

phần bổ trợ cho phép vi điểu khiển hoạt động (thạch anh, mạch reset, jack

dùng để nạp chương trình trực tiếp trên board mạch cho vi điều khiển, ..). s Module nguồn: cho phép hai nguồn cung cấp: từ adapter 9V/500mA hoặc

lấy nguồn trực tiếp từ cổng USB.

=_ Module LCD: gồm LCD được kết nối với các chân điều khiển của vi điều khiển PIC18F4550, cho phép điều khiển hiển thị LCD ở chế độ 4 bit, ngồi

ra cịn cĩ cơng tắc cho đèn bên trong LCD, cho phép quan sát hiển thị trong điều kiện trời tối.

« Module truyền nhận UART: cho phép giao tiếp được với modem GSM.

Module sử dụng chip chuyển đổi chuyên dụng MAX232 để chuyển đổi điện áp giữa hai chuẩn TTL và RS232.

» Các chân điều khiển khác: được đưa ra dưới nhiều dạng khác nhau, cho phép việc kết nối với các thiết bị khác linh động hơn.

5.3 Xây dựng chương trình hoạt động của khối tổng quát

Chương trình hoạt động của khối tổng quát được xây dựng dựa trên chương trình

hoạt động dự kiến đã được để cập đến trong chương 3. Phần này chỉ bàn về giải

thuật cho chương trình, chương trình chỉ tiết cĩ thể tham khảo thêm trong phần phụ lục 2.

Chương trình họat động của khối tổng quát cũng là chương trình hoạt động cho vi điều khiển PIC1§F4550, ngồi ra chương trình trên máy tính cũng được xây dựng cho phép người sử dụng cĩ thể can thiệp vào hoạt động của hệ thống thơng qua giao tiếp USB giữa vi điều khiển PIC18F4550 và máy tính. (adsbygoogle = window.adsbygoogle || []).push({});

Lưu đồ giải thuật chi tiết của khối tổng quát được mơ tả như trong hình 5.2.

Trong đĩ các điểm lưu ý trong giải thuật được đánh các số thứ tự (1), (2), (3) và (4).

Đề tài: Điều khiển từ xa bằng SMS qua mạng GSM GVHD: TS. Hơ Ngọc Bá

Các điểm đáng lưư ý này cĩ liên quan đến những thao tác phụ cần tiến hành, cũng

như các thao tác liên quan đến protocol được dùng để trao đổi dữ liệu giữa máy tính

và vi điểu khiển, giữa người sử dụng và hệ thống thơng qua tin nhắn SMS. Sau đây

là chi tiết về các điểm ghi chú này.

Ghi chú 1: Khởi tao hệ thống.

Quá trình khởi tạo hệ thống trải qua 4 bước:

Khởi tạo cấu hình hoạt động cho vi điều khiển (tần số hoạt động, các ngõ vào ra, cấu hình hoạt động, ...).

Khởi tạo module giao tiếp USB dùng để truyền nhận dữ liệu giữa máy tính và vi

điều khiển.

Khởi tạo module giao tiếp nối tiếp UART dùng để giao tiếp với modem.

Khởi tạo cấu hình hoạt động cho điện thoại di động. Quá trình này trải qua các bước sau:

=_ Gửi lệnh “ATZ.” để reset modem.

s_ Gửi lệnh “AT+CMGE = 1” để xác lập chế độ hoạt động cho tin nhắn là

dạng văn bản (text).

" Gửi lệnh “A T+CNMI-=1,2,0,0,0” để xác lập protocol tin nhắn nhận được là ở dạng text (mặc định là protocol dạng PDU, tham khảo thêm phụ lục Ì để

biết thêm chi tiết về protocol PDUŨ).

Ngồi ra cần thực hiện thêm thao tác khởi tạo các trạng thái hoạt động của mạng thiết bị nếu cần thiết.

Ghi chú 2: gửi tin nhắn cảnh báo.

Tin nhắn cánh báo được gửi đến người sử dụng trong trường hợp hoạt động của

hệ thống diễn ra khơng bình thường, hoặc xuất hiện các yêu cầu thơng tin khẩn cấp

(ví dụ như phát hiện cháy, phát hiện kẻ trộm vào nhà, ...). Cĩ thể sử dụng một trong hai phương thức cảnh báo, đĩ là gọi điện thoại hoặc gửi tin nhắn, hoặc cả hai.

Nếu cần gọi điện thoại, lệnh “ATD xxxx;” sẽ được gửi đến điện thoại, trong đĩ

2

xxxx là số điện thoại cần gọi (chú ý cĩ dấu “;” ở sau cùng). (adsbygoogle = window.adsbygoogle || []).push({});

Đề tài: Điều khiển từ xa bằng SMS qua mạng GSM

| START | \ Khởi tạo hệ thống @®) \ [ Cập nhật trạng thái thiết bị | ?> vy Xuất hiện yêu cầu cảnh báo?? \

Gửi tin nhắn cảnh báo

lÿÀ) ¬ Nhận được lệnh từ máy tính?? Ủ Nhận được dữ liệu từ modem GSM?? \ và thực thi (4) Thực thi lệnh ]

Phân tích nội dụng đữ liệu

£?I “%

Hình 5.2: Lưu đồ giải thuật chương trình hoạt động của khối tổng quát.

Đêề tài: Điều khiển từ xa bằng SMS qua mạng GSM GVHD: TS. Hơ Ngọc Bá

°_ Gửi lệnh “AT+CMGS=”xxxx”” để xác nhận số điện thoại của thiết bị nhận tin nhắn. Nếu lệnh được thực thi thành cơng, điện thoại sẽ trả về chuỗi “0D 0A >” (0D và 0A là giá trị hex). Nội dung của tin nhắn sẽ được thêm vào sau kí tự “>”.

" - Gửi nội dung tin nhắn, kết thúc bằng kí tự cĩ giá trị hex là 1A. Nếu tin nhắn được gửi thành cơng, điện thoại sẽ gửi trả về chuỗi “0D 0A +CMT: xx 0D

0A” (0D và 0A là trị hex), trong đĩ xx là chiều đài nội dung tin nhắn đã được gửi đi.

Nội dung tin nhắn cảnh báo được xác định sao cho phù hợp với trạng thái hoạt động của hệ thống.

Quá trình gửi tin nhắn này sẽ được thực hiện thơng qua một hàm trong chương

trình, lưu đồ giải thuật chi tiết được mơ tả như trong hình 5.3.

Trong trường hợp cần gửi tin nhắn sử dụng protocol PDU, cần xây dựng đây đủ

nội dung tin nhắn theo đạng protocol PDU trước khi gửi đi. Tham khảo thêm phần

phụ lục 1 để biết thêm chỉ tiết về protocol PDU.

Nếu quá trình gửi tin nhắn được thực hiện thành cơng, kết quả trả về của hàm sẽ

bằng 1. Nếu một trong các bước được mơ tả khơng được thực hiện đúng, hàm trên

sẽ khơng được tiếp tục thực thi, và kết quả trả về sẽ bằng 0.

Chương tình được viết theo lưu đồ giải thuật ở hình 5.3 cho phép kiểm sốt chặt

chẽ các thao tác được tiến hành trong quá trình gửi tin nhắn đi sử dụng tập lệnh AT. Ghi chú 3: các lệnh được sử dụng trong quá trình giao tiếp giữa máy tính và (adsbygoogle = window.adsbygoogle || []).push({});

vi điều khiển.

Giao tiếp giữa máy tính và ngoại vi được thực hiện thơng qua cổng USB. Như vậy quá trình thực hiện giao tiếp phải tuân theo các yêu cầu của giao tiếp USB, bao

gồm các yêu cầu của lớp vật lí và các yêu cầu của protocol giao tiếp USB.

Ngồi ra, để quá trình trao đổi thơng tin giữa máy tính và vi điều khiển được đa

dạng và mang nhiều ý nghĩa hơn, cần xây dựng một lớp protocol nữa dựa trên các

yêu cầu chung của giao tiếp USB trong hệ thống, và phù hợp với các yêu cầu của

chuẩn giao tiếp USB. Ngồi ra, tổng phạm vi ứng dụng của để tài, yêu cầu xây dựng một protocol hồn thiện cho giao tiếp USB dùng để điều khiển thiết bị chưa

được đề cao, nên protocol được xây dựng sẽ được đơn giản hĩa.

Đề tài: Điều khiển từ xa bằng SMS qua mạng GSM

Cĩ kết nối với

điện thoại ?? Return 0

Gửi lệnh “AT+CMGEF=1” |

Điện thoại trả lời

“OK” ?? Return 0 ” Gửi lệnh “A' T+CMGS=xxxx”

Một phần của tài liệu Điều khiển từ xa bằng SMS qua mạng GSM (Trang 79 - 93)