Giới thiệu tập lệnh AT

Một phần của tài liệu hệ thống báo trộm và điều khiển thiết bị qua tin nhắn điện thoại (Trang 35 - 40)

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT

2.2.4Giới thiệu tập lệnh AT

2.2 GIỚI THIỆU VỀ MODULE SIM900

2.2.4Giới thiệu tập lệnh AT

Tập lệnh AT (AT – ATtention) còn gọi là tập lệnh Hayes, được phát triển lúc đầu bởi Hayes Communications cho modem Hayes Smartmodem 300 vào năm 1997.Tập lệnh bao gồm một loạt các chuỗi ký tự được kết hợp lại để tạo thành những lệnh hoàn chỉnh cho những tao tác như gọi, giữ, và thay đổi các tham số kết nối. Ngày nay hầu hết các modem đều sử dụng tập lệnh Hayes. Các lệnh này đều bắt đầu bằng “AT”. 20 Một cách để gửi lệnh AT đến GSM/GPRS modem là sử dụng một chương trình đầu cuối. Chức năng của chương trình này là gửi các ký tự được gõ vào GSM/GPRS modem, sau đó hiển thị những phản hồi nó nhận được từ modem này lên màn hình. Có thể dùng các chương trình như Hyper Terminal, TeraTerm… Trong đồ án này, sử dụng vi điều khiển MSP430F5418A gửi và nhận các lệnh AT thực hiện các nhiệm vụ, chức năng khác nhau cho SIM900 để thực hiện các lệnh.

Các thut ng:

<CR> : Carriage return (Mã ASCII 0x0D). <LF> : Line Feed (Mã ASCII 0x0A).

MT : Mobile Terminal - Thiết bị đầu cuối mạng (trong trường hợp này là modem). TE : Terminal Equipment - Thiết bị đầu cuối ( hệ vi điều khiển).

Các lnh AT căn bn và m rng

Có ba dạng lệnh AT: căn bản, mở rộng và cú pháp tham số.

