Marketing Mobile 1
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
LỜI CẢM ƠN
Chúng em xin gửi lời tri ân sâu sắc đến các thầy cô khoa Công nghệ thông
tin, trường Đại học Nha Trang đã hết lòng dạy dỗ chúng em trong hơn 4 năm Đại
học cũng như đã tạo điều kiện cho chúng em thực hiện được luận văn này.
Đặc biệt, chúng em xin gửi lời cám ơn chân thành đến thầy Nguyễn Đức
Thuần (khoa Công nghệ thông tin), anh Hồ Văn Phước Vĩnh và anh Tạ Quân (công
ty VASC – Tp.HCM) đã tận tình hướng dẫn, truyền đạt kiến thức và kính nghiệm
cho chúng em trong suốt thời gian thực hiện luận văn.
Và xin chân thành cảm ơn các đến các anh chị đi trước, các bạn bè khoa
Công nghệ thông tin đã luôn động viên, giúp đỡ chúng tôi trong thời gian khó khăn
để có thể hoàn thành luận văn này.
Mặc dù đã rất cố gắng, song chắc chắn luận văn này sẽ còn rất nhiều thiếu
sót. Rất mong được sự chỉ bảo thêm của quý thầy cô, các anh chị và các bạn.
Một lần nữa, xin chân thành cảm ơn.
Nha Trang, tháng 12 năm 2007
Sinh viên thực hiện
Trần Tùng Dương – Võ Tường Luân
Marketing Mobile 2
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
LỜI NÓI ĐẦU
Trong thời đại ngày nay, công nghệ thông tin được xem là ngành mũi nhọn,
là động lực quan trọng để phát triển các lĩnh vực khác của đời sống như kinh tế, văn
hóa, xã hội v.v. Đặc biệt, trong thời gian gần đây, chúng ta có thể cảm nhận được
sự lớn mạnh của công nghệ di động cùng với sự phát triển của các thiết bị di động
như điện thoại di động, PDA, Pocket PC. Con người có thể sử dụng các thiết bị này
để thực hiện khai thác thông tin mọi lúc, mọi nơi và rút ngắn khoảng cách giữa con
người với nhau. Với sự phát triển của phần cứng thì lĩnh vực phát triển phần mềm
làm việc với các thiết bị di động gợi ra nhiều hướng đi và thử thách thú vị.
Một trong những hướng đi ấy là việc xây dựng ứng dụng có khả năng kết nối
với thiết bị di động và các tính năng nổi trội của thiết bị di động sẽ được thực hiện
thông qua ứng dụng này.
Theo khảo sát thực tế, trong quá trình kinh doanh của các doanh nghiệp, việc
quảng cáo sản phẩm, thương hiệu và việc đáp ứng kịp thời nhu cầu của khách hàng
là những khâu luôn được chú trọng đặc biệt. Các khâu này đã và đang được thực
hiện thông qua các phương tiện truyền thông: truyền hình, báo chí, internet. Bên
cạnh đó, với những tính năng hiện có của mình, thiết bị di động cũng đang là một
lựa chọn hữu ích cho các doanh nghiệp trong việc thực hiện các khâu này.
Từ những ý tưởng trên, chúng em đã chọn và tập trung phát triển đề tài
“Marketing Mobile” với mong muốn đề tài không chỉ đáp ứng cho các doanh
nghiệp trong công tác quảng cáo sản phẩm, thương hiệu và phục vụ kịp thời nhu
cầu khách hàng mà còn đáp ứng hiệu quả và linh động trong công tác quản lý của
các cơ quan, doanh nghiệp…
Marketing Mobile 3
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
LỜI CẢM ƠN 1
LỜI NÓI ĐẦU 2
Chương 1. Mở đầu4
1.1 Quảng cáo trên điện thoại di động 4
1.2 Mục tiêu của đề tài 5
Chương 2. Các vấn đề tổng quan
2.1 Tổng quan về hệ thống thông tin di động toàn cầu (GSM) 6
2.2 Tổng quan về SMS 7
2.3 Tổng quan về AT Command 16
2.4 Những điều cần biết về Modem GSM/GPRS 19
Chương 3. Các giải pháp cho vấn đề phát triển ứng dụng Marketing Mobile
3.1 Yêu cầu chung: 22
3.2 Lựa chọn và sử dụng SMS Gateway hợp lý: 22
3.3 Thực hiện phân luồng xử lý để đảm bảo độ ổn định của chương trình khi gửi tin
nhắn với số lượng lớn. 23
3.4 Đồng bộ dữ liệu giữa ứng dụng và website 24
3.5 Một số nguyên tắc trong xử lý cơ sở dữ liệu phân tán nhằm đảm bảo sự bền vững,
chính xác của cơ sở dữ liệu khi có nhiều người truy cập 26
Chương 4. Ứng dụng Marketing Mobile
4.1 Phân tích 27
4.2 Các mô hình hoạt động của ứng dụng 28
4.3 Các chế độ hoạt động của chương trình 30
4.4 Phạm vi ứng dụng của chương trình 30
Chương 5. Thực hiện – Hướng dẫn sử dụng
5.1 Thực hiện chương trình 32
5.2 Hướng dẫn sử dụng 32
Chương 6. Tổng kết và đánh giá hướng phát triển
6.1 Ưu điểm 38
6.2 Nhược điểm 38
6.3 Hướng phát triển 38
Tài liệu tham khảo 40
Marketing Mobile 4
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Chương 1. Mở đầu
1.1 Quảng cáo trên điện thoại di động
Với sự phát triển mạnh mẽ của Internet và các công nghệ di động, các hoạt
động thương mại có thể diễn ra ở mọi lúc, mọi nơi dưới nhiều hình thức khác nhau:
giao dịch điện tử, thanh toán trực tuyến…
Trên hết, số người sử dụng các thiết bị di động, đặc biệt là điện thoại di động
đã gia tăng một cách đáng kinh ngạc, từ 400 triệu người năm 2000 đã tăng lên đến
hơn 1 tỷ người trong năm 2004 và tính tới ngày 29/11/2007, theo thống kê của tập
đoàn GSM Association, số người sử dụng máy điện thoại di động đã vượt con số
2,5 tỷ người và được sử dụng tại 213 nước trên thế giới (chính xác đã đạt tới con số
2.571.563.279 người sử dụng điện thoại di động hệ GSM và khoảng 4.214 triệu
người sử dụng di động hệ CDMA). Tốc độ tăng này đồng nghĩa với việc cứ mỗi
phút có hơn 1000 người sử dụng điện thoại di động. Đồng thời, cũng theo GSM
Association, số lượng tin nhắn gửi từ các máy điện thoại di động trong mạng GSM
đã lên đến 1000 tỷ tin nhắn trong năm qua. Điều này cho thấy các thiết bị di động
hiện nay đã trở thành một phần không thể thiếu trong cuộc sống hằng ngày của
nhiều người và nó đã trở thành thiết bị điện tử được nhiều người đem theo mọi lúc,
mọi nơi.
Song song với việc phát triển các thiết bị di động, các phương thức tiếp cận
và khai thác thông tin cũng có bước phát triển lớn. Ngày nay, con người có thể tiếp
nhận thông tin bằng nhiều phương thức khác nhau: qua báo chí, qua đài phát thanh,
truyền hình, qua Internet… Mỗi phương thức có một thế mạnh riêng, chúng không
thể thay thế hoàn toàn cho nhau được. Giống như đài phát thanh không thể thay thế
báo chí, truyền hình không thể thay thế đài phát thanh, và Internet cũng không thể
thay thế tất cả các phương thức trên. Điều đó cho thấy rằng có nhiều cách tiếp cận,
khai thác thông tin, việc chọn phương thức nào tùy thuộc vào phương tiện có trong
Marketing Mobile 5
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
tay của chúng ta, vị trí hiện thời của chúng ta và loại thông tin chúng ta muốn khai
thác.
Xét trong lĩnh vực truyền tải các thông tin mang nội dung quảng cáo sản
phẩm, thương hiệu của các doanh nghiệp, với số lượng người sử dụng điện thoại di
động lớn, cách tiếp cận, truyền tải thông tin qua các tin nhắn SMS là một lựa chọn
thích đáng và có thể mang lại hiệu quả cao.
1.2 Mục tiêu của đề tài
Hiện nay, nhu cầu tiếp thị, quảng cáo thông tin về sản phẩm, thương hiệu của
các doanh nghiệp là khá lớn. Vì thế, đề tài “Marketing Mobile” sẽ tạo ra một kênh
quảng cáo thông qua điện thoại di động.
Các chức năng cần xây dựng:
Kết nối và gửi tin nhắn SMS đến một hoặc nhiều số điện thoại di động.
Quản lý danh bạ theo hướng phân cấp.
Quản lý các tin nhắn đã gửi và cho phép đặt trước lịch gửi tin nhắn
Thực hiện đồng bộ cơ sở dữ liệu của ứng dụng và website, người sử
dụng có thể truy cập bằng ứng dụng hoặc website.
Có thể gửi Push Wap và Calendar đến các số di động định trước.
Xử lý một số tin nhắn điều khiển.
Marketing Mobile 6
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Chương 2. Các vấn đề tổng quan
2.1 Tổng quan về hệ thống thông tin di động toàn cầu (GSM)
Hệ thống thông tin di động toàn cầu (Global System for Mobile
communication, viết tắt là GSM) là một chuẩn phổ biến nhất dùng cho điện thoại di
động trên thế giới. Khả năng phú sóng rộng khắp nơi của chuẩn GSM làm cho nó
trở nên phổ biến, cho phép người sử dụng có thể sử dụng điện thoại di động của họ
ở nhiều vùng trên thế giới.
GSM khác với các chuẩn tiền thân của nó về cả tín hiệu và tốc độ, chất lượng
cuộc gọi. Lợi thế chính của GSM là chất lượng cuộc gọi tốt hơn, giá thành thấp và
dịch vụ tin nhắn có độ tin cậy cao.
GSM là một chuẩn mở, được xem như là một hệ thống điện thoại di động thế
hệ thứ hai (second generation, 2G). Hiện tại GSM được phát triển bởi 3rd
Generation Partnership Project (3GPP).
GSM là mạng điện thoại di động được thiết kế gồm nhiều trạm phủ sóng
(cell site) khác nhau. Do đó, các máy điện thoại di động có thể kết nối với mạng
GSM thông qua việc kết nối tới trạm phủ sóng gần nhất.
GSM có tất cả 4 loại trạm phủ sóng, tùy theo kích thước của vùng được phủ
sóng được chia thành: macro, micro, pico và umbrella. Vùng phủ sóng của mỗi trạm
phụ thuộc nhiều vào môi trường.
Macro được lắp trên cột cao hoặc trên các toà nhà cao tầng.
Micro được lắp ở các khu thành thị, khu dân cư…
Pico thì tầm phủ sóng chỉ khoảng vài chục mét trở lại, nó thường được lắp để
tiếp sóng trong nhà.
Umbrella được lắp bổ sung vào các vùng bị che khuất hay các vùng trống
giữa các trạm.
Marketing Mobile 7
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Bán kính phủ sóng của một trạm tuỳ thuộc vào độ cao của anten, tầm phát
sóng của anten và điều kiện của môi trường truyền sóng, thường thì bán kính có thể
từ vài trăm mét tới vài chục km. Trong thực tế thì khả năng phủ sóng xa nhất của
một trạm GSM là 35 km.
GSM hoạt động trên 4 băng tần: phổ biến là 2 băng tần 900MHz và
1800MHz. Ở một số nước châu Mỹ thì sử dụng băng tần 850MHz và 1900MHz vì
các băng tần phổ biến đã được sử dụng trước ở nơi này.
2.2 Tổng quan về SMS
2.2.1 SMS là gì?
SMS (Short Message Service) là một chuẩn công nghệ cho phép gửi và nhận
các thông điệp giữa các điện thoại di động.
SMS xuất hiện lần đầu tiên vào năm 1992 tại Châu Âu. Ngay từ khi mới xuất
hiện, SMS đã được tích hợp vào chuẩn hệ thống thông tin di động toàn cầu GSM.
Sau đó, nó mới được tích hợp vào các chuẩn công nghệ CDMA và TDMA.
Các chuẩn SMS và GSM đều được phát triển bởi 3GPP (Third Generation
Partnership Project).
Dữ liệu chứa trong một tin nhắn SMS bị giới hạn. Một tin nhắn SMS có thể
chứa tối đa 140 bytes (1120 bits) dữ liệu, tương đương:
160 kí tự nếu sử dụng 7-bit để mã hóa kí tự (mã hóa 7 bit dùng để mã
hóa các kí tự Latin)
70 kí tự nếu sử dụng mã hóa Unicode UCS2 16-bit (mã hóa UCS2 16-
bit dùng để mã hóa các kí tự khác Latin, SMS hỗ trợ tốt các ngôn ngữ
phức tạp: Hàn Quốc, Trung Quốc, Ả Rập…thông qua kiểu mã hóa
này)
Bên cạnh đó, SMS còn hỗ trợ các dữ liệu dạng nhị phân. Do vậy, có thể gửi
nhạc chuông, hình ảnh, biểu tượng, danh thiếp…thông qua một tin nhắn SMS.
Marketing Mobile 8
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
2.2.2 Các loại SMS phổ biến
Dựa vào nội dung chứa trong tin nhắn, người ta phân thành 4 loại tin nhắn
phổ biến:
2.2.2.1 SMS (Short Message Service)
Tin nhắn chứa 160 kí tự Latin hoặc 70 kí tự đặc biệt (non Latin). Đây là loại
tin nhắn nguyên thủy và được dùng nhiều nhất hiện nay.
2.2.2.2 Concatenated SMS (Long SMS)
Loại tin nhắn này được mở rộng để khắc phục nhược điểm chứa ít thông tin
của SMS nguyên thủy (160 kí tự Latin). Long SMS có thể chứa hơn 160 kí tự Latin.
Nó hoạt động theo cơ chế: máy điện thoại gửi tin sẽ chia tin nhắn có nội dung dài
thành các tin nhắn nhỏ hơn và gửi chúng như những tin SMS đơn lẻ; máy điện thoại
nhận tin sau khi nhận hết các tin từ máy gửi sẽ đảm nhiệm việc kết nối các tin đơn
lẻ thành 1 tin ban đầu. Tuy nhiên, loại tin nhắn này không được hỗ trợ ở một số loại
điện thoại đời cũ.
2.2.2.3 EMS (Enhanced Messaging Service)
Loại tin nhắn này có thể chứa các thông tin đa dạng hơn: các hình động, âm
thanh. Định dạng kí tự có thể thay đổi khi dùng loại tin nhắn này. Nghĩa là các kí tự
có thể được hiển thị ở kiểu in đậm hay in nghiêng, ở font lớn hay nhỏ…
Tuy nhiên, loại tin nhắn này cũng chỉ là một cấp mở rộng của SMS và không
được hỗ trợ rộng rãi ở các mạng di động, ít phổ biến với người dùng điện thoại di
động.
2.2.2.4 MMS (Multimedia Message Service)
MMS là dịch vụ tin nhắn đa phương tiện, ra đời vào năm 2002. Khác với
EMS chỉ là sự cải tiến từ SMS và dùng chính SMS để truyền tải, MMS là một cuộc
cách mạng so với EMS. Bản tin MMS dùng ngôn ngữ SMIL (Synchronised
Multimedia Integration Language) để thể hiện.
Marketing Mobile 9
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Một bản tin MMS có thể chứa nội dung tương tự như một trang Web: hình
ảnh màu, nhạc chuông đa âm sắc hoặc âm thanh thực (true tone), phim video
Có thể so sánh một bản tin MMS như là một e-mail, bằng chứng là chúng ta
vẫn có thể gửi MMS từ một địa chỉ email đến điện thoại di động và ngược lại. Điều
khác nhau cơ bản giữa MMS và e-mail là ở khâu xử lý nội dung của e-mail Server
và MMS Server. Khi chúng ta gửi và nhận e-mail, nội dung e-mail sẽ được giữ
nguyên vẹn, còn nội dung của bản tin MMS sẽ được chỉnh sửa cho phù hợp với
năng lực điện thoại di động của người nhận.
2.2.3 Những đặc điểm thuận lợi của SMS
Ngày nay, SMS đã trở nên phổ biến trên toàn thế giới, số lượng tin nhắn
SMS trao đổi trong mỗi ngày là khá lớn. Có được điều đó là vì SMS có những
thuận lợi sau:
SMS có thể được gửi và nhận bất cứ lúc nào, bất cứ ở đâu, chỉ cần chúng
ta có điện thoại di động.
SMS có thể được gửi đến một điện thoại di động đang không hoạt động
trong mạng (offline). Thực tế, khi điện thoại bị trục trặc hoặc rơi vào tình
trạng mất sóng tạm thời, tin nhắn gửi đến điện thoại đó sẽ được mạng di
động lưu lại và sẽ gửi cho điện thoại cần nhận tin khi nào điện thoại đó hoạt
động lại (online)
SMS không quá làm phiền người sử dụng trong những lúc đang nghỉ ngơi.
Không như một cuộc gọi, việc soạn và gửi SMS không gây nhiều tiếng động,
chúng ta cũng không cần phải ra ngoài để soạn tin hay nhận tin.
SMS được hỗ trợ bởi tất cả các điện thoại di động GSM. SMS không chỉ
trao đổi giữa những người sử dụng trong cùng một mạng di động mà còn có
thể trao đổi giữa những người sử dụng ở các mạng di động khác nhau.
SMS chứa được các kí tự, hình ảnh, âm thanh…nên nó là công nghệ thích
hợp cho việc xây dựng các ứng dụng dựa trên công nghệ di động. Có thể
Marketing Mobile 10
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
dùng SMS để cung cấp dịch vụ: download nhạc chuông, điều khiển thiết
bị…
2.2.4 Các loại ứng dụng phổ biến của SMS
Có nhiều loại ứng dụng SMS được xây dựng và sử dụng rộng rãi hiện nay,
có thể liệt kê ra các dạng ứng dụng SMS phổ biến sau
2.2.4.1 Ứng dụng gửi tin nhắn giữa hai cá thể (Person to Person Text Messaging)
Dạng ứng dụng này được sử dụng phổ biến nhất và sử dụng theo đúng mục
đích hình thành ban đầu của SMS. Một người soạn thảo SMS trên điện thoại di
động, sau đó khai báo số điện thoại của người nhận và SMS được gửi đi. Khi người
nhận nhận được tin nhắn, có thể hồi âm ngay lập tức hoặc hồi âm sau đó một
khoảng thời gian, hoặc có thể không hồi âm.
Ứng dụng chat qua tin nhắn cũng là một dạng mở rộng của loại ứng dụng
này.
2.2.4.2 Ứng dụng cung cấp thông tin (Provision of Information)
Đây cũng là một loại ứng dụng phổ biến. Loại ứng dụng này dùng SMS để
cung cấp thông tin cho những người sử dụng có yêu cầu. Thông tin có thể là các tin
tức xã hội, các tin tài chính, dự báo thời tiết… Có một số thông tin người sử dụng sẽ
phải mất một khoản phí cho các nhà cung cấp thông tin qua SMS.
2.2.4.3 Ứng dụng download (Downloading)
SMS có thể chứa dữ liệu nhị phân. Do đó, các đối tượng như nhạc chuông,
hình nền, các biểu tượng… có thể được mã hóa vào trong một hay nhiều SMS tùy
thuộc vào kích thước của đối tượng đó. Người sử dụng dịch vụ có thể yêu cầu và
nhận được các đối tượng mà họ cần thông qua SMS; sau khi nhận, người sử dụng
phải trả cho nhà cung cấp dịch vụ một khoản phí.
2.2.4.4 Ứng dụng cảnh báo (Alerts and Notifications)
Marketing Mobile 11
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Loại ứng dụng này dùng SMS để cảnh báo về một sự kiện quan trọng. Sự
kiện này đúng với sự quan tâm của người sử dụng. Ví dụ như các ứng dụng cảnh
báo khi có fax, email, khi có thay đổi về chứng khoán…
2.2.4.5 Ứng dụng tương tác hai chiều qua tin nhắn (Two-way Interactive Text
Messaging)
Loại ứng dụng này sử dụng để kết nối các thiết bị di động với server theo
kiểu tương tác hai chiều (có thể tương tác theo ngữ cảnh)
2.2.4.6 Ứng dụng tiếp thị qua SMS (SMS Marketing)
SMS có thể được sử dụng như một công cụ tiếp thị hữu hiệu. Chẳng hạn như
một hệ thống gửi tin SMS của một doanh nghiệp. Sau khi đăng nhập, người sử dụng
sẽ nhận được những tin SMS về thông tin khuyến mãi, thông tin sản phẩm của
doanh nghiệp đó. Nếu người dùng có những thắc mắc về thông tin liên quan đến
doanh nghiệp, họ có thể nhắn tin đến hệ thống và sẽ nhận được hồi đáp từ chính hệ
thống đó.
2.2.5 Trung tâm tin nhắn (SMS Center - SMSC) là gì?
Trung tâm tin nhắn (SMSC) là nơi chịu trách nhiệm thực hiện các thao tác
SMS trong một mạng di động. Khi một tin nhắn SMS được gửi từ một điện thoại di
động, SMSC sẽ đón nó đầu tiên. Sau đó, SMSC sẽ chuyển tin nhắn SMS đó đến số
điện thoại nhận. Một tin nhắn SMS có thể phải đi qua một hoặc nhiều trung tâm tin
nhắn trước khi đến điện thoại đích.
Nhiệm vụ chính của một SMSC là dẫn đường cho tin nhắn SMS và điều
chỉnh các quá trình phát sinh trong việc gửi – nhận một SMS. Nếu điện thoại nhận
tin không sẵn sàng trong việc nhận tin (tắt nguồn, tạm thời mất sóng…), SMSC sẽ
lưu trữ tin nhắn đó và chuyển tới số điện thoại cần nhận tin khi điện thoại được sử
dụng trong mạng (trạng thái online).
Một SMSC được dùng cho việc điều phối các SMS trong một mạng di động.
Một tổng đài mạng có nhiệm vụ quản lý một hoặc nhiều SMSC của mạng đó và
Marketing Mobile 12
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
đảm bảo kết nối các SMSC đó trong cùng một hệ thống mạng với nhau. Tuy nhiên,
một tổng đài mạng có thể sử dụng một SMSC thứ ba để kết nối với các SMSC của
các hệ thống mạng di động khác.
Chúng ta cần phải biết địa chỉ của SMSC của tổng đài mạng để gửi tin nhắn
với chiếc điện thoại di động. Địa chỉ của một SMSC là một số điện thoại định dạng
theo chuẩn quốc tế. Bất cứ điện thoại di động nào cũng có một tùy chọn để cấu hình
địa chỉ của SMSC. Thông thường, địa chỉ của SMSC được tổng đài cài đặt trước
trong thẻ SIM, người sử dụng sẽ không cần phải thay đổi nó.
2.2.6 SMS Gateway là gì?
Một vấn đề đặt ra là các SMSC được phát triển bởi các công ty khác nhau,
dựa trên các giao thức khác nhau và hầu hết các giao thức đó đều được đăng kí bản
quyền, không được công bố. Ví dụ như hãng Nokia có giao thức SMSC là CIMD
(Computer Interface to Message Distribution protocol), hãng CMG lại có giao thức
gọi là EMI. Chúng ta không thể kết nối 2 trung tâm tin nhắn SMSC nếu chúng
không hỗ trợ một giao thức SMSC chung.
Để giải quyết vấn đề trên thì một SMS Gateway được đặt giữa 2 SMSC.
SMS Gateway đóng vai trò chuyển tiếp giữa 2 SMSC. Nó sẽ chuyển từ giao thức
của SMSC này sang giao thức của SMSC kia. Phương thức này đang được sử dụng
rất phổ biến để kết nối hai mạng di động khác nhau cho mục đích trao đổi tin nhắn
giữa những người sử dụng ở hai mạng khác nhau.
Bên cạnh các nhà cung cấp dịch vụ, các nhà phát triển ứng dụng SMS cũng
cần phải tìm một SMS Gateway hiệu quả. Muốn gửi và nhận SMS trên ứng dụng,
chỉ có cách duy nhất phải kết nối với SMSC của mạng di động. Tuy nhiên, để ứng
Marketing Mobile 13
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
dụng hoạt động hiệu quả thì cần phải hỗ trợ nhiều giao thức SMSC khác nhau. Kết
quả là ứng dụng SMS sẽ phức tạp và nặng nề, thời gian xây dựng ứng dụng cũng sẽ
tăng lên rất nhiều.
Thay vì phải xây dựng ứng dụng như đã trình bày ở trên, việc sử dụng một
SMS Gateway để điều khiển các kết nối tới các SMSC sẽ làm cho ứng dụng trở nên
đơn giản hơn nhiều. Lúc này, vấn đề đặt ra chỉ còn là việc kết nối ứng dụng SMS
với SMS Gateway. Để ứng dụng hỗ trợ nhiều SMSC, chỉ cần thay đổi cấu hình
SMS Gateway mà không cần phải thay đổi mã nguồn của chương trình. Việc sử
dụng SMS Gateway sẽ làm cho thời gian phát triển ứng dụng sẽ rút ngắn.
Để kết nối tới một SMS Gateway, chúng ta có thể sử dụng một giao thức
SMSC như SMPP hay CIMD. Một vài SMS Gateway có hỗ trợ giao thức ghép nối
HTTP/ HTTPS. Tuy nhiên, khi sử dụng HTTP/HTTPS thì các tính năng của SMS
có thể bị hạn chế, các tính năng gửi tin nhắn hình ảnh có thể không thực hiện được.
Marketing Mobile 14
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Ngoài cách kết nối trực tiếp đến SMSC của mạng di động, có thể gửi và nhận
tin nhắn SMS trên máy tính bằng cách sử dụng một điện thoại di động hoặc một
modem GSM/GPRS. Để làm được điều này, ứng dụng SMS phải kết nối được với
điện thoại di động hay modem GSM/GPRS có hỗ trợ AT Commands (sẽ được đề
cập ở phần sau)
Một vài SMS Gateway có khả năng điều khiển kết nối với điện thoại di động
và modem GSM/GPRS. Để gửi và nhận tin nhắn với một điện thoại di động hoặc
Marketing Mobile 15
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
modem GSM/GPRS, ứng dụng SMS chỉ cần giải quyết vấn đề giao tiếp với SMS
Gateway mà không cần phải biết bất cứ gì về AT Commands
2.2.7 Một số khái niệm cơ bản được dùng trong SMS
2.2.7.1 Thời hạn hiệu lực của một tin nhắn SMS
Một tin nhắn được lưu tạm thời trên trung tâm tin nhắn SMSC nếu điện thoại
người nhận đang không hoạt động. Một thời hạn được đặt ra, qua thời hạn đó tin
nhắn lưu trên SMSC sẽ bị xóa nếu như nó chưa được gửi đến điện thoại của người
nhận ngay khi điện thoại hoạt động lại trong mạng. Thời hạn này chính là thời hạn
hiệu lực (validity period) của tin nhắn SMS.
Trong mỗi điện thoại di động đều có chức năng thiết lập thời hạn hiệu lực
của tin nhắn SMS.
2.2.7.2 Các báo cáo trạng thái (Message Status Report) của tin nhắn SMS
Khi gửi tin nhắn SMS, người sử dụng thường có nhu cầu biết xem tin nhắn
họ gửi đã đến máy điện thoại người nhận hay chưa. Để lấy được thông tin này,
người dùng cần thiết lập một yêu cầu đến trung tâm tin nhắn SMSC để nhận được
các báo cáo về trạng thái của tin nhắn đã gửi.
Tính năng này mặc định tắt trên hầu hết các điện thoại di động và modem
GPS/GPRS. Để sử dụng, người dùng cần thiết lập lại trên thiết bị của họ.
2.2.7.3 Báo cáo xác nhận tin nhắn
Sau khi nhận một tin nhắn, điện thoại di động của người nhận tin sẽ gửi trở
lại một báo cáo xác nhận tin nhắn đến SMSC để báo cho trung tâm biết có xảy ra lỗi
hay không (ví dụ: định dạng tin nhắn không được hỗ trợ, không đủ bộ nhớ lưu
trữ…). Quá trình này là trong suốt với người sử dụng.
Nếu không có lỗi xảy ra, điện thoại di động của người nhận sẽ gửi lại báo
cáo khẳng định đã nhận thành công tin nhắn (positive delivery report). Ngược lại,
có lỗi xảy ra, báo cáo thất bại sẽ được gửi trở lại trung tâm tin nhắn.
Marketing Mobile 16
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
2.3 Tổng quan về AT Command
2.3.1 AT Command là gì?
AT Command (ATtention Command) là những cấu trúc lệnh được sử dụng
để điều khiển một modem. Mọi dòng lệnh đều được bắt đầu với “AT” hoặc “at”.
Tập lệnh này có những dòng lệnh hỗ trợ cho các modem có dây (wired dial-
up modem) và modem GSM/GPRS như: ATD (Dial), ATA (Answer), ATH (Hook
control)…, đồng thời cũng có những lệnh chỉ hỗ trợ riêng cho các modem
GSM/GPRS như: AT+CMGS (gửi tin nhắn SMS), AT+CMSS (gửi tin nhắn SMS từ
bộ nhớ), AT+CMGR (đọc tin nhắn SMS)…
Bắt đầu mỗi dòng lệnh là tiền tố “AT” để cho biết modem bắt đầu hoạt động
ở chế độ dòng lệnh. Nó không phải là một phần của tên lệnh trong tập lệnh AT. Ví
dụ như D là tên lệnh AT, không phải ATD là tên; tương tự +CMGS là tên lệnh,
không phải là AT+CMGS.
Các thao tác có thể thực hiện được trên modem GSM/GPRS hoặc điện thoại
di động thông qua tập lệnh AT:
Lấy các thông tin cơ bản về điện thoại di động hay modem GSM/GPRS như:
tên nhà sản xuất, số hiệu model, số IMEI (International Mobile Equipment
Identity)…
Lấy trạng thái hiện thời của điện thoại di động hoặc modem GSM/GPRS như:
trạng thái hoạt động của điện thoại, thông tin mạng đang sử dụng, tình hình
tín hiệu (sóng), tình hình pin…
Thiết lập một kết nối dữ liệu hoặc kết nối giọng nói đến một modem từ xa
Gửi và nhận fax
Gửi, nhận, ghi hoặc xóa tin nhắn và lấy các trạng thái hiện thời của các tin
nhắn mới (đã đọc, chưa đọc…)
Duyệt, thêm mới hoặc tìm kiếm trong danh bạ
Marketing Mobile 17
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Thực thi các tính năng bảo mật như khóa SIM (yêu cầu có password của SIM
khi mỗi lần mở máy), khóa PH-SIM (thẻ SIM được kết nối với điện thoại di
động, để sử dụng thẻ SIM khác trên điện thoại di động cần phải có password).
Lưu trữ và phục hồi các cấu hình của điện thoại di động và modem
GSM/GPRS.
Cần lưu ý rằng không phải hãng sản xuất điện thoại di động nào cũng hỗ trợ
hoàn toàn các lệnh AT cũng như các tham số của các lệnh AT. Chính vì vậy, kết
quả thực hiện các lệnh AT có thể khác với các kết quả đã được định nghĩa trong
chuẩn AT. Nói chung, các modem GSM/GPRS được thiết kế cho các ứng dụng
không dây hỗ trợ các lệnh AT tốt hơn các điện thoại di động.
2.3.2 Phân loại lệnh AT phổ biến
Có 2 dạng lệnh AT:
Các lệnh AT cơ bản: không bắt đầu với kí tự “+”. Ví dụ: D (Dial), A
(Answer)…
Các lệnh AT mở rộng: bắt đầu với kí tự “+”. Ví dụ: +CMGS,
+CMSS…
2.3.3 Cú pháp các lệnh AT
Ở đây, ta chỉ xét cú pháp các lệnh AT mở rộng. Cú pháp các lệnh AT này
không phức tạp.
Cú pháp 1: Tất cả các lệnh bắt đầu bằng “AT” và kết thúc bằng một kí tự
điều khiển (trong chương trình Hyper Terminal của Microsoft Windows, kí tự điều
khiển này là phím Enter)
Ví dụ: để liệt kê tất cả các tin nhắn lưu trong bộ nhớ tin nhắn, sử dụng dòng
lệnh
AT+CMGL <Enter>
Marketing Mobile 18
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Cú pháp 2: Một dòng lệnh có thể chứa nhiều hơn một lệnh AT. Chỉ có lệnh
đầu tiên mới có tiền tố “AT”. Các câu lệnh AT trên cùng một dòng lệnh cách nhau
bằng dấu chấm phảy (“;”).
Ví dụ: để liệt kê tất cả các tin nhắn trong bộ nhớ tin nhắn và hiển thị tên của
nhà sản xuất thiết bị di động, sử dụng dòng lệnh:
AT+CMGL;+CGMI <Enter>
Cú pháp 3: Một chuỗi kí tự phải được đặt trong dấu ngoặc kép
Ví dụ: AT+CMGL= “ALL” <Enter>
Cú pháp 4: Thông tin trả về (Information Response) và các đoạn mã kết quả
(result codes) luôn bắt đầu và kết thúc bằng một kí tự điều khiển và một kí tự xuống
hàng.
Ví dụ: AT+CGMI <Enter> dòng lệnh thực thi
<Enter> <Newline> Nokia <Enter> <Newline> thông tin trả về
<Enter> <Newline> OK <Enter> <Newline> mã kết quả (thành công)
2.3.4 Các lệnh AT thường dùng trong ứng dụng SMS
Lệnh AT
Command in Text
Tác dụng
AT
ATtention
Kiểm tra kết nối giữa máy tính và
điện thoại di động hoặc modem
GSM/GPRS
+CGMI
Manufacture Identification
Kiểm tra tên hãng sản xuất thiết bị
di động đang kết nối
+CSCA
Service Centre Address
Thiết lập số trung tâm tin nhắn
cho việc gửi tin SMS
+CPMS
Preferred Message Storage
Lựa chọn bộ nhớ lưu trữ tin nhắn
+CMGW
Write Message to Memory
Ghi tin nhắn vào bộ nhớ
+CMGD
Delete Message
Xóa tin nhắn trong bộ nhớ
+CMGS
Send Message
Gửi tin nhắn
+CMGR
Read Message
Đọc tin nhắn
+CMGL
List Message
Liệt kê tất cả tin nhắn
Marketing Mobile 19
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
2.4 Những điều cần biết về Modem GSM/GPRS
2.4.1 Modem GSM
Modem GSM là một modem không dây, làm việc với mạng không dây theo
chuẩn GSM.
Modem GSM được xem giống như một modem quay số (dial-up modem).
Sự khác nhau chủ yếu giữa chúng là modem quay số gửi và nhận dữ liệu thông qua
một đường dây điện thoại cố định, trong khi modem không dây gửi và nhận dữ liệu
thông qua sóng radio.
Modem GSM có thể là một thiết bị ngoại vi hay là một PC Card/ PCMCIA
Card. Thông thường một modem GSM là thiết bị ngoại vi sẽ được kết nối với máy
tính thông qua cổng nối tiếp hoặc cáp usb. Modem GSM là PC Card/ PCMCIA
Card được thiết kế riêng cho laptop, kết nối qua rãnh PC/PCMCIA Card.
Cũng như điện thoại di động GSM, modem GSM cần phải có một thẻ SIM
để hoạt động bình thường trong mạng không dây tương ứng.
Như đã đề cập ở trên, máy tính sử dụng lệnh AT để điều khiển các modem.
Cả hai loại modem GSM và modem quay số đều hỗ trợ các lệnh AT.
Tuy nhiên, tốc độ gửi tin nhắn SMS của modem GSM rất thấp, chỉ khoảng từ
6 đến 10 tin nhắn/phút.
2.4.2 Modem GPRS
Modem GPRS (General Packet Radio Service) là một modem GSM có hỗ
trợ thêm tính năng vận chuyển dữ liệu bằng công nghệ GPRS.
Tính năng vượt trội của modem GPRS so với modem GSM là ở tốc độ
chuyển dữ liệu rất nhanh. GPRS có thể được sử dụng để “vận chuyển” tin nhắn
SMS. Nếu SMS được gửi qua GPRS, tốc độ gửi sẽ tăng đáng kể, khoảng 30 tin
nhắn/phút.
Marketing Mobile 20
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Tuy nhiên, để nhận và gửi tin nhắn thông qua GPRS, chúng ta cần phải có
một modem GPRS và mạng di động phải hỗ trợ việc gửi tin thông qua GPRS.
2.4.3 So sánh tính năng của điện thoại di động và modem GSM/GPRS
Thực tế, modem GSM/GPRS được khuyến khích sử dụng để kết nối với máy
tính trong quá trình xây dựng ứng dụng gửi và nhận tin nhắn SMS, bởi vì điện thoại
di động có một số hạn chế:
Một vài kiểu điện thoại di động (Sony Ericsson R380, Nokia 8210…)
không thể sử dụng với máy tính để nhận những tin nhắn có nội dung dài.
Thông thường khi điện thoại di động nhận các phần tin nhắn đã cắt nhỏ
từ tin nhắn có nội dung dài (Long SMS), nó sẽ kết hợp các phần đó để tạo
thành tin nhắn ban đầu một cách tự động. Tuy nhiên, đối với các loại điện
thoại trên, khi nhận các phần của tin nhắn dài, nó sẽ chuyển thẳng đến
máy tính mà không kết hợp các phần nhận được.
Một số kiểu điện thoại di động không hỗ trợ lệnh AT.
Ngoài những điểm hạn chế trên, nhìn chung điện thoại di động và modem
GSM/GPRS không có những khác biệt rõ ràng.
2.5 Những vấn đề khi phát triển ứng dụng cho SMS
Các khác biệt về cấu tạo: với mỗi hãng sản xuất điện thoại di động, đều có
những đặc điểm thiết kế của riêng mình: cấu tạo phần cứng thiết bị, giao thức kết
nối, tập lệnh hỗ trợ Điều này làm ảnh hưởng đến khả năng định dạng dữ liệu và
khả năng truyền dẫn nội dung cần trao đổi. Cùng một thành phần nhưng với những
thiết bị khác nhau của các hãng khác nhau, có thể phản ứng của thiết bị với thành
phần đó sẽ khác nhau.
Vấn đề hỗ trợ nhiều giao thức của nhiều mạng di động khác nhau: đây là một
bài toán không đơn giản cho những người phát triển ứng dụng trong giai đoạn các
thiết bị phát triển đa dạng, số lượng các giao thức cũng tăng đáng kể. Ngay cả khi
sử dụng SMS Gateway để làm cầu nối giữa ứng dụng và các trung tâm tin nhắn
Marketing Mobile 21
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
SMSC theo từng mạng di động tương ứng cũng gặp nhiều khó khăn. Bản thân các
SMS Gateway khác nhau cũng có các phương thức hoạt động khác nhau, có những
Gateway hoạt động tốt ở chuẩn giao thức này, lại hoạt động không ổn định ở chuẩn
giao thức khác. (Theo khảo sát, CIMD của hãng Nokia là chuẩn giao thức được hỗ
trợ nhiều nhất trong các Gateway hiện nay). Như vậy, để chọn được một Gateway
để sử dụng thích hợp trong ứng dụng được xây dựng là một điều không đơn giản.
Vấn đề về kết nối: dù đã có nhiều tiến bộ về mặt công nghệ nhưng tốc độ kết
nối của thiết bị di động vẫn còn thấp so với mặt bằng chung. Thời gian đáp ứng của
các thiết bị di động là khá lâu. Bên cạnh đó, việc tồn tại nhiều chuẩn kết nối (kết nối
qua cáp dữ liệu, qua Bluetooth, qua hồng ngoại) cũng gây ra những khó khăn, trở
ngại đáng kể.
Marketing Mobile 22
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Chương 3. Các giải pháp cho vấn đề phát triển ứng dụng
Marketing Mobile
3.1 Yêu cầu chung:
Ứng dụng Marketing Mobile trong quá trình xây dựng gặp phải các vấn đề
đã đề cập ở trên. Khi phát triển ứng dụng, các giải pháp đưa ra phải đảm bảo các
điều kiện sau:
Hỗ trợ kết nối và làm việc ổn định với nhiều chủng loại điện thoại đến mức
tối đa có thể.
Đảm bảo chương trình vẫn hoạt động trong quá trình gửi tin với số lượng lớn,
giảm thời gian chờ của người sử dụng đến mức tối thiểu.
Đảm bảo cơ sở dữ liệu được đồng bộ một cách chính xác giữa ứng dụng trên
PC và ứng dụng trên web.
Lưu ý tính bền vững, tính chính xác của cơ sở dữ liệu khi có nhiều người
truy cập và thực hiện các thao tác trên CSDL.
3.2 Lựa chọn và sử dụng SMS Gateway hợp lý:
Như đã đề cập ở trên, việc xây dựng một ứng dụng SMS hỗ trợ nhiều giao
thức SMSC của nhiều hãng sản xuất thiết bị khác nhau là điều khó khăn và tốn
nhiều thời gian. Do đó, việc lựa chọn và sử dụng một SMS Gateway hợp lý, hỗ trợ
nhiều giao thức đóng vai trò quan trọng trong quá trình xây dựng một ứng dụng
SMS.
Qua quá trình tìm hiểu ở nhiều tài liệu và kinh nghiệm cả những người phát
triển ứng dụng SMS nhiều kinh nghiệm, chúng em quyết định sử dụng SMS
Gateway mCore .NET do hãng Logix Mobile phát triển và cung cấp.
mCore .NET có những hỗ trợ khác hiệu quả cho những người phát triển ứng
dụng SMS:
Marketing Mobile 23
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Hỗ trợ việc kết nối và gửi tin nhắn theo nhiều chuẩn SMSC khác nhau. Các
loại điện thoại di động và modem GSM/GPRS mà mCore .NET hỗ trợ:
o Falcom Twist
o Siemens MC35i, TC35i
o Nokia N30, 6610, 6600 (hồng ngoại), 7610, 7250, 7210, 8310, 8210, N32,
8910, N72.
o Wavecom Fastrack M1206B, M1306B.
Hỗ trợ kết nối qua cổng nối tiếp (thường là cổng COM) và cổng nối tiếp giả
lập (cổng USB giả lập thành cổng nối tiếp).
Cho phép tương tác và tích hợp SMS Gateway vào ứng dụng SMS thông qua
các ngôn ngữ lập trình cấp cao: C#, VB.NET
Có cơ chế bắt lỗi riêng, thuận tiện cho người phát triển ứng dụng theo dõi,
kiểm tra từng bước hoạt động của ứng dụng.
Chính từ những thuận lợi trên, chúng em quyết định chọn SMS Gateway
mCore .NET cho ứng dụng mà chúng em đang thực hiện.
3.3 Thực hiện phân luồng xử lý để đảm bảo độ ổn định của chương trình
khi gửi tin nhắn với số lượng lớn.
Hầu hết các thiết bị di động có điểm yếu về tốc độ gửi tin, bộ nhớ thấp do
kích thước hạn chế của chúng, trong khi đó có thể yêu cầu về số lượng tin nhắn cần
gửi là lớn. Mặt khác, trong thực tế sử dụng, có nhiều loại tin nhắn với nhiều mức ưu
tiên khác nhau, cần xử lý chính xác tương ứng với mức độ ưu tiên đó. Vì thế cần có
một cơ chế phân luồng xử lý nhằm tránh sự cố trong quá trình hoạt động của
chương trình:
Thực hiện xử lý song song: quá trình gửi các tin nhắn với số lượng lớn,
chương trình vẫn có thể thực hiện các tác vụ khác: quản lý người dùng
Marketing Mobile 24
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
Thực hiện cơ chế pooling: các tin nhắn được gửi từ chương trình ra máy di
động theo cơ chế này, tránh hiện tượng nghẽn do gửi nhiều tin cùng lúc.
Gửi tin theo mức ưu tiên: các tin nhắn có mức ưu tiên lớn hơn sẽ được gửi
trước. Cụ thể: thứ tự ưu tiên tin nhắn sẽ là tin nhắn quảng bá, tin nhắn theo
bộ lọc và tin nhắn báo cuộc hẹn.
o Tin nhắn quảng bá là tin nhắn được gửi tới tất cả các người sử dụng có
trong danh sách.
o Tin nhắn theo bộ lọc là tin nhắn mang nội dung thỏa mãn các yêu cầu
riêng của một số người sử dụng.
o Tin nhắn báo cuộc hẹn là tin nhắn mang nội dung hẹn, ngày giờ, địa điểm
của cuộc hẹn.
3.4 Đồng bộ dữ liệu giữa ứng dụng và website
3.4.1 Dữ liệu trong MS Access
Dữ liệu được tổ chức trong hệ quản trị MS Access theo mô hình sau
Hình 3.1 Mô hình tổ chức dữ liệu trên MS Access
Trong đó:
User: Thông tin người dùng
o Phone1 và Phone 2 là các số điện thoại dùng để đăng nhập và truy cập
các chức năng chính của chương trình, cho phép người dùng và người
quản trị thay đổi.
Group: thông tin về nhóm người dùng, chứa các quyền:
o View: quyền được xem thông tin của các tài khoản của nhóm chỉ định và
nhóm cấp dưới.
o ReadSent: quyền được đọc và gửi tin nhắn cho các tài khoản của nhóm
chỉ định và các nhóm cấp dưới.
Marketing Mobile 25
GVHD: Nguyễn Đức Thuần SVTH: Trần Tùng Dương – Võ Tường Luân
o EditUser: quyền được thay đổi thông tin tài khoản của nhóm chỉ định và
các nhóm cấp dưới.
User-group: một user có thể thuộc nhiều group.
Message: lưu trữ tin nhắn và các thuộc tính liên quan
o MessageContent: nội dung tin nhắn.
o SentSMS, SentWeb, SentMail: hình thức gửi.
o DateTimeSent: thời điểm gửi.
o DateTimeReceive: thời điểm nhận.
o Active: Chế độ gửi (chủ động hoặc đợi kích hoạt).
Date-message: thông tin về tin nhắn cuộc hẹn.
o DayTime: thời gian cuộc hẹn.
o Location, Description, Content: địa điểm, chú thích, nội dung.
Cmd-message: thông tin về tin nhắn lệnh
o userID: nguồn gửi tin nhắn lệnh.
o cmdContent: nội dung tin nhắn lệnh.
Filter: thông tin về bộ lọc.
o Table: cơ sở dữ liệu dùng để lọc.
o FilterString: điều kiện lọc.
3.4.2 Đồng bộ dữ liệu trên server
Để đảm bảo tính tiện dụng, linh động của chương trình, việc xây dựng một
server và đồng bộ dữ liệu trên server đó với dữ liệu của chương trình là điều cần
thiết. Với tính năng này, người sử dụng không chỉ truy xuất dữ liệu từ chương trình
mà còn có thể truy xuất từ server thông qua một giao diện web PHP.