Khảo sát tập lệnh AT của module SIM300CZ

Một phần của tài liệu thiết kế hệ thống tự động và cảnh báo thiết bị điện dân dụng từ xa (Trang 33)

Các modem được sử dụng từ những ngày đầu của sự ra đ i của máy tính. Từ Modem là một từ được hình thành từ hai từ modulator và demodulator. Và định nghĩa đặc trưng này cũng giúp ta hình dung được phần nào là thiết bị này sẽ làm cái gì. Dữ liệu số thì đến từ một DTE, thiết bị dữ liệu đầu cuối được điều chế theo cái cách mà n c thể được truyền dữ liệu qua các đư ng dây truyền dẫn. Ở một mặt khác của đư ng dây, một modem thứ hai điều chế dữ liệu đến và xúc tiến, duy trì n .

Khi chúng ta xem trong RS232 port layout thì chuẩn RS232 miêu tả một kênh truyền thông với bộ kết nối 25 chân DB25, n được thiết kế để thực thi quá trình truyền các lệnh đến modem được kết nối với nó. Thao tác này bao gồm cả các lệnh quay một số điện thoại nào đ . Thế nên nhất thiết phải có một phương pháp được thiết lập để sử dụng kênh dữ liệu hiện tại để không chỉ truyền dữ liệu từ một điểm đầu cuối này tới một điểm đầu cuối khác mà nó còn nhắm tới

SVTH: Phạm Tiến Duẫn Trang 25 modem duy nhất. Dennis Hayes đ đưa ra giải pháp cho vấn đề này trong năm 1977. Modem thông minh ( Smartmodem ) của ông sử dụng chuẩn truyền thông RS232 đơn giản kết nối tới một máy tính để truyền cả câu lệnh và dữ liệu. Bởi vì mỗi lệnh bắt đầu với chữ AT trong chữ Attention nên ngôn ngữ điều khiển được định nghĩa bởi Hayes nhanh ch ng được biết đến với bộ lệnh Hayes AT. Chính vì sự đơn giản và khả năng thực thi với chi phí thấp của nó, bộ lệnh Hayes AT nhanh ch ng được sử dụng phổ biến trong các modem của các nhà sản xuất khác nhau. Khi chức năng và độ tích hợp của các modem ngày càng tăng c ng th i gian, nên làm cho ngôn ngữ lệnh Hayes AT càng phức tạp. Vì thế nhanh chóng mỗi nhà sản xuất modem đ sử dụng ngôn ngữ riêng của mình. Ngày nay bộ lệnh AT bao gồm cả các lệnh về dữ liệu, fax, voice và các truyền thông SMS

Các lệnh AT là các hướng dẫn được sử dụng để điều khiển một modem. AT là một cách viết g n của chữ Attention. Mỗi dòng lệnh của nó bắt đầu với “AT” hay “at”. Đ là l do tại sao các lệnh modem được g i là các lệnh AT. Nhiều lệnh của n được sử dụng để điều khiển các modem quay số sử dụng dây nối (wired dial-up modems), chẳng hạn như ATD Dial , ATA Answer , ATH Hool control và ATO return to online data state , cũng được hỗ trợ bởi các modem GSM/GPRS và các điện thoại di động.

Bên cạch bộ lệnh AT thông dụng này, các modem GSM/GPRS và các điện thoại di động còn được hỗ trợ bởi một bộ lệnh AT đặc biệt đối với công nghệ GSM. N bao gồm các lệnh liên quan tới SMS như AT CMGS gửi tin nhắn SMS , AT CMSS gửi tin nhắn SMS từ một v ng lưu trữ , AT CMGL chuỗi liệt kê các tin nhắn SMS và AT CMGR đ c tin nhắn SMS .

Ngoài ra, các modem GSM còn hỗ trợ một bộ lệnh AT mở rộng. Những lệnh AT mở rộng này được định nghĩa trong các chuẩn của GSM. Với các lệnh AT mở rộng này, chúng ta c các tiện ích như sau:

SVTH: Phạm Tiến Duẫn Trang 26  Gửi tin nhắn SMS

 Kiểm tra chiều dài tín hiệu

 Kiểm tra trạng thái sạc pin và mức sạc của pin.  Đ c, viết và tìm kiếm về các mục danh bạ

Số tin nhắn SMS c thể được thực thi bởi một modem SMS trên một phút thì rất thấp, n chỉ khoảng từ 6 đến 10 tin nhắn SMS trên 1 phút.

a. Các lệnh khởi tạo GSM Module Sim300CZ

 Lệnh AT<cr> Nếu lệnh thực hiện được thì trả về:

Ok

Bắt đầu thực hiện các lệnh tiếp theo.

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

 Lệnh AT+CMGF=[<mode>] <cr> Nếu lệnh thực hiện đựợc thì trả về:

Ok

<mode> : 0 dạng dữ liệu PDU 1 dạng dữ liệu kiểu text

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

 Lệnh AT&W[<n>] Nếu lệnh thực hiện đựợc thì trả về:

SVTH: Phạm Tiến Duẫn Trang 27 Lưu cấu hình cho GSM Module Sim300CZ

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

 Lệnh ATE[<value>] Nếu lệnh thực hiện được thì trả về:

Ok

<value> 0 Tắt chế độ Echo 1 Bật chế độ Echo

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

b. Các lệnh xử lý cuộc gọi

 Lệnh quay số:

ATD<cr>

Ví dụ: muốn quay số tới số điện thoại 0974634547 thi ta gõ lệnh ATD0974634547;<cr>

<cr>: Enter (adsbygoogle = window.adsbygoogle || []).push({});

 Lệnh nhấc máy:

ATA<cr>

Ví dụ: khi có số điện thoai nào đ g i đến số điện thoại được gắn trên modem Sim300Cz, ta muốn nhất máy để kết nối thì gõ lệnh

ATA <cr>

SVTH: Phạm Tiến Duẫn Trang 28 ATH<cr>

Ví dụ: khi có số điện thoai nào đ g i đến số điện thoại được gắn trên modem Sim300Cz, ta không muốn nhấc máy mà từ chối cuộc g i thì gõ lệnh

ATH<cr>

c. Các lệnh về SMS

 Lệnh Xóa tin nhắn AT+CMGD

Ví dụ: muốn xóa một tin nhắn nào đ được lưu trên sim thì ta thực hiện lệnh sau. AT+CMGD=<index> <cr>

<index>: vị trí ngăn nhớ lưu tin nhắn Nếu lệnh thực hiện được thì trả về:

Ok

Nếu lệnh không thực hiện được thì trả về dạng: +CMS ERROR <err>

 Lệnh đ c tin nhắn:

AT+CMGR=<index>[,mode] <cr>

<index> : số nguyên, đ là vị trí ngăn nhớ chứa tin nhắn cần đ c <mode> : 0 dạng dữ liệu PDU

Một dạng dữ liệu kiểu text

Nếu như lệnh được thực hiện thì kiểu dữ liệu trả về dưới dạng text ( mode=1): Từ SMS-DELIVER:

SVTH: Phạm Tiến Duẫn Trang 29 <tosca>,<length>]<CR><LF><data> Từ SMS-SUBMIT: +CMGR:<stat>,<da>,[<alpha>][,<toda>,<fo>,<pid>,<dcs>,[<vp>],<sca,< tosca>,<length>]<CR><LF><data> Từ SMS-STATUS-REPORTs: +CMGR: <stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st> Từ SMS-COMMANDs: +CMGR:<stat>,<fo>,<ct>[,<pid>,[<mn>],[<da>],[<toda>],<length><CR ><LF><cdata>] Từ CBM storage +CMGR:<stat>,<sn>,<mid>,<dcs>,<page>,<pages><CR><LF> <data>

Nếu dữ liệu trả về dạng PDU(mode=0):

+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu> Nếu lệnh bị lỗi thì trả về dưới dạng:

+CMS ERROR: <err>

 Lệnh gửi tin nhắn SMS: AT+CMGS Nếu gửi tin nhắn dưới dạng text:

(+CMGF=1):

SVTH: Phạm Tiến Duẫn Trang 30 Nếu gửi tin nhắn dạng PDU:

(+CMGF=0):

+CMGS=<length><CR> PDU is given <ctrl-Z/ESC> Lệnh được thực hiện thành công thì dữ liệu trả về:

Dạng text : +CMGS: <mr> OK

Dạng PDU : +CMGS: <mr> OK

Lệnh bị lỗi: +CMS ERROR: <err> (adsbygoogle = window.adsbygoogle || []).push({});

 Lệnh viết tin nhắn rồi lưu vào ngăn nhớ: AT+CMGW

Nếu viết tin nhắn dưới dạng text :

AT+CMGW=[<oa/da>[,<tooa/toda>[,<stat>]]]<CR>text is entered <ctrl- Z/ESC> <ESC>

Lệnh được thực hiện đúng thì dữ liệu trả về dạng: +CMGW: <index>

OK Lệnh sai:

+CMS ERROR: <err> Nếu viết tin nhắn dưới dạng PDU:

SVTH: Phạm Tiến Duẫn Trang 31

 Lệnh gửi tin nhắn từ một ngăn nhớ nào đ : AT+CMSS=<index>[,<da>[,<toda>]]

Nếu lệnh được thực hiện thành công dữ liệu trả về dạng: Dạng text: +CMGS: <mr> [,<scts>] OK Dạng PDU: +CMGS: <mr> [,<ackpdu>] OK Nếu lệnh bị lỗi: +CMS ERROR: <err>

 Lệnh báo hiệu tin nhắn mới:

