Một số lệnh AT cơ bản

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, thiết kế, chế tạo hệ thống điều khiển thiết bị điện từ xa bằng tin nhắn SMS và ứng dụng trong lĩnh vực cơ điện tử (Trang 62 - 64)

Lệnh AT Chú thích

AT Kiểm tra kết nối GSM

+CMGF Chọn chế độ làm việc (TEXT hoặc PDU Mode)

+CPMS Chọn lƣu trữ

+CSMP Thiết đặt thông số trong chế độ văn bản +CMGR Đọc SMS xác định từ thiết bị

+CMGL Đọc tất cả SMS

+CMGS Gửi SMS

+CMGW Ghi SMS vào bộ nhớ

+CMSS Gửi SMS đã lƣu trong bộ nhớ

+CMGD Xóa bộ nhớ

Trong chƣơng trình điều khiển trƣớc tiên chúng ta cần khởi tạo một kết nối RS232 cho mô-đem, sau đó gửi những lệnh AT điều khiển tƣơng ứng. Cần kiểm tra kết nối với mô-đem bằng cách sử dụng nhóm lệnh: AT, +CPIN, +CSCA, +CGMI, +CGMM, +CMEE, +CSMS, +CSQ, +CBC trƣớc mỗi phiên làm việc.

Để đọc các trạng thái thiết lập hiện tại, chúng ta có thể dùng lệnh AT có thêm ký tự „?‟. Để xem những giá trị nào có thể thiết lập, dùng lệnh AT có thêm ký tự „=?‟. Để thiết lập giá trị thông số mới, dùng lệnh AT có thêm ký tự „=‟ và theo sau đó là những giá trị thông số mới. Để gửi một nội dung đến địa chỉ một ngƣời dùng, sử dụng lệnh +CMGS là tối ƣu nhất. Tuy nhiên, có những nội dung cần gửi đến nhiều thuê bao khác nhau. Trong trƣờng hợp này nên dùng lệnh +CMGW ghi SMS lên bộ nhớ của mô- đem, sau đó dùng lệnh +CMSS để gửi SMS đó đến địa chỉ các thuê bao khác nhau. Cách này cho phép nâng cao tốc độ làm việc của mô-đem nhờ giảm thiểu trao đổi thông tin giữa mô-đem và chƣơng trình.

Có thể gửi SMS theo 2 chế độ là chế độ văn bản (Text Mode, +CMGF = 1) và chế độ mặc định PDU (Protocol Data Unit, +CMGF = 0). Các giá trị thiết lập thông số cho Text Mode và PDU Mode có thể khác nhau ở một số lệnh AT. Chẳng hạn, với

lệnh đọc tất cả các tin nhắn +CMGL tiếp nhận các thông số "REC UNREAD", "REC READ", "STO UNSENT", "STO SENT" và "ALL" trong chế độ Text Mode; trong khi đó, trong chế độ PDU sẽ là các giá trị từ 0 tới 4. Ngoài ra, không phải tất cả các mô- đem GSM cũng đều hỗ trợ định dạng Text Mode. Thử nghiệm cho thấy không chỉ những điện thoại lạc hậu, mà một số điện thoại hiện đại hiện nay nhƣ W580, cũng không hỗ trợ định dạng Text Mode khi làm việc với các thiết bị điều khiển. Trong khi đó, PDU Mode thì tất cả các mô-đem đều hỗ trợ và chế độ này cho phép gửi các tin nhắn dạng hình ảnh và nhạc chuông. Vì vậy, khi xây dựng một chƣơng trình làm việc với các mô-đem GSM, cần phải nghiên cứu tài liệu kỹ thuật của từng loại mô-đem để có thể thiết lập đúng những thông số mà mô-đem đó hỗ trợ, và mô-đun làm việc với các mô-đem, cần xác định loại và mô-đen, sau đó sử dụng những thông số mà mô-đem đó hỗ trợ; hoặc dùng lệnh AT có thêm „=?‟ để kiểm tra, những giá trị nào các thông số tƣơng ứng của một lệnh AT cho một mô-đem cụ thể có thể tiếp nhận. Tất cả các mô- đem đều hỗ trợ tập lệnh AT chuẩn. Nếu mô-đun sử dụng tập lệnh AT chuẩn để làm việc với các mô-đem, thì hệ thống sẽ không bị phụ thuộc vào thiết bị đƣợc sử dụng.

3.2.2. Mã hoá và giải mã tin nhắn theo chế độ PDU

