Lập trình gửi/nhận SMS với tập lênh AT

Một phần của tài liệu Xây dựng hệ thống quan sát từ xa qua mạng điện thoại di động (Trang 57)

Có hai cách để gửi tin nhắn SMS từ một máy tính đến điện thoại di động:

 Kết nối một điện thoại di động hoặc một modem với máy tính. Sau đó sử dụng máy tính và AT lệnh để điều khiển điện thoại di động hoặc modem GSM / GPRS để gửi tin nhắn SMS.

 Kết nối máy tính với trung tâm tin nhắn SMS (SMSC) hoặc gateway SMS của một của nhà cung cấp dịch vụ tin nhắn SMS. Sau đó gửi tin nhắn SMS bằng cách sử dụng một giao thức và giao diện được hỗ trợ bởi các SMSC hoặc gateway SMS.

Để gửi tin nhắn SMS phải sử dụng một thẻ SIM hợp lệ từ các nhà cung cấp dịch vụ mạng không dây cắm vào một điện thoại di động hoặc modem và kết nối với máy tính. Kết nối một điện thoại di động, modem với máy tính thông qua cổng nối tiếp, một cáp USB, Bluetooth hoặc liên kết hồng ngoại phụ thuộc vào khả năng hỗ trợ của điện thoại di động, modem. Ví dụ, nếu một điện thoại di động không hỗ trợ Bluetooth thì nó không thể kết nối với máy tính thông qua liên kết Bluetooth.

Sau khi kết nối một điện thoại di động hoặc modem với máy tính người lập trình sử dụng các lệnh AT để điều khiển việc gửi tin nhắn. Ngoài các lệnh AT chuẩn, điện thoại di động và modem hỗ trợ một bộ mở rộng các lệnh AT. Sử dụng các lệnh AT mở rộng cho phép kiểm soát việc gửi và nhận tin nhắn SMS. Dưới đây là các lệnh AT cơ bản làm việc với tin nhắn [13]:

Lệnh AT+CMGF: Được sử dụng để hướng dẫn cho modem hoạt động ở chế

Cú pháp của lệnh là AT + CMGF = <mode>, trong đó mode có hai giá trị, 0 là chế độ PDU, 1 chỉ định modem hoạt động ở chế độ văn bản.

Để xác định xem modem hỗ chế độ gửi tin nhắn nào sử dụng lệnh AT + CMGF =?. Nếu kết quả trả về là "+ CMGF: (0,1)" thì 0 là chế độ PDU và 1 chế độ văn bản. Nếu kết quả trả về là "+ CMGF: (0)", thì modem không hỗ trợ gửi SMS trong chế độ văn bản.

Lệnh AT+CMGW: Lệnh AT + CMGW được sử dụng để ghi một tin nhắn SMS

trong chế độ văn bản vào bộ nhớ lưu trữ của modem và chỉ định số điện thoại người nhận. Cú pháp: AT+CMGW = <number> number là số điện thoại di động của người nhận. Nếu thành công, các modem sẽ trả về một dấu nhắn ">" cho phép bắt đầu nhập nội dung tin nhắn SMS . Để kết thúc việc nhập tin nhắn SMS người lập trình cần nhập chuỗi kết thúc, thường là Ctrl + Z. Nếu thành công kết quả trả về sẽ là: +CMGW: <index> cho biết tin nhắn được gắn với chỉ số index trên bộ nhớ của modem.

Lệnh AT+CMSS: Được sử dụng để gửi tin nhắn từ bộ nhớ của modem. Cú pháp của lệnh là AT+CMSS=<index>, trong đó là vị trí của tin nhắn trên bộ nhớ của modem. Ví dụ: AT+CMSS=1 gửi tin nhắn số 1 trong bộ nhớ của modem.

Lệnh AT+CMGD: Lệnh này được sử dụng để xóa một tin nhắn tại một vị trí

trong bộ nhớ. Cú pháp: AT+CMGD=<index>, trong đó index là chỉ số của tin nhắn cần xóa trên bộ nhớ của modem.

Lệnh AT+CMGS: Cho phép gửi một tin nhắn tới một thuê bao GSM. Lệnh

này tương tự như AT+CMGW. Tuy nhiên, thay vì lưu trữ tin nhắn, AT+CMGS sẽ cho phép gửi trực tiếp tin nhắn.

Lệnh AT+CMGR: Cho phép đọc một tin nhắn. AT+CMGR=<index>, Trong

đó index là vị trí của thông điệp được lưu trong bộ nhớ. Chuỗi trả về có định dạng như sau:

+CMGR:<message type>, <sender number>, <time> <CR><LF> [<content>] <CR><LF>

OK

Một phần của tài liệu Xây dựng hệ thống quan sát từ xa qua mạng điện thoại di động (Trang 57)