4.2.1. Giới thiệu về SMS
SMS là từ viết tắt của Short Message Service. Đó là một công nghệ cho phép gửi và nhận các tín nhắn giữa các điện thoại với nhau. SMS xuất hiện đầu tiên ở Châu Âu vào năm 1992. Ở thời điểm đó, nó bao gồm cả các chuẩn về GSM, một thời gian sau đó nó phát triển sang công nghệ wireless nhƣ CDMA và TDMA. Các chuẩn GSM và SMS có nguồn gốc phát triển bởi ETSI. ETSI là chữ viết tắt của European Telecommunications Standards Institute. Ngày nay thì 3GPP (Third Generation Partnership Project) đang giữ vai trò kiểm soát về sự phát triển và duy trì các chuẩn GSM và SMS.
Nhƣ đã nói ở trên về tên đầy đủ của SMS là Short Message Service, từ cụm từ đó, có thể thấy đƣợc là dữ liệu có thể đƣợc lƣu giữ bởi một tin nhắn SMS là rất giới hạn. Một tin nhắn SMS có thể chứa tối đa là 140 byte (1120 bit) dữ liệu. Vì vậy, một tin nhắn SMS chỉ có thể chứa :
+ 160 kí tự nếu nhƣ mã hóa kí tự 7 bit đƣợc sử dụng (mã hóa kí tự 7 bit thì phù hợp với mã hóa các lí tự latinh chẳng hạn nhƣ các kí tự alphabet của tiếng Anh).
+ 70 kí tự nếu nhƣ mã hóa kí tự 16 bit Unicode UCS2 đƣợc sử dụng (các tin nhắn SMS không chứa các kí tự latinh nhƣ kí tự chữ Trung Quốc phải sử dụng mã hóa kí tự 16 bit).
Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau. Nó có thể hoạt động tốt với nhiều ngôn ngữ mà có hỗ trợ mã Unicode, bao gồm cả Arabic, Trung Quốc, Nhật Bản và Hàn Quốc. Bên cạnh gữi tin nhắn dạng text thì tin nhắn SMS còn có thể mang các dữ liệu dạng binary (nhị phân). Nó còn cho phép gửi nhạc chuông, hình ảnh cùng nhiều tiện ích khác…tới một điện thoại khác.
Một trong những ƣu điểm nổi trội của SMS đó là nó đƣợc hỗ trợ bởi các điện thoại có sử dụng GSM hoàn toàn. Hầu hết tất cả các tiện ích cộng thêm gồm cả dịch vụ gửi tin nhắn giá rẻ đƣợc cung cấp, sử dụng thông qua sóng mang wireless. Không giống nhƣ SMS, các công nghệ mobile nhƣ WAP và mobile Java thì không đƣợc hỗ trợ trên nhiều model điện thoại.
Sử dụng tin nhắn SMS ngày càng phát triển và trở nên rộng khắp :
Các tin nhắn SMS có thể đƣợc gửi và đọc tại bất kỳ thời điểm nào. Ngày nay, hầu hết mọi ngƣời đều có điện thoại di động của riêng mình và mang nó theo ngƣời hầu nhƣ cả ngày. Với một điện thoại di động, bạn có thể gửi và đọc các tin nhắn SMS bất cứ lúc nào bạn muốn, sẽ không gặp khó khăn gì khi bạn đang ở trong văn phòng hay trên xe bus hay ở nhà…
Tin nhắn SMS có thể đƣợc gửi tới các điện thoại mà tắt nguồn.
Nếu nhƣ không chắc cho một cuộc gọi nào đó thì bạn có thể gửi một tin nhắn SMS đến bạn của bạn thậm chí khi ngƣời đó tắt nguồn máy điện thoại trong lúc bạn gửi tin nhắn đó. Hệ thống SMS của mạng điện thoại sẽ lƣu trữ tin nhắn đó rồi sau đó gửi nó tới ngƣời bạn đó khi điện thoại của ngƣời bạn này mở nguồn.
Các tin nhắn SMS ít gây phiền phức trong khi bạn vẫn có thể giữ liên lạc với ngƣời khác.
Việc đọc và viết các tin nhắn SMS không gây ra ồn ào. Trong khi đó, bạn phải chạy ra ngoài khỏi rạp hát, thự viện hay một nơi nào đó để thực hiện một cuộc điện thoại hay trả lời một cuộc gọi. Bạn không cần phải làm nhƣ vậy nếu nhƣ tin nhắn SMS đƣợc sử dụng.
Các điện thoại di động và chúng có thể đƣợc thay đổi giữa các sóng mang Wireless khác nhau.
Tin nhắn SMS là một công nghệ rất phát triển. Tất cả các điện thoại mobile ngày nay đều có hỗ trợ nó. Bạn không chỉ có thể trao đổi các tin nhắn SMS đối với ngƣời sử dụng mobile ở cùng một nhà cung cấp dịch vụ mạng sóng mang wireless, mà đồng thời bạn cũng có thể trao đổi nó với ngƣời sử dụng khác ở các nhà cung cấp dịch vụ khác.
SMS là một công nghệ phù hợp với các ứng dụng Wireless sử dụng cùng với nó.
Nói nhƣ vậy là do:
Thứ nhất, tin nhắn SMS đƣợc hỗ trợ 100% bởi các điện thoại có sử dụng công nghệ GSM. Xây dựng các ứng dụng wireless trên nền công nghệ SMS có thể phát huy tối đa những ứng dụng có thể dành cho ngƣời sử dụng.
Thứ hai, các tin nhắn SMS còn tƣơng thích với việc mang các dữ liệu binary bên cạnh gửi các text. Nó có thể đƣợc sử dụng để gửi nhạc chuông, hình ảnh, hoạt họa ...
Thứ ba, tin nhắn SMS hỗ trợ việc tri trả các dịch vụ trực tuyến. Nghĩa là nó cho phép thực hiện việc chi trả các dịch vụ trực tuyến một cách thuận lợi.
4.2.2. Cấu trúc một tin nhắn SMS
Nội dung của một tin nhắn SMS khi đƣợc gửi đi sẽ đƣợc chia làm 5 phần nhƣ sau :
Message Body
Instructions to SIM (optional) Instructions to handset
Instructions to SMSC Instructions to air interface
Hình 4.3. Cấu trúc tin nhắn SMS
Instructions to air interface: chỉ thị dữ liệu kết nối với air interface (giao diện không khí).
Instructions to SMSC: chỉ thị dữ liệu kết nối với trung tâm tin nhắn SMSC (short message service centre).
Instructions to handset: chỉ thị dữ liệu kết nối bắt tay.
Instructions to SIM (optional): chỉ thị dữ liệu kết nối, nhận biết SIM (Subscriber Identity Modules).
Message body: nội dung tin nhắn SMS.
4.2.3. Tin nhắn SMS chuỗi/tin nhắn SMS dài
Một trong những trở ngại của công nghệ SMS là tin nhắn SMS chỉ có thể mang một lƣợng giới hạn các dữ liệu. Để khắc phục trở ngại này, một mở rộng của nó gọi là SMS chuỗi (hay SMS dài) đã ra đời. Một tin nhắn SMS dạng text dài có thể chứa nhiều hơn 160 kí tự theo chuẩn dùng trong tiếng Anh. Cơ cấu hoạt động cơ bản SMS chuỗi làm việc nhƣ sau: điện thoại di động của ngƣời gửi sẽ chia tin nhắn dài ra thành nhiều phần nhỏ và sau đó gửi các phần nhỏ này nhƣ một tin nhắn SMS đơn. Khi các tin nhắn SMS này đã đƣợc gửi tới đích hoàn toàn thì nó sẽ đƣợc kết hợp lại với nhau trên máy di động của ngƣời nhận. Khó khăn của SMS chuỗi là nó ít đƣợc hỗ trợ nhiều so với SMS ở các thiết bị có sử dụng sóng wireless.
4.2.4. SMS Center
đi từ một điện thoại di động thì trƣớc tiên nó sẽ đƣợc gửi tới một trung tâm SMS. Sau đó, trung tâm SMS này sẽ chuyển tin nhắn này tới đích (ngƣời nhận). Một tin nhắn SMS có thể phải đi qua nhiều hơn một thực thể mạng (network) (chẳng hạn nhƣ SMSC và SMS gateway) trƣớc khi đi tới đích thực sự của nó. Nhiệm vụ duy nhất của một SMSC là luân chuyển các tin nhắn SMS và điều chỉnh quá trình này cho đúng với chu trình của nó. Nếu nhƣ máy điện thoại của ngƣời nhận không ở trạng thái nhận (bật nguồn) trong lúc gửi thì SMSC sẽ lƣu trữ tin nhắn này. Và khi máy điện thoại của ngƣời nhận mở nguồn thì nó sẽ gửi tin nhắn này tới ngƣời nhận.
Thƣờng thì một SMSC sẽ họat động một cách chuyên dụng để chuyển lƣu thông SMS của một mạng wireless. Hệ thống vận hành mạng luôn luôn quản lí SMSC của riêng nó và ví trí của chúng bên trong hệ thống mạng wireless. Tuy nhiên hệ thống vận hành mạng sẽ sử dụng một SMSC thứ ba có vị trí bên ngoài của hệ thống mạng wireless.
Bạn phải biết địa chỉ SMSC của hệ thống vận hành mạng wireless để sử dụng, tinh chỉnh chức năng tin nhắn SMS trên điện thoại của bạn. Điển hình một địa chỉ SMSC là một số điện thoại thông thƣờng ở hình thức, khuôn mẫu quốc tế. Một điện thoại nên có một thực đơn chọn lựa để cấu hình địa chỉ SMSC. Thông thƣờng thì địa chỉ đƣợc điều chỉnh lại trong thẻ SIM bởi hệ thống mạng wireless. Điều này có nghĩa là bạn không cần phải làm bất cứ thay đổi nào với cả.
4.2.5. Nhắn tin SMS quốc tế
Các tin nhắn SMS giữa các nhà điều hành đƣợc chia ra làm hai hạng mục gồm tin nhắn SMS giữa các nhà điều hành cục bộ và tin nhắn SMS giữa các nhà điều hành quốc tế với nhau. Tin nhắn SMS giữa các nhà điều hành cục bộ là tin nhắn mà đƣợc gửi giữa các nhà điều hành trong cùng một quốc gia còn tin nhắn SMS giữa các nhà điều hành quốc tế là tin nhắn SMS đƣợc gửi giữa các nhà điều hành mạng wireless ở những quốc gia khác nhau.
Khả năng kết hợp của tin nhắn SMS giữa hai mạng wireless cục bộ hay thậm chí là quốc tế là một nhân tố chính góp phần tới sự phát triển mạnh mẽ của hệ thống SMS toàn cầu.
4.3. MODULE SIM900A
4.3.1. Giới thiệu Module Sim900A
Module đƣợc tích hợp phần thu nhận sóng, phần nguồn, phần điều khiển và các phần phụ khác. Với việc thiết kế bằng mạch hai lớp sẽ mang lại sự đảm bảo tin cậy khi làm việc.
4.3.2. Giới thiệu tập lệnh AT Command
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. Các modem GSM/GPRS và các điện thoại di động đƣợ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).
Chú ý là khởi động “AT” là một tiền tố để thông báo tới modem về sự bắt đầu của một dòng lệnh. Nó không phải là một phần của tên lệnh AT. Ví dụ nhƣ D là một tên lệnh AT thực tế trong ATD và +CMGS là tên một lệnh AT thực tế trong AT+CMGS. Tuy nhiên, một số sách hay một số trang web lại sử dụng chúng thay cho nhau nhƣ là tên của một lệnh AT.
Sau đây là một vài nhiệm vụ có thể đƣợc hoàn thành bằng cách sử dụng các lệnh AT kết hợp với sử dụng 1 modem GSM/GPRS hay một điện thoại di động:
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 bin và trạng thái sạc bin (AT+CBC).
Thiết lập một kết nối dữ liệu hay kết nối voice tới một remote điều khiển (ATD, ATA,..).
Gửi và nhận fax (ATD, ATA,AT+F*).
Gửi (AT+CMGS, AT+CMSS), đọc (AT+CMGR, AT+CMGL), viết (AT+CMGW) hay xóa tin nhắn SMS (AT+CMGD) và nhận các thông báo của các tin nhắn SMS nhận đƣợc mới nhất (AT+CNMI).
Đọ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).
( Các ví dụ về khóa chức năng: khóa SIM [một password phải đƣợc cho vào thẻ SIM mỗi khi điện thoại đƣợc mở] và khóa PH-SIM [một thể SIM nào đó có liên kết tới điện thoại, và để sử dụng đƣợc các thẻ SIM khác thì buộc phải đăng nhập một password vào trong nó] ).
Đ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 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.
Chú ý là nhà sản xuất điện thoại di động thƣờng không thi hành tất cả các lệnh AT, các thông số lệnh và các giá trị của tham số trong các điện thoại di động.
Trạng thái hành vi của các lệnh AT thực thi có thể cũng khác so với các định nghĩa chuẩn trƣớc đó. Nói chung, các modem GSM/GPRS đƣợc thiết kế dành cho các ứng dụng wireless mà có đƣợc các hỗ trợ tốt về các lệnh AT hơn là các điện thoại di động thông thƣờng khác.
Thêm vào đó, một vài lệnh AT yêu cầu sự hỗ trợ từ các tổng đài của mạng di động. Ví dụ, SMS thông qua GPRS có thể đƣợc kích hoạt trên các điện thoại di động có sử dụng GPRS và các modem GPRS với lệnh +CGSMS (tên lệnh ở dạng text: Select Service for MO SMS Messages). Nhƣng nếu tổng đài mạng điện thoại không hỗ trợ quá trình truyền dẫn SMS thông qua GPRS, thì bạn không thể sử dụng chức năng này đƣợc.
4.3.3. Giải thuật cho tập lệnh AT Command
Các thuật ngữ:
<CR>: Carriage return (0x0D). <LF> : Line Feed (0x0A).
MT : Mobile Terminal - Thiết bị đầu cuối mạng (modem). TE : Terminal Equipment - Thiết bị đầu cuối (máy tinh, vi điều khiển).
Chế độ nghỉ:
(1) AT+CFUN=0<CR>: Tắt hết mọi 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. MT không còn đƣợc kết nối với mạng.
(2) <CR><LF>OK<CR><LF>: Chuỗi thông báo kết quả thực thi lệnh
thành công, thông thƣờng là sau 3 giây kể từ lúc nhận lệnh AT+CFUN=0.
(3) Chuyển trạng thái chân DTR từ mức 0 sang mức 1: Module hoạt
động ở chế độ sleep mode.
Chuyển từ chế độ nghỉ sang chế độ hoạt động bình thƣờng.
(1) Đƣa chân DRT chuyển từ mức 1 xuống mức 0:
Module thoát khỏi chế độ sleep. (2) AT+CFUN=1<CR>:
Đƣa module trở về chế độ hoạt động bình thƣờng.
(3) MT trả về chuỗi <CR><LF>OK<CR><LF>.
(4) Module gửi tiếp chuỗi thông báo <CR><LF>Call Ready<CR><LF>:
Thời gian kể từ lúc nhận lệnh AT+CFUN=1<CR> đến lúc module gửi về thông báo trên khoảng 10 giây.
(1) ATZ<CR>:
Reset modem, kiểm tra modem đã hoạt động bình thƣờng chƣa. Để chắc chắn ta gửi nhiều lần cho đến khi nhận đƣợc chuỗi
ATZ<CR><CR><LF>OK<CR><LF>.
(2) ATE0<CR>:
Tắt chế độ echo lệnh. Chuỗi trả về có dạng ATE0<CR><CR><LF>OK<CR><LF>.
(3) AT+CLIP=1<CR>:
Định dạng chuỗi trả về khi nhận cuộc gọi. Thông thƣờng, ở chế độ mặc định, khi có cuộc gọi đến, chuỗi trả về sẽ có dạng: <CR><LF>RING<CR><LF>
Sau khi lệnh AT+CLIP=1<CR> đã đƣợc thực thi, chuỗi trả về sẽ có dạng: <CR><LF>RING<CR><LF>
<CR><LF>+CLIP: "0929047589",129,"",,"",0<CR><LF>
Chuỗi trả về có chứa thông tin về số điện thoại gọi đến. Thông tin này cho phép xác định việc có nên nhận cuộc gọi hay từ chối cuộc gọi. Kết thúc các thao tác khởi tạo cho quá trình nhận cuộc gọi. Các bƣớc khởi tạo tiếp theo liên quan đến các thao tác truyền nhận tin nhắn.
(4) AT&W<CR>:
Lƣu cấu hình cài đặt đƣợc thiết lập bởi các lệnh ATE0 và AT+CLIP vào bộ nhớ.
(5) AT+CMGF=1<CR>:
Thiết lập quá trình truyền nhận tin nhắn đƣợc thực hiện ở chế độ text (mặc định là ở chế độ PDU).
Chuỗi trả về sẽ có dạng: <CR><LF>OK<CR><LF>
(6) AT+CNMI=2,0,0,0,0<CR>:
Sau khi lệnh trên đƣợc thiết lập, tin nhắn mới nhận đƣợc sẽ đƣợc lƣu trong SIM, và MT không truyền trở về TE bất cứ thông báo nào. TE sẽ đọc tin nhắn đƣợc lƣu trong SIM trong trƣờng hợp cần thiết.
(7) AT+CSAS<CR>:
Lƣu cấu hình cài đặt đƣợc thiết lập bởi các lệnh AT+CMGF và AT+CNMI. Khởi tạo module SIM900A.
(1) AT+CMGD=1:
Xóa tin nhắn ở vùng nhớ 1 trong SIM.
Chuỗi trả về sẽ có dạng: <CR><LF>OK<CR><LF>
(2) AT+CMGD=2:
Tác dụng tƣơng tự nhƣ lệnh số 7. Lệnh này đƣợc dùng để xóa tin nhắn đƣợc lƣu trong ngăn số 2. Có thể hình dung bộ nhớ lƣu tin nhắn trong SIM bao