H (Hook control) and O (Quay lại tình trạng dữ liệu trực tuyến) là những lệnh căn bản. 21 Những lệnh mở rộng là những lệnh AT bắt đầu với dấu "+". Mọi lệnh GSM AT đều là lệnh mở rộng. Ví dụ, +CMGS (Gửi tin nhắn SMS), +CMSS (Gửi tin nhắn SMS (từ bộ nhớ), +CMGL (Liệt kê các tin nhắn SMS) và +CMGR (Đọc tin nhắn SMS) là những lệnh mở rộng.

Cú pháp tng quát ca các lnh AT m rng

Cú pháp tổng quát của các lệnh AT mở rộng khá rõ ràng. Dưới đây là các quy tắc của các lệnh AT mở rộng:

Quy tc 1: Tất cả các lệnh phải bắt đầu với “AT” và kết thúc với ký tự về đầu dòng (CR – carriage return)

Quy tc 2: Một dòng lệnh có thể bao gồm nhiều hơn một lệnh AT. Chỉ có lệnh đầu tiên bắt đầu với “AT”. Các lệnh còn lại trên dòng sẽ cách nhau bằng dấu chấm phẩy “;”.

Quy tc 3: Chuỗi ký tự được để trong dấu nháy kép “”.

Quy tc 4: Thông tin phản hồi và mã kết quả (bao gồm mã kết quả cuối cùng và mã kết quả không mong muốn) luôn bắt đầu với một ký tự về đầu dòng và một ký tự xuống dòng.

Mã kết qu ca lnh AT

Mã kết quả cuối cùng đánh dấu kết thúc phản hồi cho một lệnh AT. Nó cho biết GSM modem đã hoàn thành thực thi lệnh. Hai mã được sử dụng thường xuyên là OK và ERROR. Mỗi một lệnh chỉ có một mã kết quả cuối cùng được trả về.

Mã kết quả cuối cùng OK Cho biết một lệnh AT nào đó đã được thực hiện thành công bởi GSM modem. Luôn bắt đầu và kết thúc với ký tự về đầu dòng và xuống dòng.

Mã kết quả cuối cùng ERROR. Mã này cho biết đã có lỗi xảy ra khi thực hiện một lệnh AT. Sau khi xảy ra lỗi, GSM/GPRS modem sẽ không xử lý tiếp phần còn lại trong chuỗi lệnh. Một số nguyên nhân dẫn đến lỗi như cú pháp của lệnh sai: Giá trị của một tham số không hợp lệ; Tên lệnh bị gõ sai; GSM/GPRS

modem không hỗ trợ lệnh đó. Mã lỗi này cũng bắt đầu và kết thúc với ký tự về đầu dòng và xuống dòng.

Mã kết quả cuối cùng +CMS ERROR được trả về khi một lỗi dịch vụ tin nhắn xảy ra. Một mã lỗi được trả về cho người lập trình để kiểm tra nguyên nhân gây ra lỗi. Lỗi này chỉ liên quan đến những lệnh AT thao tác với SMS. Cũng như OK và ERROR, mã lỗi này cũng bắt đầu và kết thúc với một ký tự về đầu dòng và xuống dòng, và một số nguyên thể hiện một lỗi xác định.

Mt s lnh AT thường gp

a. Lnh ATZ

Lệnh ATZ dùng thiết lập lại (reset) tất cả các tham số hiện tại theo mẫu được người dùng định nghĩa. Lệnh trả về của modem là lệnh OK. Mẫu người dùng định nghĩa trước đó được lưu trên bộ nhớ cố định. Nếu không thiết lập lại được theo mẫu của người dùng định nghĩa thì nó sẽ reset lại theo đúng các tham số mặc định của nhà sản xuất. Bất cứ lệnh AT cộng thêm nào trên cùng một dòng với lệnh ATZ đều không được thực hiện.

b. Lnh AT+CMGR

Lệnh AT+CMGR được dùng để đọc tin nhắn trên một ngăn nào đó trên sim điện thoại. Cấu trúc lệnh như sau: AT+CMGR=i, với i là ngăn bộ nhớ chứa tin nhắn trong sim. Đáp ứng trở về là lệnh OK nếu ngăn i có chứa tin nhắn. Nếu ngăn i không chứa tin nhắn thì sẽ xuất hiện thông báo lỗi trả về ERROR. Ví dụ khi gõ lệnh AT+CMGR=1 thì SIM900 sẽ đọc tin nhắn tại ngăn số 1 của bộ nhớ sim điện thoại gắn ngoài.

c. Lnh AT+CMGS

Lệnh AT+CMGS dùng để gửi tin nhắn SMS tới một số điện thoại cho trước . Cú pháp gửi tin như sau:

- AT+CMGS= “số điện thoại cần gửi”<CR> - Nội dung tin nhắn

Số điện thoại cần gửi phải được đặt trong dấu ngoặc kép. Sau khi gõ xong số điện thoại thì cần thực hiện lệnh enter để xuống dòng và bắt đầu nội dung tin nhắn. Kết thúc lệnh này bằng việc thực hiện lệnh Cltr Z.

d. AT+CMGD

Lệnh AT+CMGD dùng dể xóa tin nhắn SMS trên sim. Cấu trúc lệnh như sau: AT+CMGD=i

Với i là ngăn bộ nhớ chứa tin nhắn cần xóa. Nếu ngăn i chứa tin nhắn thì đáp ứng trả về là OK, còn nếu việc thực hiện tin nhắn không thực hiện được như ngăn i không có tin nhắn, hoặc lỗi kết nối tới sim, lỗi sóng thì trả về sẽ là ERROR. (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ xóa tin nhắn từ ngăn số 1 của sim: AT+CMGD=1.

e. Lnh ATE

Lệnh này dùng để thiết lập chế độ lệnh phản hồi trở lại. Đáp ứng trở lại là OK. Lệnh ATE có hai tham số hoàn toàn khác nhau:

- ATE0: tắt chế độ phản hồi - ATE1: bật chế độ phản hồi.

Khi giao tiếp module SIM900 với phần mềm terminal trên máy tính, nếu ta dùng lệnh ATE0 thì khi gõ các lệnh AT khác thì không nhìn thấy lệnh ta gõ mà chỉ nhìn thấy kết quả trả về của SIM900. Ngược lại, khi dùng lệnh ATE1 thì sẽ nhìn được cả lệnh ta gõ lên và lệnh SIM900 trả về.

f. Lnh AT&W

Lệnh AT&W được dùng để lưu cấu hình cài đặt được thiết lập bởi các lệnh ATE và AT+CLIP vào bộ nhớ (Lệnh AT+CLIP để cài đặt cuộc gọi). Đáp ứng trả về khi thực hiện lệnh này là OK.

g. Lnh AT+CMGF 26

Lệnh AT+CMGF dùng để lựa chọn định dạng tin nhắn SMS, với hai chế độ là text và PDU, cụ thể như sau:

AT+CMGF=1: lựa chọn sử dụng tin nhắn ở chế độ văn bản AT+CMGF=0: lựa chọn sử dụng tin nhắn ở chế độ PDU

Đáp ứng trả về là “OK” nếu như modem hỗ trợ, ngược lại, nếu modem không hỗ trợ chế độ định dạng tin nhắn là text hoặc PDU thì đáp ứng trả về sẽ là “ERROR”.

h. Lnh AT+CNMI

Lệnh này dùng để thông báo có tin nhắn mới đến. Với các tham số khác nhau thì mỗi khi có tin nhắn, đáp ứng trả về cũng sẽ khác nhau.

Ví dụ về các lệnh AT+CNMI khác nhau khi cùng nhận một tin nhắn SMS có nội dung giống nhau:

AT+CNMI=1,1,0,0,0 sẽ trả về: +CMTI: "SM",10

AT+CNMI=2,2,0,0,0 sẽ trả về:

+CMT: "+84972996000","","13/05/07,14:21:42+28" Demo sim 900

Như vậy, chúng ta thấy rằng, với trường hợp 1 thì nội dung tin nhắn được lưu trực tiếp vào ngăn số 10 của sim. Nội dung của tin nhắn này chỉ được đọc bằng lệnh AT+CMGR=10. Còn trong trường hợp số 2, nội dung tin nhắn được hiển thị ra cùng với thời gian và số điện thoại.

i. Lnh AT+CSAS

Lệnh AT+CSAS dùng để lưu các thiết lập SMS do người dùng đã cài đặt trước đó. Lệnh này sẽ lưu trực tiếp các thông số đã cài đặt cho tin nhắn SMS như các lệnh AT+CMGF=1; AT+CNMI=2,2,0,0,0...và còn nhiều lệnh khác liên quan tới tin nhắn SMS đều được lưu lại bởi lệnh AT+CSAS này.

Các Lnh cu hình gi tin nhn MMS

AT+CMMSINIT khởi tạo MMS

AT+CMMSCURL=“ mms.viettelmobile.com.vn/mms/wapenc<CR>” //cấu hình nhà mạng tin nhắn MMS Viettel //

AT+CMMSCID=1<CR> //Bật các thiết lập thông số id//

AT+CMMSPROTO=“192.168.233.10”, 8080<CR> //thiết lập địa chỉ ip và cổng proxy nhà mạng Viettel //

AT+CMMSSENDCFG=6,3,0,0,2,4<CR> //Thiết lập các tham số cho các PDU MMS để gửi

AT+SAPBR=3,1,"Contype","GPRS"<CR> cấu hình GPRS AT+SAPBR=3,1,"APN"," v-mms "<CR> cấu hình APN AT+SAPBR =1,1 <CR>

AT+SAPBR =2,1 <CR>

Các Lnh thc gi mt tin nhn MMS

AT+CMMSEDIT=1 //vào chế\ độ chỉnh sửa MMS (adsbygoogle = window.adsbygoogle || []).push({});

AT+CMMSDOWN=“PIC”,<SIZE>,<TIME><CR> // đính kèm một file ảnh AT+CMMSDOWN=“TITLE”,3,<TIME><CR> // đặt tiêu đề cho tin nhắn AT+CMMSDOWN=“TEXT”,5,5000 // văn bản cần gửi

AT+CMMSSEND<CR> // bắt đầu gửi tin nhắn MMS

AT+CMMSEDIT=0<CR> // đóng quá trình gửi tin nhắn MMS

Một phần của tài liệu hệ thống báo trộm và điều khiển thiết bị qua tin nhắn điện thoại (Trang 35 - 40)