AT+CNMI=[<mode>[,<mt>[,<bm> [,<ds>[,<bfr>]]]]] Nếu lệnh được thực hiện đúng thì dữ liệu trả về dạng:

OK Nếu lệnh bị lỗi:

+CMS ERROR: <err>

d. Các lệnh về GPRS

 AT+CGATT : lệnh gán hay tách thiết bị khỏi GPRS

 AT CGDCONT : định nghĩa dạng PDP

 AT+CGQMIN : chất lượng dich vụ ở mức thấp nhất

 AT+CGQREQ : chất lượng dich vụ

 AT+CGDATA : trạng thái dữ liệu vào

 AT+CGREG : tình trạng đăng k của mạng

SVTH: Phạm Tiến Duẫn Trang 32

e. Các lệnh về TCP/IP

 Lệnh bắt đầu kết nối TCP hay UDP

AT+CIPSTART=<mode>,[<IPaddress>,<domain name>],<port> Trong đ :

<mode> : tham số báo kiểu kết nối TCP hay UDP <IP address> : địa chỉ IP của ngư i điều khiển từ xa <port> :

<domain name> : tên miền của ngư i điểu khiển từ xa Nếu lệnh thực hiện đúng thì lệnh trả về : CONNECT OK Nếu lệnh thực hiện f. Các lệnh khác  Lệnh nghỉ AT+CFUN

Ví dụ muốn tắt hết chức năng liên quan đến truyền nhận sóng RF và các chức năng liên quan đến sim thì gõ lệnh:

AT+CFUN=0 <cr> OK

 Lệnh chuyển từ chế độ nghỉ sang chế độ hoạt động bình thư ng

AT+CFUN (adsbygoogle = window.adsbygoogle || []).push({});

Ví dụ: Sim đang ở chế độ nghỉ ta muốn chuyển sang chế độ hoạt động bình thư ng thì gõ lệnh:

SVTH: Phạm Tiến Duẫn Trang 33 AT+CFUN=1 <cr> OK  Lệnh reset mode ATZ <cr> OK  Lệnh tắt chế độ echo ATE0 <cr>

g. Các lệnh kiểm tra ban đầu

- Lấy thông tin cơ bản về điện thoại di động hay modem GSM/GPRS. Ví dụ như tên của nhà sản xuất AT CGMI , số model AT CGMM , số IMEI (International Mobile Equipment Identity) (AT+CGSN) và phiên bản phần mềm (AT+CGMR).

- Lấy các thông tin cơ bản về những ngư i kí tên dưới đây. Thí dụ, MSISDN AT CNUM và số IMS International Mobile Subscriber Identity (AT+CIMI).

- Lấy thông tin trạng thái hiện tại của điện thoại di động hay modem GSM/GPRS. Ví dụ như trạng thái hoạt động của điện thoại AT CPAS , trạng thái đăng kí mạng mobile AT CREG , chiều dài s ng radio AT CSQ , mức sạc pin và trạng thái sạc pin (AT+CBC).

- Đ c AT CPBR , viết AT CPBW hay tìm kiếm AT CPBF cá mục về danh bạ điện thoại phonebook).

- Thực thi các nhiệm vụ liên quan tới an toàn, chẳng hạn như mở hay đ ng các kh a chức năng AT CLCK , kiểm tra xem một chức năng được kh a hay chưa AT CLCK và thay đổi password AT CPWD .

- Điều khiển hoạt động của các m kết quả/các thông báo lỗi của các lệnh AT. Ví dụ, bạn c thể điều khiển cho ph p hay không cho ph p kích hoạt hiển

SVTH: Phạm Tiến Duẫn Trang 34 thị thông báo lỗi AT CMEE và các thông báo lỗi nên được hiển thị theo dạng số hay theo dạng dòng chữ AT CMEE=1 hay AT CMEE=2 .

- Thiết lập hay thay đổi cấu hình của điện thoại di dộng hay modem GSM/GPRS. Ví dụ, thay đổi mạng GSM AT COPS , loại dịch vụ của bộ truyền tin AT CBST , các thông số protocol liên kết với radio AT CRLP , địa chỉ trung tâm SMS AT CSCA và khu vực lưu trữ các tin nhắn SMS (AT+CPMS).

- Lưu và phục hồi các cấu hình của điện thoại di động hay modem GSM/GPRS. Ví dụ, lưu AT COPS và phục hồi AT CRES các thiết lập liên quan tới tin nhắn SMS chẳng hạn như địa chỉ trung tâm tin nhắn SMS.

Một phần của tài liệu thiết kế hệ thống tự động và cảnh báo thiết bị điện dân dụng từ xa (Trang 33)