Thông thƣờng mỗi SMS có độ dài tối da 160 ký tự với mã hoá 7-bit. Các SMS với mã hoá 8-bit có độ dài tối đa 140 ký tự và thƣờng là những SMS thông minh chứa hình ảnh và nhạc chuông hoặc là các thiết lập WAP. Các SMS chứa thông điệp gồm các ký tự Unicode 16-bit (UCS2) có độ dài tối đa 70 ký tự. Các SMS có độ dài lớn hơn độ dài tối đa vẫn có thể đƣợc truyền tải dƣới dạng ghép nối nhiều SMS phân đoạn với độ dài chuẩn. SMS có thể phân chia thành các loại sau: SMS-SUBMIT, SMS- DELIVERY, SMS-STATUS-REPORT, SMS-SUBMIT-REPORT, SMS-DELIVERY- REPORT, SMS-COMMAND. Cấu trúc của một SMS đƣợc mô tả chi tiết theo từng loại. Có thể biết đƣợc lý do gửi nhận SMS không thành công thông qua hai loại SMS sau cùng.

Khi dùng chế độ PDU, thông tin đƣợc mã hoá với 7-bit (septet) thƣờng đƣợc mã hoá thành những octet để gửi đi. Và khi nhận, cần phải giải mã nó để hiển thị nội dung SMS cho ngƣời dùng. Sau đây là ví dụ mã hoá thông điệp “hello” gồm 5 ký tự 7 bit thành các octet.

Bảng 3.2. Mã hoã chuỗi dữ liệu bộ bảy (septet) thành chuỗi bộ tám (octet)

Ký tự h e l l o Decimal 104 101 108 108 111 Hex 0x68 0x65 0x6C 0x6C 0x6F Septet 1101000 1100101 1101100 1101100 1101111 8 bit 11101000 00110010 10011011 11111101 00000110 Octet E8 32 9B FD 06

Thông điệp “hello” đƣợc mã hoá thành E8329BFD06 bằng cách chuyển số lƣợng bit cần thiết từ cuối ký tự kế sau (bôi đậm) ở dạng mã hoá septet sang đầu của ký tự kế trƣớc để có thể tạo thành một octet 8-bit. Đối với ký tự „o‟ cuối cùng do không còn ký tự nào đứng sau nữa nên đƣợc thêm 5-bit có giá trị 0 vào trƣớc để tạo thành một octet.

Để giải mã thông tin dữ liệu đƣợc mã hoá dƣới định dạng PDU chúng ta hãy xem xét thông điệp “hello” nhƣ sau: Trƣớc tiên, chúng ta sẽ chuyển 1 bit đầu octet đầu tiên sang phía sau của octet thứ hai và bỏ đi 2 bit đầu của octet thứ hai. Làm theo cách tƣơng tự và khi tới octet cuối cùng (06) sẽ đƣợc thêm 4 bit (1111) từ octet trƣớc đó vào sau và bỏ đi 5 bit (00000) đầu tiên.

Bảng 3.3. Mã hoã chuỗi dữ liệu bộ tám (octet) thành chuỗi bộ bảy (septet)

Octet E8 32 9B FD 06

8-bit 11101000 00110010 10011011 11111101 00000110 Septet 1101000 1100101 1101100 1101100 1101111

Decimal 104 101 108 108 111

Ký tự h e l l o

Để xử lý SMS đƣợc đúng, đầu tiên phải xác định đó là loại SMS nào dựa vào lệnh đọc SMS từ mục nào và 2 bit số 0, 1 của octet đầu tiên (00 – SMS-DELIVER, 00 – SMS-DELIVER-REP, 10 – SMS-STATUS-REP, 10 – SMS-COMMAND, 01 – SMS-SUBMIT, 01 – SMS-SUBMIT-REP). Tuỳ theo cấu trúc của từng loại SMS, phân tích và so sánh SMS-SUBMT/SMS-SUBMIT-REP và SMS-DELIVER/SMS- DELIVER-REP theo từng cặp để kiểm tra độ chính xác khi gửi nhận. Tƣơng tự, SMS- SUBMIT/SMS-STATUS-REP để kiểm tra SMS đã đƣợc nhận thành công hay chƣa. Đối với SMS–SUBMIT, không cần các octet chứa thông tin về Trung tâm Dịch vụ Tin nhắn (SMSC) khi gửi SMS. Thay vào đó, octet độ dài của thông tin về SMSC sẽ chứa giá trị 0x00 vì thông tin về SMSC đã đƣợc cài đặt trong mô-đem. Và octet đó sẽ không đƣợc tính vào tổng số octet khi gửi SMS đến mô-đem. Tuy nhiên, thông tin này thƣờng đƣợc kèm theo khi đọc PDU của SMS đã gửi từ mô-đem. Ví dụ, thông điệp “hello” đƣợc gửi từ số điện thoại +84974610987 trong chế độ PDU là 06 91 4819200050 21 00 0C 91 4879640189F7 00 00 05 E8329BFD06 đƣợc phân tích nhƣ

sau:

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, thiết kế, chế tạo hệ thống điều khiển thiết bị điện từ xa bằng tin nhắn SMS và ứng dụng trong lĩnh vực cơ điện tử (Trang 62 - 64)

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

(95 trang)