Một hệ thống phần mềm điều khiển việc thu, lưu trữ và xử lý hình ảnh để phù hợp với một loại thông điệp mà người dùng muốn nhận – loại thông điệp có thể dễ dàng nhận, gửi và hiển thị trê
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
Hà nội – năm 2013
Trang 3MỤC LỤC
Lời cam đoan 1
Lời cảm ơn Error! Bookmark not defined MỤC LỤC 3
Danh mục các ký hiệu và chữ viết tắt 5
Danh mục các bảng 6
Danh mục các hình vẽ 7
MỞ ĐẦU 8
Chương 1: TỔNG QUAN VỀ HỆ THỐNG 9
1.1 Các hệ thống quan sát ngày nay 9
1.2 Đề xuất hệ thống mới 9
1.2.1 Ý tưởng 9
1.2.2 Mô hình hệ thống 11
1.3 Các đặc điểm của hệ thống đề xuất 14
1.3.1 Khả năng ứng dụng 14
1.3.2 Phụ thuộc vào hoạt động của mạng viễn thông 14
1.4 Các tính năng của hệ thống 14
1.4.1 Tính năng gửi ảnh khi được kích hoạt 14
1.4.2 Tính năng gửi ảnh theo định kỳ 14
1.4.3 Tính năng gửi ảnh dưới dạng tin nhắn MMS 17
1.4.4 Tính năng gửi ảnh qua Server có sẵn 17
1.4.5 Tính năng gửi ảnh qua tin nhắn SMS 17
Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 19
2.1 Khảo sát hệ thống 19
2.1.1 Mục tiêu của hệ thống 19
2.1.2 Lựa chọn công cụ và phương án giải quyết vấn đề 20
2.2 biểu đồ usecase 21
2.3 Phân tích các chức năng mà hệ thống cần xây dựng 22
2.3.1 Chức năng cấu hình các thông tin của hệ thống 22
2.3.2 Điều khiển chính cho hệ thống 24
2.3.3 Chức năng phân tích yêu cầu 25
2.3.4 Chức năng xử lý ảnh 27
Trang 42.3.5 Chức năng xử lý thông điệp 27
2.3.6 Chức năng điều khiển Modem 29
2.3.7 Khối xử lý trên điện thoại di động 30
2.4 Thiết kế hệ thống 31
2.4.1 Kiến trúc hệ thống 31
2.4.2 Thiết kế file config 32
2.4.3 Thiết kế các module chính chương trình trên máy tính 33
2.4.4 Module nhận SMS trên điện thoại di động 34
2.5 Kết quả thực nghiệm 34
2.5.1 Giao diện cấu hình GSM modem 34
2.5.2 Giao diện chính của hệ thống 35
2.5.3 Giao diện cấu hình MMS 35
2.5.4 Giao diện chương trình trên điện thoại di động 36
2.6.Triển khai và đánh giá kết quả thực nghiệm 37
Chương 3: CÔNG NGHỆ PHÁT TRIỂN ỨNG DỤNG 38
3.1 Các công nghệ truyền thông 38
3.1.1 Mạng GSM 38
3.1.2 Công nghệ GPRS 40
3.2 Tập lệnh AT và thiết bị hỗ trợ tập lệnh AT 43
3.2.1 Tập lệnh AT 43
3.2.2 Điện thoại đi động và modem GSM hoặc GPRS 44
3.3 Tin nhắn SMS và MMS 45
3.3.1 Tin nhắn SMS 45
3.3.2 Tin nhắn MMS 51
3.3.3 Lập trình gửi/nhận SMS với tập lênh AT 57
3.3.4 Lập trình kết nối mạng Internet với tập lênh AT 58
3.3.5 Lập trình gửi MMS với tập lênh AT 61
3.4 Lập trình điều khiển thiết bị Webcam 62
3.5 Lập trình gửi nhận tin nhắn trên điện thoại di động với J2me 63
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
Trang 5Danh mục các ký hiệu và chữ viết tắt
APN Access Point Name Tên điểm truy cập
AUC Authentication Center Trung tâm xác thực
BSC Base Station Controller Trạm điều khiển cơ sở
BSS Base Station System Hệ thống trạm gốc
CDMA Code Division Multiple Access Đa truy cập phân chia theo mã CSD Circuit Switched Data Chuyển mạch dữ liệu kênh
DNS Domain Name Server Máy chủ tên miền
EMS Enhanced Messaging Service Dịch vụ tin nhắn tăng cường GGSN Gateway GPRS Support Node Nút hỗ trợ GPRS Gateway
GSM Global System for Mobile
LLC Logical Link Control Điều khiển liên kết logic
MMBox Multimedia Message Box Hộp tin nhắn đa phương tiện MMSE MMS Environment Môi trường tin nhắn đa phương
tiện NMC Network Management Center Trung tâm quản lý mạng
OMC Operational and Maintenance Center Trung tâm vận hành bảo dưỡng PLMN Public Land Mobile Network Mạng di động nội vùng
PSTN Public Switched Telephone Networks Mạng điện thoại chuyển mạch
công cộng
RA Routing Area Vùng định tuyến
SGSN Serving GPRS Support Node Nút hỗ trợ dịch vụ GPRS
SIM Subscriber Identity Module Khối xác định thuê bao
SMIL Synchronised Multimedia Integration
Language
Ngôn ngữ tích hợp đa phương tiện đồng bộ
SMSC SMS Centre Trung tâm tin nhắn ngắn
TDMA Time Division Multiple Access Đa truy cập phân chia theo thời
gian TID Tunnel Identifier Nhận dạng đường hầm
TLLI Temporary Logical Link Identifier Nhận dạng liên kết logic tạm thời TMSI Package Temporary Mobile Subscriber
Identity
Nhận dạng thuê bao di động tạm thời gói
TPDU Transfer Protocol Data Unit Khối dữ liệu giao thức truyền
thông VAS Value Added Service Dịch vụ giá trị gia tăng
VLR Visitor Location Register Kiểm tra vị trí đăng ký
Trang 6Danh mục các bảng
Bảng 3.1 Bit mô tả loại TPDU 48
Bảng 3.2 Thiết lập tham số TP-VPF 49
Bảng 3.3 Ví dụ thiết lập giá trị cho octet đầu tiên trong TPDU 50
Bảng 3.4 Thiết lập chế độ mã hóa dữ liệu trong TPDU 50
Bảng 3.5 Các tham số trong PDU yêu cầu gửi tin 56
Bảng 3.7 Các giao diện trong gói javax.wireless.messaging 64
Trang 7Danh mục các hình vẽ
Hình 1.1 Mô hình hệ thống 11
Hình 1.2 Biểu đồ trình tự quá trình gửi ảnh khi được kích hoạt bằng SMS 15
Hình 2.1 Biểu đồ Usecase của hệ thống 22
Hình 2.2 Sơ đồ hoạt động cho chức năng cấu hình hệ thống 23
Hình 2.3 Sơ đồ hoạt động chức năng điều khiển thực hiện lệnh 25
Hình 2.4 Biểu đồ hoạt động chức năng phân tích yêu cầu SMS 26
Hình 2.5 Biểu đồ hoạt động chức năng xử lý ảnh 27
Hình 2.6 Biểu đồ hoạt động chức năng xử lý thông điệp 28
Hình 2.7 Biểu đồ hoạt động chức năng lắng nghe cổng kết nối 29
Hình 2.8 Biểu đồ hoạt động chức năng xử lý trên điện thoại 30
Hình 2.9 Kiến trúc khối điều khiển quan sát 31
Hình 2.10 Kiến trúc khối chương trình trên điện thoại di động 32
Hình 2.11 Giao diện cấu hình modem 34
Hình 2.12 Giao diện chính của hệ thống 35
Hình 2.13 Giao diện cấu hình MMS 36
Hình 3.1 Kiến trúc mạng GPRS 41
Hình 3.2 Truyền tin nhắn SMS 46
Hình 3.3 Cấu trúc tin nhắn SMS PDU gửi đi 47
Hình 3.4 Cấu trúc TPDU 49
Hình 3.5 Kiến trúc OpenCV 63
Trang 8MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của công nghệ, các hệ thống quan sát, giám sát từ xa đã không còn xa lạ với người sử dụng, từ chỗ là các thiết bị đắt tiền được giới thiệu qua các phương tiện truyền thông và chủ yếu được sử dụng cho các ngành an ninh, quân sự, thì giờ đây mọi người đều có thể sở hữu một hệ thống quan sát từ xa nhằm phục vụ cho mục đích cập nhập thông tin sinh động bằng hình ảnh, video hay phục vụ cho mục đích an ninh của mình Trên thế giới và ở Việt Nam đã
và đang phát triển nhiều hệ thống quan sát như vậy, phần lớn các hệ thống quan sát đều cần có sự hỗ trợ của máy tính trong việc cấu hình quản lý, xem thông tin, và để truyền thông tin đi, các hệ thống thường sử dụng hạ tầng mạng của người dùng và các dịch vụ lưu trữ, chuyển tiếp của nhà cung cấp dịch vụ Trong khi đó thiết bị di động đang có sự phát triển vượt bậc, số người sử dụng điện thoại di động và coi đó như một thiết bị điện tử thiết yếu ngày càng gia tăng với tốc độ chóng mặt Chính vì vậy mà một hệ thống quan sát từ xa có tính cá nhân, độc lập cao, sử dụng mạng điện thoại di động để truyền thông tin và sử dụng điện thoại di động làm thiết bị nhận thông tin là một hệ thống có thể được phát triển và được người dùng chấp nhận
Mục tiêu nghiên cứu
Dựa trên những ý tưởng đó, tác giả xin đề xuất xây dựng một hệ thống quan sát
từ xa qua mạng điện thoại di động, trong đó sẽ tập trung vào nghiên cứu các phương pháp truyền thông tin media từ thuê bao di động đến thuê bao di động thông qua Module SIM điện thoại, nhằm tạo ra một hệ thống quan sát mà trong đó việc truyền thông chỉ diễn ra giữa hai thuê bao với môi trường trung gian là nhà cung cấp mạng di động và mạng Internet, tạo tiền đề để xây dựng một thiết bị quan sát có tính cá nhân và độc lập cao không phụ thuộc vào hạ tầng mạng và nhà cung cấp dịch vụ mà việc truyền thông chỉ phụ thuộc vào Module SIM điện thoại
Tổ chức luận văn
Luận văn được bố cục theo các chương chính sau:
Chương 1: Trình bày tổng quan về đề tài Mô hình tổng quan, các mục tiêu nghiên cứu, thiết kế
Chương 2: Trình bày về quá trình phân tích thiết kế hệ thống quan sát qua mạng điện thoại di động và các kết quả thực nghiệm
Chương 3: Trình bày về các công nghệ được sử dụng để phát triển ứng dụng, bao gồm các công nghệ viễn thông, tin nhắn SMS, MMS và cách lập trình điều khiển với các Module SIM điện thoại
Trang 9Chương 1: TỔNG QUAN VỀ HỆ THỐNG 1.1 Các hệ thống quan sát ngày nay
Các hệ thống quan sát từ xa là mối quan tâm của nhiều người trong cuộc sống hiện đại ngày nay, nhằm cung cấp thông tin tức thời và sinh động về những địa điểm, đối tượng mà người sử dụng quan tâm khi họ ở một vị trí khác Tuy nhiên, vì nhiều lý
do như giá thành, quá trình lắp đặt, cấu hình hệ thống phức tạp, phụ thuộc vào hạ tầng mạng hữu tuyến, vô tuyến, phụ thuộc vào nhà cung cấp dịch vụ, khiến cho nhiều người còn ngần ngại sử dụng
Với những hệ thống giám sát tinh vi dùng trong các lĩnh vực anh ninh, quân sự thì quá tầm tay của người dùng bình thường Còn các hệ thống quan sát dân dụng ngày nay cũng không phải không có những nhược điểm cần phải khắc phục Ví dụ như hệ thống sử dụng thiết bị IP - CAMERA, một trong những hệ thống giám sát đang rất phổ biến ở nước ta hiện nay Giá thành của thiết bị cũng không thực sự rẻ, trong khi đó người dùng cần có hệ thống mạng viễn thông và phải thiết lập cấu hình để có thể quan sát được không gian thông qua mạng cục bộ, Intenet với hệ thống Website được nhà phát triển ứng dụng hỗ trợ Hệ thống này bị này thực sự hữu dụng với những người dùng có yêu cầu giám sát cao và có điều kiện kinh tế Tuy nhiên đó không thực sự là một hệ thống thích hợp với những người sử dụng chỉ có yêu cầu thông tin đơn giản với giá thành rẻ, ngoài ra hệ thống đó cũng chưa khai thác được kênh thông tin trên mạng điện thoại di động, để hệ thống có thể gửi thông tin một cách chủ động tới người dùng, trên thiết bị điện tử quen thuộc và luôn ở bên cạnh họ đó là điện thoại di động bất cứ khi nào và bất cứ nơi đâu
Vì vậy, báo cáo này đề xuất phát triển một hệ thống mới, trong đó, hệ thống sẽ tập trung khai thác đối tượng người dùng chỉ có yêu cầu thông tin đơn thuần chứ không yêu cầu giám sát với mức độ cao, sử dụng những thiết bị quan sát có giá thành hợp với khả năng chi trả của người sử dụng và sử dụng mạng điện thoại để truyền thông nhằm tạo ra một hệ thống có tính độc lập cao, cài đặt đơn giản, hệ thống sẽ tập trung nghiên cứu cách truyền thông tin media từ thuê bao điện thoại đến thuê bao điện thoại, để không phụ thuộc vào các thư viện lập trình trên máy tính và hạ tầng mạng hữu tuyến, vô tuyến ngày nay Từ đó có thể làm nền tảng nghiên cứu và phát triển các thiết bị quan sát mà chỉ cần dùng một module SIM để làm công cụ truyền thông
1.2 Đề xuất hệ thống mới
1.2.1 Ý tưởng
Đề tài này đưa ra một hệ thống quan sát từ xa với môi trường mạng truyền thông là mạng điện thoại di động Với tiêu chí là “quan sát” thay vì “giám sát”, hệ thống được thiết kế với mục đích cung cấp thông tin media theo yêu cầu của người dùng, chất lượng của thông tin phụ thuộc vào thiết bị quan sát mà người sử dụng cung
Trang 10cấp Phương thức truyền thông tin đến thiết bị của người sử dụng được lựa chọn là từ thuê bao điện thoại tới thuê bao điện thoại để không phụ thuộc vào hạ tầng mạng Internet của người dùng, để khai thác thiết bị nhận tin là điện thoại di động, để có thể truyền thông tin ngay cả khi không có mạng dữ liệu – tin nhắn SMS có thể mang dữ liệu, và để có thể làm tiền đề xây dựng một thiết bị quan sát sử dụng Module điện thoại để truyền thông
Trong đó, tại địa điểm quan sát sẽ có một Webcam để thu hình ảnh Một hệ thống phần mềm điều khiển việc thu, lưu trữ và xử lý hình ảnh để phù hợp với một loại thông điệp mà người dùng muốn nhận – loại thông điệp có thể dễ dàng nhận, gửi
và hiển thị trên điện thoại di động (MMS, SMS), cuối cùng hệ thống phần mềm sẽ tiến hành gửi thông điệp này đến điện thoại di động của người dùng thông qua một Module phần cứng mà trên đó được gắn một thẻ SIM điện thoại
Để demo, về phía hệ thống quan sát, trong báo cáo này sử dụng một Webcam
để thu hình ảnh, phần mềm điều khiển là chương trình trên máy tính, và thiết bị - Module phần cứng để truyền thông được sử dụng là một Modem GSM/GPRS hoặc Modem 3G
Về phía người dùng, có thể yêu cầu hệ thống gửi thông tin theo hai cách sau:
Gửi yêu cầu bằng một tin nhắn SMS
Cấu hình hệ thống để sau một khoảng thời gian nhất định hệ thống sẽ gửi thông tin đến cho người dùng
Các phương pháp nhận thông tin mà người dùng có thể sử dụng:
Sử dụng tin nhắn đa phương tiện MMS
Sử dụng chương trình trên điện thoại để nhận thông tin thông qua một Server có sẵn mà người dùng có tài khoản (là một Server cho phép người dùng upload dữ liệu, chương trình trên điện thoại di động sẽ kết nối đến Server này để lấy dữ liệu về, ví dụ như hệ thống email)
Sử dụng tin SMS – được dùng trong trường hợp không có mạng dữ liệu Trên thiết bị di động của người sử dụng có một chương trình để nhận các tin nhắn SMS chứa thông tin media – hình ảnh, và tổng hợp các tin nhắn này, chuyển về dạng hình ảnh
Hệ thống có ưu điểm là tận dụng được những thiết bị sẵn có của người sử dụng, không phụ thuộc đến nhà cung cấp dịch vụ, sử dụng các kênh thông tin sẵn có và phổ dụng, giúp người dùng có thể có được thông tin ngay cả khi không có trình duyệt, máy tính và ngay cả khi không có mạng dữ liệu
Trang 111.2.2 Mô hình hệ thống
Hình 1.1 Mô hình hệ thống
Trang 12Hệ thống được thiết kế với hai phần chính là hệ thống điều khiển quan sát và hệ thống nhận thông tin trên điện thoại di động Trong đó hệ thống điều khiển quan sát sẽ gồm có một máy tính cá nhân được gắn với Webcam để thu hình ảnh, một modem GSM để truyền thông, các thiết bị này được điều khiển bởi một chương trình trên máy tính viết bằng ngôn ngữ Java Chương trình trên máy tính sẽ điều khiển đẻ webcam chụp hình, sau đó chương trình này sẽ xử lý hình ảnh, tạo thông điệp gửi đi, thông điệp này được gửi qua modem GSM Phần chương trình nhận tin trên điện thoại di động được viết bằng ngôn ngữ J2me, chương trình này sẽ làm nhiệm vụ nhận thông tin được gửi từ phần hệ thống quan sát, tổng hợp và hiển thị tới người dùng
Để gửi thông tin, có những dạng thông điệp sau sẽ được truyền:
SMS: Hình ảnh sẽ được chia ra thành các SMS và gửi sang phần nhận tin qua mạng GSM
MMS: Hình ảnh sẽ được đính kèm vào một tin nhắn đa phương tiện và gửi qua mạng GPRS/3G
Data: Dữ liệu hình ảnh sẽ được gửi lên một Server có sẵn trên mạng (ví dụ gmail), sau đó chương trình trên điện thoại di động sẽ kết nối đến mạng dữ liệu qua công nghệ GPRS/3G và tải dữ liệu về
1.2.2.1 Webcam và Computer
Webcam có thể là sẵn có hoặc là được cài thêm vào máy tính – là một thành phần quan trọng của hệ thống, sẽ được chương trình trên máy tính điều khiển để thu hình ảnh định kỳ hay theo lệnh Các Webcam này là các Webcam bán sẵn trên thị trường, các Webcam đơn giản thường có góc nhìn hẹp, độ phân giải thấp và không thể điều khiển góc quay, tuy nhiên giá thành rất rẻ và phù hợp với mục tiêu của đề tài
Máy tính được sử dụng để làm các nhiệm vụ sau:
Điều khiển Webcam: Chương trình trên máy tính có một module để điều khiển Webcam chụp hình mỗi khi có yêu cầu
Lưu trữ, xử lý hình ảnh: Hình ảnh sau khi được thu thì cần phải được lưu trữ lại, sau đó để có thể truyền một cách hiệu quả qua mạng và phù hợp với các định dạng thông điệp (SMS/MMS), hình ảnh cần được nén, thu nhỏ và chuyển đổi sang kiểu dữ liệu khác (nếu cần)
Tạo thông điệp gửi đi: Thông điệp gửi đi có thể là SMS, MMS, đây là những dạng thông điệp có quy chuẩn riêng, quy định dạng thông điệp, các thông số, đích đến,… Do đó hệ thống cần khởi tạo thông điệp cho phù hợp trước khi truyền đi
Điều khiển thiết bị kết nối – Modem: Để truyền thông hệ thống sử dụng một Modem (GSM/GPRS/3G) , để có thể sử dụng những chức năng của thiết bị,
Trang 13chương trình điều khiển cần có một module điều khiển Modem, trong đó, module này chủ yếu gửi các lệnh mà Modem hỗ trợ để điều khiển thiết bị Module điều khiển thiết bị kết nối có rất nhiều nhiệm vụ, trong đó có hai nhiệm vụ chính, đó là cấu hình để Modem có thể kết nối mạng, kết nối đến địa chỉ mong muốn, và nhiệm vụ thứ hai là điều khiển modem nhận/gửi dữ liệu và truyền đi các thông điệp
Nhận yêu cầu từ người dùng: Là một hệ thống giám sát, thường được kích hoạt khi người dùng ở xa, do đó, hệ thống cần nhận được lệnh của người dùng, phân tích và thực hiện được lệnh đó Lệnh ở đây chủ yếu là được người dùng gửi bằng tin nhắn SMS
1.2.2.2 Modem GSM
Modem là thiết bị kết nối – thiết bị trung gian cho phép chương trình trên máy tính có thể truyền thông tin đến thiết bị của người sử dụng Một Modem GSM/GPRS, Modem 3G có các chức năng như nhắn tin, nhận tin SMS/MMS, hội thoại – voice, kết nối mạng dữ liệu GPRS, 3G
Hầu hết các modem GSM đều hỗ trợ tập lệnh AT (Attention command) và có thể trao đổi dữ liệu với máy tính thông qua bất kỳ một module phần mềm điều khiển nào sử dụng tập lệnh AT Do đó, chương trình điều khiển trên máy tính sẽ điều khiển Modem thực hiện các chức năng của mình thông qua tập lệnh AT
1.2.2.3 Server lưu trữ thông tin
Thực hiện nhiệm trung gian giữa máy tính của người sử dụng với điện thoại di động Chương trình phần mềm trên máy tính sẽ gửi dữ liệu qua mạng điện thoại di động, mạng Internet, đến Server lưu trữ thông tin, chương trình trên máy điện thoại của người sử dụng sẽ kết nối đến Server này và tải dữ liệu về
Đây là một Server có sẵn trên mạng mà người dùng có tài khoản Trên môi trường Internet có rất nhiều Server cho phép người dùng tạo tài khoản miễn phí và upload dữ liệu Do đó, hệ thống không tạo Server riêng để tránh người sử dụng phải phụ thuộc vào dịch vụ của nhà cung cấp dịch vụ, người dùng hoàn toàn sử dụng những tài nguyên có sẵn của bản thân, thay vì phải mua hay thuê dịch vụ Phù hợp với mục đích của đề tài là tạo ra một hệ thống độc lập, sau khi cài đặt người dùng là người duy nhất cung cấp thông tin cho hệ thống và cũng là người dùng duy nhất của hệ thống
1.2.3.4 Chương trình trên điện thoại di động
Chương trình trên điện thoại được thiết kế với mục đích nhận thông tin media được gửi từ máy tính đến điện thoại di động Chương trình này có hai chức năng, thứ nhất là kết nối đến Server mà người dùng đưa dữ liệu lên, sau đó tải dữ liệu về máy và hiển thị Thứ hai là nhận các SMS chứa hình ảnh được gửi từ chương trình máy tính, tổ
Trang 14hợp và chuyển đổi thông tin trong các tin nhắn SMS sang dạng hình ảnh và hiển thị tới người dùng
1.3 Các đặc điểm của hệ thống đề xuất
1.3.1 Khả năng ứng dụng
Hệ thống hoàn toàn có thể áp dụng đối với các khách hàng có sử dụng máy tính
và điện thoại Với kênh nhận thông tin đa dạng, phong phú Tuy nhiên hệ thống thiết
kế trong đề tài đề tài mang tính demo phục vụ cho mục đích nghiên cứu để tạo thiết bị quan sát truyền thông qua mạng di động, sản phẩm có nhiều hạn chế, vì hạn chế của Webcam, góc nhìn, khoảng cách quan sát và việc phải sử dụng máy tính thường xuyên trong hệ thống để điều khiển Webcam, tuy nhiên, sau này máy tính sẽ được thay thế bởi mạch điện tử, người dùng chỉ cần mua thiết bị, gắn SIM, đưa ra một số thông tin cấu hình là thiết bị có thể độc lập chạy
1.3.2 Phụ thuộc vào hoạt động của mạng viễn thông
Hệ thống mạng viễn thông là môi trường trung gian kết nối giữa những người dùng thiết bị đầu cuối với các dịch vụ nên hệ thống đề xuất ở đây sẽ duy trì hoạt động phụ thuộc một phần vào các nhà cung cấp dịch vụ mạng viễn thông Nếu các nhà cung cấp dịch vụ mạng viễn thông ngừng hoạt động hoặc gặp lỗi thì hệ thống sẽ không hoạt động được Tuy nhiên, với sự phát triển của mạng viễn thông như hiện nay thì người dùng không cần phải quá lo lắng về vấn đề này
1.4 Các tính năng của hệ thống
1.4.1 Tính năng gửi ảnh khi đƣợc kích hoạt
Khi người dùng muốn nhận thông tin, họ sẽ nhắn một SMS kích hoạt, thông qua Modem GSM chương trình trên máy tính nhận được tin nhắn, phân tích yêu cầu thông qua tin nhắn ấy và thực hiện capture ảnh, lưu ảnh, xử lý ảnh, chuyển sang định dạng thông điệp thích hợp và gửi cho người sử dụng Trong tin nhắn kích hoạt sẽ chứa thông tin về loại thông điệp người dùng muốn sử dụng để nhận thông tin
1.4.2 Tính năng gửi ảnh theo định kỳ
Khi người dùng muốn nhận thông tin liên tục mà không cần phải gửi tin nhắn kích hoạt, hoặc mở ứng dụng ra, người dùng cần cấu hình hệ thống trước, cung cấp thông tin về thời gian ngừng sau mỗi lần gửi ảnh cho hệ thống phần mềm trên máy tính Với thông tin cấu hình như vậy, sau mỗi khoảng thời gian ngừng, hệ thống sẽ tiến hành tự động capture, lưu và xử lý ảnh, chuẩn bị dạng thông điệp thích hợp và gửi dữ liệu về cho người dùng Để tự động, dạng thông điệp được dùng để gửi hình ảnh sẽ là MMS
Trang 15Hình 1.2 Biểu đồ trình tự quá trình gửi ảnh khi được kích hoạt bằng SMS
Trang 16Hình 1.3 Biểu đồ trình tự quá trình gửi ảnh theo định kỳ
Trang 171.4.3 Tính năng gửi ảnh dưới dạng tin nhắn MMS
Tin nhắn MMS là tin nhắn đa phương tiện, trong đó ngoài phần Text, tin nhắn còn có phần thông tin đa phương tiện đính kèm Ưu điểm sử dụng tin nhắn MMS trong
hệ thống đó là tin nhắn MMS được gửi một cách tự động đến điện thoại, người dùng không phải cài đặt thêm bất kỳ phần mềm nào, chỉ phụ thuộc vào dịch vụ của nhà cung cấp mạng điện thoại di động Tuy vậy cũng có một số ít điện thoại không hỗ trợ định dạng tin nhắn này
Khi có yêu cầu của người dùng, hoặc đến thời gian cần gửi thông tin cho người dùng theo cấu hình từ trước, hệ thống sẽ tiến hành capture, lưu ảnh, xử lý làm nhỏ ảnh lại cả về kích thước file lẫn kích thước hiển thị, sau đó chuẩn bị định dạng thông điệp MMS chứa file ảnh vừa capture và tiến hành gửi đến người dùng thông qua modem GSM Thực tế việc gửi ảnh ở đây, không phải là gửi trực tiếp tới thuê bao mà hệ thống phải tiến hành gửi qua một MMSC (sẽ được đề cập ở phần sau), sau đó MMSC sẽ chịu trách nhiệm gửi dữ liệu đến thuê bao của người dùng
1.4.4 Tính năng gửi ảnh qua Server có sẵn
Tin nhắn MMS có nhược điểm đó là chi phí cho một tin nhắn MMS không nhỏ nếu sử (500đ/ một tin nhắn của mạng Viettel) Để giảm chi phí hệ thống cho phép người dùng có thể nhận hình ảnh thông qua một phần mềm chạy trên máy điện thoại di động Đầu tiên, chương trình trên máy tính sẽ thực hiện gửi ảnh lên một Server có sẵn
- Server cho phép upload dữ liệu, phần mềm trên điện thoại di động sẽ kết nối đến Server và tải ảnh về, hiển thị trên thiết bị Như vậy người dùng chỉ cần trả phí lưu lượng, chi phí thấp hơn nhiều so với MMS Tuy nhiên, nhược điểm của nó là hệ thống cần phải có một Server trung chuyển
Chương trình điều khiển trên máy tính cần thực hiện định kỳ các công việc sau
để đảm bảo người dùng luôn nhận được hình ảnh gần với thời gian hiện thời nhất: Capture ảnh, lưu và xử lý ảnh, sau đó điều khiển modem để kết nối mạng dữ liệu, kết nối đến Server của hệ thống, khi có kết nối, ảnh được gửi lên Server, chương trình trên điện thoại di động khi mở ra sẽ tự động kết nối đến Server và tải ảnh về
1.4.5 Tính năng gửi ảnh qua tin nhắn SMS
Khi không có mạng dữ liệu hệ thống vẫn có thể cho phép gửi dữ liệu ảnh thông qua mạng GSM, bằng cách: Sau khi nén ảnh, làm nhỏ ảnh, hệ thống sẽ chuyển dữ liệu ảnh thành các tin nhắn SMS và gửi đến chương trình trên máy điện thoại của người dùng Chương trình trên điện thoại di động có nhiệm vụ là nhận được hết các tin nhắn SMS chứa thông tin ảnh, gộp các nội dung SMS thành một nội dung thống nhất và chuyển dữ liệu text đó sang dạng dữ liệu ảnh và hiển thị đến người dùng
Để có thể gửi ảnh qua tin nhắn SMS, cần phải dùng một chế độ SMS khác chế
độ văn bản là chế độ PDU, trong chế độ PDU, dữ liệu gửi đi sẽ là một chuỗi các ký tự
Trang 18Hexa Vì vậy, sau khi có ảnh, việc cần làm là làm nhỏ ảnh để giảm chi phí truyền thông tin và cũng để thiết bị di động dễ hiển thị Sau đó, ảnh sẽ được đổi sang dạng mảng byte, mảng byte này sẽ được đổi sang dạng hexa, dữ liệu hexa này sẽ được đính kèm vào một SMS, trong đó bao gồm cả dữ liệu meta – data để mô tả người nhận, người gửi, cổng dịch vụ nhận tin nhắn Sở dĩ trong dữ liệu meta data có cổng dịch vụ, bởi trên máy điện thoại của người sử dụng đã có dịch vụ có sẵn để nhận tin, vì vậy để chương trình trên điện thoại của hệ thống có thể nhận tin ta cần phải thêm vào địa chỉ cổng của dịch vụ nằm trên chương trình điện thoại
Các tin nhắn chứa ảnh cần được đánh dấu để chương trình trên điện thoại di động biết khi nào thì ngừng nhận tin nhắn và gộp các tin nhắn lại thành một mảng hexa, đổi mảng đó sang dạng byte và chuyển sang dạng ảnh để có thể hiển thị tới người dùng Chương trình trên điện thoại di động cũng cần được thiết kế để có thể nhận các tin nhắn SMS ở trong chế độ PDU để có thể đồng bộ dữ liệu với chương trình trên máy tính
Trang 19Chương 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2.1 Khảo sát hệ thống
sử dụng và đem lại lợi ích cho người sử dụng trên mạng di động và điện thoại di động,
đó là dùng cách nhận tin mà người dùng vẫn quen thuộc là SMS, MMS hay để giảm giá thành người dùng có thể nhận tin thông qua mạng Internet với một ứng dụng truyền thông trên điện thoại di động, ứng dụng này sẽ làm nhiệm vụ tạo kết nối với một nút chuyển tiếp trên mạng Internet mà hệ thống sử dụng để trung chuyển các thông tin cần gửi đến người dùng và tải dữ liệu cần thiết về Ngoài ra, với công nghệ SMS của mạng GSM, hoàn toàn có thể khai thác để truyền dữ liệu khi không có mạng dữ liệu Với những mục tiêu như vậy, hệ thống cần thiết kế trong đề tài có những đặc điểm như sau:
Chỉ sử dụng mạng điện thoại để truyền thông, nhằm tạo ra các thiết bị quan sát độc lập, được truyền thông thông qua một module SIM điện thoại
Truyền dữ liệu trên nhiều hình thức phong phú để người dùng có thể lựa chọn hình thức truyền tin thích hợp nhất, có thể truyền thông tin ngay cả khi không có mạng dữ liệu
Đề tài sẽ nghiên cứu công nghệ, tìm giải pháp để có thể đạt được các mục tiêu trên
Trang 202.1.2 Lựa chọn công cụ và phương án giải quyết vấn đề
Hệ thống quan sát như đã đề xuất cần có các thành phần cơ bản như sau:
Thiêt bị quan sát
Module xử lý trung tâm
Module phần cứng giúp giao tiếp với mạng
Chương trình nhận tin trên điện thoại di động
Với những yêu cầu đặt ra với đề tài, thiết bị quan sát có thể sử dụng là bất kỳ thiết bị quan sát nào người dùng sở hữu có thể gắn với máy tính thông qua cổng COM/USB, điển hình như Webcam, có thể sử dụng Webcam Built in có sẵn trên máy tính.Với yêu cầu đơn giản của hệ thống là chỉ sử dụng thiết bị quan sát để thu hình ảnh, hệ thống không xử lý với các yêu cầu cao hơn như điều khiển góc quay, khung nhìn,… Module xử lý trung tâm mục tiêu là chương trình trên một vi điều khiển thông minh (ARM), tuy nhiên để mô phỏng, module xử lý sẽ được viết trên máy tính với tiêu chí làm sao cho phù hợp với một chương trình trên vi điều khiển Để làm được việc
đó, các công nghệ sử dụng và phương pháp lập trình phải được lựa chọn sao cho phù hợp và có thể truyền khai trên vi điều khiển Module phần cứng giao tiếp với mạng sẽ
là một Modem GSM/GPRS hoặc 3G có hỗ trợ lập trình với tập lệnh AT, module xử lý trung tâm và các ứng dụng trên điện thoại di động sẽ truyền thông qua modem này và qua một môi trường trung gian nữa đó là môi trường của mạng điện thoại di động và mạng Internet như hình 1.1
Để điều khiển Webcam và thực hiện chụp, lưu trữ ảnh, công cụ được chọn là OpenCV, trong rất nhiều các thư viện làm việc với thông tin đa phương tiện và thị giác máy tính thì OpenCV gần đây được cho là công cụ khá phổ biến và hiệu quả, bên cạnh các thư viện khác của Java như JMF, FMJ,…, ngôn ngữ Process Ngoài ra OpenCV còn có phiên bản dành cho hệ điều hành AnDroid và vi điều khiển ARM, phù hợp với mục tiêu của đề tài Để tài sử dụng ngôn ngữ lập trình Java, mặc dù OpenCV là thư viện dành cho họ ngôn ngữ C, tuy nhiên, Java cũng pháp triển một bộ thư viện JavaCV
để hỗ trợ cho các lập trình viên Java có thể sử dụng OpenCV
Để thực hiện truyền thông, đề tài nghiên cứu tập lệnh AT – là tập lệnh dùng để điều khiển các Modem GSM, các module SIM, các thiết bị di động Tập lệnh AT hoàn toàn có thể được nhúng vào các ngôn ngữ lập trình bậc thấp cũng như bậc cao để có thể điều khiển các modem, bằng cách kết nối modem với một cổng vật lý nào đó trên
hệ thống, chương trình điều khiển sẽ gửi chuỗi lệnh AT ra cổng kết nối, modem nhận được chuỗi lệnh AT thì thực hiện và truyền kết quả thực hiện ngược lại cổng kết nối, chương trình điều khiển từ đó nhận thông tin và xử lý Việc sử dụng một tập lệnh chuẩn như vậy sẽ tạo điều kiện để phát triển đề tài trên nhiều nền tảng khác nhau với
sự khác biệt và hạn chế về tài nguyên cũng như hệ điều hành
Trang 21Các phương pháp nhận thông tin trên điện thoại di động sẽ bao gồm ba cách,
mô tả các phương pháp có thể sử dụng để nhận thông tin trên hệ thống, người dùng có thể chọn phương pháp phù hợp với điều kiện của mình: MMS – tin nhắn đa phương tiện, nội dung ngoài text còn bao gồm thông tin media; Tin nhắn SMS trong trường hợp không có mạng dữ liệu, hệ thống sẽ tách thông tin thành các SMS ở phía gửi, và tổ hợp các SMS lại thành một ảnh ở phía nhận, quá trình truyền chỉ phụ thuộc vào mạng GSM; Chương trình trên máy điện thoại di động kết nối đến một Server có sẵn mà người dùng có tài khoản và lấy thông tin ảnh về từ Server, Server này lưu trữ ảnh của
hệ thống gửi lên từ chương trình điều khiển trên máy tính tại địa điểm quan sát, ảnh sẽ luôn được cập nhập theo thời gian
Chương trình trên điện thoại của người sử dụng được viết bằng ngôn ngữ J2me, một nhánh nhỏ của ngôn ngữ Java dành cho các thiết bị di động, J2me là một ngôn ngữ dễ học và dễ triển khai, tuy hiện nay các thiết bị di động thông minh rất phát triển với các hệ điều hành hỗ trợ, nhưng để có thể truyển khai trên nhiều nền tảng khác nhau, đề tài chọn J2me vì một chương trình J2me có thể triển khai trên cả điện thoại thông minh lẫn điện thoại không có hệ điều hành Chương trình này có nhiệm vụ kết nối đến Server của hệ thống để nhận về thông tin hình ảnh, ngoài ra nó còn có nhiệm
vụ nhận các tin nhắn SMS, tổ hợp các tin nhắn lại thành một khối thông tin thống nhất
và đổi khối thông tin này sang dạng hình ảnh và hiển thị tới người dùng
2.2 biểu đồ usecase
Biểu đồ Usecase của hệ thống sẽ mô tả các chức năng mà hệ thống cung cấp cũng như các vấn đề mà hệ thống sẽ phải giải quyết Trong hệ thống này, có hai tác nhân chính, đó là người dùng, người đưa ra các yêu cầu, và cũng là người quản lý hệ thống, cấu hình các thông tin cần thiết cho hệ thống Tác nhân thứ hai là hệ thống chuyển tiếp thông điệp là hệ thống trung gian giữa phần quan sát và phần nhận tin của hệ thống Hệ thống chuyển tiếp thực hiện nhiệm vụ nhận tin SMS yêu cầu từ người dùng và gửi đến hệ thống điều khiển quan sát, nó cũng đồng thời nhận các dữ liệu và thông điệp được gửi từ hệ thống điều khiển quan sát sau đó gửi đến chương trình trên máy điện thoại của người sử dụng Hệ thống chuyển tiếp thông điệp có thể
là các Server của nhà cung cấp mạng mà thuê bao của người sử dụng đang dùng, dùng để chuyển tiếp các tin nhắn SMS, MMS trực tiếp đến máy điện thoại của người dùng và cũng có thể là một Server lưu trữ trên mạng mà người dùng có tài khoản, dùng để truyền dữ liệu ảnh đến chương trình được hệ thống thiết kế chạy trên điện thoại của người sử dụng Với những mục tiêu và phân tích từ các phần trên, hệ thống
có mô hình usecase như sau:
Trang 22Hình 2.1 Biểu đồ Usecase của hệ thống
2.3 Phân tích các chức năng mà hệ thống cần xây dựng
2.3.1 Chức năng cấu hình các thông tin của hệ thống
Trong hệ thống này, người sử dụng vừa là người hưởng các dịch vụ của hệ thống vừa là người quản lý hệ thống Do đó, để hệ thống có thể hoạt động tốt được, người dùng cần đưa ra các thông số cho hệ thống thông qua giao diện của hệ thống, sau đó hệ thống cần lưu lại các thông số này nếu các thông số chưa tồn tại hoặc cập nhập các thông số này nếu người dùng muốn sửa các thông số trong file cấu hình
2.3.1.1 Thông tin cấu hình SMS
Dựa vào các thông tin kỹ thuật về tin nhắn SMS được trình bày ở chương 3 thì các thông tin cấu hình SMS cần:
Số điện thoại người gửi: Trong hệ thống là số thuê bao của SIM trên Modem
Số SMSC: Số của trung tâm tin nhắn, tin nhắn được nhắn qua Modem sẽ đến SMSC đầu tiên, sau đó mới đến thuê bao điện thoại di động
Trang 23 Số người nhận: Là số thuê bao trên điện thoại di động Điện thoại di động là thiết bị nhận trong hệ thống
Hình 2.2 Sơ đồ hoạt động cho chức năng cấu hình hệ thống
2.3.2.2 Thông tin cấu hình MMS
Một tin nhắn MMS cần rất nhiều thông tin cấu hình Vì tin nhắn MMS khác so với tin nhắn SMS Để gửi và nhận được tin nhắn MMS cần thông qua môi trường mạng dữ liệu Tin nhắn MMS đầu tiên được gửi đến một trung tâm tin nhắn MMSC, MMSC gửi thông báo chứa địa chỉ file dữ liệu đến thuê bao nhận, sau đó file dữ liệu được chương trình trên máy điện thoại di động tự động download về thông qua trình duyệt WAP Vì vậy, để gửi được tin nhắn MMS, cần có nhiều thông tin như:
2.3.3.3 Thông tin cấu hình dữ liệu ảnh
Khi truyền dữ liệu giữa chương trình trên máy tính với chương trình trên điện thoại thông qua một Server của hệ thống, file dữ liệu sẽ không bị phụ thuộc vào kích
cỡ cho phép của tin nhắn MMS, tuy nhiên, nếu ảnh quá lớn sẽ ảnh hưởng tới thời gian
Trang 24truyền và khả năng hiển thị của ảnh trên điện thoại di động, do đó cần có thông tin cấu hình về kích cỡ của ảnh muốn truyền Thông tin bao gồm:
Kiểu ảnh: PNG, JPG…
Kích cỡ hiển thị của ảnh
Kích cỡ file ảnh
2.3.4.4 Thông tin cấu hình cổng COM
Khi demo hệ thống trên máy tính, thiết bị hỗ trợ kết nối với mạng GSM là Modem GSM, hoặc Modem 3G phần lớn các thiết bị này cần được kết nối với máy tính qua cổng COM, nếu máy không có cổng COM, thì hệ thống cần cài đặt chương trình cổng COM ảo, để cho phép chương trình trên máy tính có thể truyền thông với Modem thông qua cổng USB dưới tên của một cổng COM ảo Cổng COM là cổng truyền thông nối tiếp, vì vậy cần thiết lập một vài thông số để có thể truyền thông với cổng COM, với hình thức truyền thông ở đây là truyền bất đồng bộ:
Tốc độ kết nối – baud: Tốc độ truyền dữ liệu giữa cổng COM và Modem
Số bit dữ liệu: Số bit dữ liệu trong khung truyền
Số bit Stop: Số lượng bit Stop
Bit Parity: Có hay không sử dụng bit Parity
Thông số điều khiển luồng: Dùng để điều khiển luồng thông tin truyền giữa cổng COM và Modem
2.3.2 Điều khiển chính cho hệ thống
Hệ thống có rất nhiều công việc cần thực hiện, vì vậy hệ thống được thiết kế với các module riêng biệt như điều khiển modem, điều khiển thiết bị quan sát, xử lý thông tin,… các module này được kết hợp để thực hiện nhiệm vụ của hệ thống thông qua module điều khiển chính
Module này luôn có một bộ lắng nghe trên cổng truyền thông nối với modem, mỗi khi có SMS đến modem truyền thông module sẽ thực hiện gọi các module khác để đọc và xử lý lệnh, ngoài ra nếu người dùng cấu hình hệ thống để nhận được thông tin sau một khoảng thời gian nhất định thì module điều khiển chính cần xác định thời gian dừng và truyền thông tin rồi điều khiển tiến trình thực hiện lệnh Module điều khiển chính có thể coi là trái tim của hệ thống, nó điều khiển mọi hoạt động của hệ thống, điều khiển các module khác thực hiện nhiệm vụ Module chính luôn thực hiện một tiến trình, trong đó nó luôn chờ đợi xem có yêu cầu của người dùng hay không, nếu có nó
sẽ gọi các module khác để thực hiện yêu cầu của người sử dụng về cơ bản, yêu cầu của người dùng là yêu cầu truyền hình ảnh Cho nên sau khi phân tích yêu cầu, hệ thống nói chung đều thực hiện các công việc như trong hình 2.3, các quá trình chủ yếu khác nhau ở định dạng thông điệp gửi đi, khi đó, nhiệm vụ chủ yếu được module xử lý
Trang 25thông tin thực hiện, nó sẽ thực hiện xử lý dữ liệu, tạo định dạng thông điệp hợp lý để truyền đi
Hình 2.3 Sơ đồ hoạt động chức năng điều khiển thực hiện lệnh
2.3.3 Chức năng phân tích yêu cầu
Yêu cầu của hệ thống có thể là một yêu cầu định thời trước khi kích hoạt hệ thống, cũng có thể là một yêu cầu dịch vụ từ phía người dùng được gửi bằng tin nhắn SMS Những yêu cầu này được chức năng phân tích yêu cầu đọc, phân và gửi kết quả phân tích được đến module chính để module này thực hiện xử lý lệnh Nếu yêu cầu của người dùng đưa ra không chính xác, chức năng phân tích yêu cầu cần gửi lại một thông báo SMS phản hồi tới người dùng
Khi yêu cầu được định thời từ trước, hệ thống sẽ phải đọc file cấu hình để lấy thông tin về thời gian quy định gửi thông tin và lấy thông tin về loại thông điệp mà
Trang 26người sử dụng muốn nhận Sau đó module điều khiển chính sẽ dựa vào thời gian định thời đó để điều khiển các module khác thực hiện các nhiệm vụ tiền xử lý dữ liệu và sau đó gửi thông tin đi Nếu yêu cầu là một tin nhắn SMS gửi đến Modem, khi này hệ thống cần làm hai việc: Đọc tin nhắn, xử lý nội dung của tin nhắn để biết được yêu cầu
từ phía người dùng Việc đọc tin nhắn SMS sẽ do module điều khiển modem thực hiện Module này chỉ cần phân tích lệnh của người dùng dựa trên nội dung của tin nhắn, với cấu trúc lệnh như sau: kiểu nhận dữ liệu; số lượng;
Hình 2.4 Biểu đồ hoạt động chức năng phân tích yêu cầu SMS Trong đó, kiểu nhận tin có thể là:
MMS: Thông tin được gửi qua một tin nhắn MMS
SMS: Thông tin được gửi qua các tin nhắn SMS
APP: Thông tin được gửi tới một chương trình ứng dụng trên máy điện thoại
di động của người nhận
Số lượng có nghĩa là số lượng ảnh mà người dùng muốn nhận được
Biểu đồ hoạt động của chức năng phân tích yêu cầu đã được người dùng cấu hình cũng giống với biểu đồ hoạt ở hình 2.4, chỉ khác là thay vì đọc thông điệp, hệ thống sẽ đọc các thông tin cần thiết trong file cấu hình:
Thời gian giữa hai lần truyền tin
Loại thông điệp truyền
Kích cỡ ảnh
Định dạng ảnh
Trang 272.3.4 Chức năng xử lý ảnh
Vì ảnh được truyền đi trong mạng điện thoại, chi phí hiện tại cao hơn so với mạng Internet, và tốc độ truyền thông cũng chậm hơn, do đó, ảnh cần được tiền xử lý trước khi gửi Ảnh cần được nén lại để giảm kích thước file, nhằm giảm thời gian truyền thông, phù hợp với định dạng thông điệp (MMS), và giảm chi phí phải trả cho lưu lượng mạng Cỡ hiển thị của ảnh cũng cần được làm nhỏ lại cho phù hợp với khả năng hiển thị của thiết bị di động
Hình 2.5 Biểu đồ hoạt động chức năng xử lý ảnh Ngoài ra, nếu người dùng yêu cầu nhận ảnh trong chế độ không có mạng viễn thông, ảnh cần được chuyển sang mảng byte, đưa về chuỗi các ký tự hexa để có thể truyền đi bằng tin nhắn SMS trong chế độ PDU
2.3.5 Chức năng xử lý thông điệp
Hệ thống gửi dữ liệu dưới nhiều hình thức: tin nhắn MMS, tin nhắn SMS ở chế
độ PDU, hoặc gửi dữ liệu lên Server Riêng phương thức gửi dữ liệu qua Server hệ thống chỉ cần kết nối đến Server, nén và làm nhỏ ảnh, ngoài ra không cần phải chuẩn
bị thông điệp gửi đi Với phương thức gửi dữ liệu qua MMS và qua tin nhắn SMS, khối xử lý thông điệp cần phải lấy dữ liệu ảnh đã qua xử lý, sau đó chuẩn bị định dạng thông điệp trước khi gửi đi Về cơ bản việc xử lý thông điệp đều qua những bước sau:
Trang 28Hình 2.6 Biểu đồ hoạt động chức năng xử lý thông điệp
Để gửi đi một tin nhắn MMS, cần phải chuẩn bị các thông số cho tin nhắn MMS theo quy định Trong đó cần phải chuẩn bị một PDU yêu cầu với những thông tin cơ bản: Loại PDU, phiên bản MMS, địa chỉ người gửi, địa chỉ người nhận, định danh chuyển tác, chủ đề của thông điệp, nội dung của thông điệp Nếu được modem hỗ trợ gửi MMS, hệ thống chỉ cần đưa ra các thông số mô tả, chỉ có nội dung tin nhắn là được mã hóa dưới dạng hexa Nếu không được hỗ trợ các thông tin header và dữ liệu đều phải đổi sang dạng hexa để tạo ra một MMS PDU nhị phân để truyền đi sau khi kết nối với MMSC
Để gửi đi dữ liệu thông qua các tin nhắn SMS, hệ thống cần phải chuẩn bị định dạng tin nhắn dạng PDU, trong đó có hai phần, phần mô tả SMSC, phần dữ liệu Phần
mô tả SMSC sẽ chứa thông tin về loại SMSC,số SMSC, cổng dịch vụ SMS, độ dài thông tin của phần này Phần dữ liệu sẽ bao gồm số người gửi, dữ liệu – là dữ liệu ảnh
đã qua xử lý thành chuỗi hexa, độ dài phần dữ liệu, và nhiều phần thông tin mô tả khác Tất cả các thông tin này đều nằm trong một SMS PDU nhị phân, có nghiã là các
Trang 29thông tin đều được đổi sang dạng nhị phân và nối với nhau theo quy định thành một chuỗi hexa trước khi gửi
2.3.6 Chức năng điều khiển Modem
Hình 2.7 Biểu đồ hoạt động chức năng lắng nghe cổng kết nối Modem là thành phần quan trọng trong hệ thống, Modem có khả năng kết nối mạng điện thoại di động, cho phép chương trình trên máy tính nhận SMS từ điện thoại
di động của người dùng và cũng cho phép chương trình trên máy tính gửi dữ liệu sang điện thoại di động Tuy nhiên, để có thể sử dụng khả năng kết nối đó, hệ thống cần phải điều khiển Modem bằng cách gửi lệnh AT – lệnh mà Modem hỗ trợ ra Modem để
Trang 30Modem thực hiện Hệ thống cần điều khiển Modem thực hiện: Gửi tin nhắn SMS, MMS, kết nối đến Server có địa chỉ xác định để gửi dữ liệu ảnh Với mô hình điều khiển Modem bằng tập lệnh AT, sau mỗi lệnh được đưa ra Modem sẽ mất một thời gian thực hiện và luôn trả lại một kết quả nhất định, thường kết quả trả về ngoài những thông tin cần thiết, sẽ có chuỗi kết thúc là OK hay ERROR báo rằng lệnh đã thực hiện song, vì vậy sau mỗi lệnh chương trình cần kiểm tra kết quả trả về, nếu kết quả trả về
là OK thì mới có thể thực hiện lệnh tiếp theo
2.3.7 Khối xử lý trên điện thoại di động
Chương trình trên điện thoại có nhiệm vụ nhận thông tin khi người dùng yêu cầu nhận thông tin thông qua một Server có sẵn và nhận dữ liệu ảnh từ các SMS
Hình 2.8 Biểu đồ hoạt động chức năng xử lý trên điện thoại Nếu dạng thông tin người dùng nhận được là tin nhắn SMS, hệ thống sẽ tiến hành đọc các tin nhắn từ tin nhắn đầu tới tin nhắn cuối, sau đó nối dữ liệu các tin nhắn vào thành một chuỗi, đổi chuỗi này sang mảng byte, và cuối cùng là chuyển mảng byte này sang dạng hình ảnh và hiển thị đến người dùng Để làm được việc này, bên
Trang 31chương trình điều khiển khi gửi tin nhắn cần đính kèm thêm số hiệu tin nhắn vào trong nội dung tin nhắn, đặc biệt tin nhắn đầu và tin nhắn cuối có có chỉ số đặc biệt để hệ thống biết khi nào cần dừng đọc tin nhắn và chuyển sang phần xử lý thông tin Nếu người dùng muốn nhận tin từ một Server có sẵn, chương trình trên điện thoai di động
sẽ kết nối đến Server định trước do người dùng quy định, sau đó tải dữ liệu về, với Java các dữ liệu truyền và nhận đều ở dạng luồng byte, vì vậy, bên chương trình phía điện thoại di động sẽ luôn nhận được một mảng byte, mảng byte này sẽ được chuyển
ra dạng hình ảnh và hiển thị tới người dùng Dù là kiểu nhận tin nào, người dùng cũng
có thể yêu cầu lưu lại dữ liệu để có thể xem lại
2.4 Thiết kế hệ thống
2.4.1 Kiến trúc hệ thống
Hình 2.9 Kiến trúc khối điều khiển quan sát
Hệ thống gồm hai khối chính: Khối yêu cầu thông tin trên điện thoại di động, đây là khối chương trình được thiết kế để nhận dữ liệu và hiển thị tới người dùng Khối này có chức năng gửi yêu cầu lên Server có sẵn để nhận hình ảnh được khối đáp ứng gửi lên Hình ảnh nhận được ở dưới dạng mảng byte, sau đó được chuyển sang dạng hình ảnh và hiển thị tới người dùng Khối này cũng làm nhiệm vụ nhận các tin nhắn SMS chứa thông tin sau đó xử lý và chuyển nội dung các tin nhắn sang dạng hình ảnh và hiển thị Khối đáp ứng hay chính là hệ thống quan sát, khối này làm nhiệm vụ
Trang 32điều khiển thiết bị quan sát để chụp hình, hình sau đó sẽ qua xử lý và được đính kèm vào một thông điệp, thông điệp cuối cùng được gửi đến khối yêu cầu thông tin thông qua modem của hệ thống, hệ thống điều khiển Modem này bằng tập lệnh AT gửi qua cổng COM kết nối Modem với máy tính
Hình 2.10 Kiến trúc khối chương trình trên điện thoại di động Khối chương trình trên điện thoại di động có nhiệm vụ nhận thông tin và hiện thị đến người dùng Có hai cách nhận thông tin đó là chương trình trên điện thoại di động kết nối đến một Server sẵn có và tải dữ liệu về, cách thứ hai là nhận các SMS và
tổ hợp lại thành một ảnh
2.4.2 Thiết kế file config
File config sẽ được thiết kế dưới dạng file properties File properties vốn được thiết kế rất đơn giản, mỗi một thành phần thuộc tính trong file được quản lý bởi một chuỗi có hai phần: Tên thuộc tính và giá trị thuộc tính, các phần phân cách nhau bởi dấu phẩy Cách lưu trữ đó vừa đơn giản vừa hiệu quả, tuy nhiên, vì hệ thống có nhiều thông tin thuộc nhiều phần khác nhau cho nên cần có quy định để tránh trùng lặp Tên các thuộc tính sẽ gồm có hai phần: phần trước dấu “-“ mô tả loại thuộc tính dành cho một thông tin nào đó, ví dụ như: MMS, SMS, COM, …, phần sau dấu “-“ mô tả tên
Trang 33riêng cho thuộc tính Ví dụ: SMS-address: Tên của tham số mô tả số của thuê bao nhận tin SMS, COM-databit: Mô tả số bit dữ liệu trong một khung truyền khi truyền dữ liệu qua cổng COM
2.4.3 Thiết kế các module chính chương trình trên máy tính
Trong hệ thống có rất nhiều module khác nhau thực hiện từng phần nhỏ công việc phục vụ cho mục đích chụp hình và gửi thông điệp Ở đây báo cáo chỉ xin nêu những module điển hình trong hệ thống Với ngôn ngữ cài đặt là ngôn ngữ lập trình Java
2.5.2.1 Module xử lý ảnh
Ảnh trước khi gửi đi dưới dạng các tin nhắn SMS sẽ được đổi sang các SMS, các chuỗi SMS này cần được nén lại theo thuật toán LZW, thuật toán LZW là một thuật toán nén đơn giản nhưng hiệu quả, trong đó chương trình sẽ đọc liên tục các ký tự đầu vào trong chuỗi inRaw, nối vào một chuỗi là chuỗi hiện thời, hệ thống tìm mã của chuỗi hiện thời trong từ điển để mã hóa thành đầu ra, nếu chuỗi hiện thời không có mã trong từ điển thì nó sẽ được đưa vào từ điển, mã của ký tự mới đọc sẽ là đầu ra, sau khi được đưa vào trong từ điển, ký tự cuối cùng của chuỗi hiện thời sẽ được giữ lại để lặp lại các bước
kể trên Sau đó làm nhỏ kích thước trình diễn của ảnh, để phù hợp với màn hình hiển thị của điện thoại di động, ví dụ dưới đây là một hàm resize để đổi kích thước của ảnh, Java cung cấp các hàm API cho việc thay đổi cỡ ảnh Nếu ảnh cần được gửi đi dưới dạng mảng byte, thì đầu tiên ảnh cần được đổi từ mảng byte sang chuỗi hexa, sau đó chuỗi hexa này được ánh xạ sang bảng mã theo chuẩn GSM
2.5.2.2 Module truyền thông với cổng COM
Đầu tiên để truyền thông với cổng COM ta cần xác định cổng kết nối, thiết lập các tham số và kết nối đến cổng, sau đó mở các luồng InputStream và OutputStream
để truyền thông với cổng
Chỉ định cổng được mở: CommPortIdentifier.getPortIdentifier(String Port); Thiết lập các tham số cho cổng bằng hàm sPort.setSerialPortParams() với các tham số kèm theo: int baudRate, int flowControlIn, int flowControlOut, int databits, int stopbits, int parity
Gắn kết các luồng stream vào và ra trên cổng:
os = sPort.getOutputStream();
is = sPort.getInputStream();
Sau đó gắn bộ lắng nghe lên cổng để có thể biết được các sự kiện xảy ra trên cổng: sPort.addEventListener(this);