TRƯỜNG
ĐẠI
HỌC
KHOA
HỌC
TỰ
NHIÊN
TP.HỒ
CHÍ
MINH
KHOA
CÔNG
NGHỆ
THÔNG
TIN
BỘ
MÔN
CÔNG
NGHỆ
PHẦN
MỀM
ĐẶNG
MINH
THẮNG
–
CHU
NGUYÊN
TÚ
XÂY
DỰNG
HỆ
THỐNG
ĐIỀU
KHIỂN
MÁY
TÍNH
TỪ
XA
SỬ
DỤNG
CÔNG
NGHỆ
BLUETOOTH
LUẬN
VĂN
CỬ
NHÂN
TIN
HỌC
TP.HCM,
NĂM
2004
TRƯỜNG
ĐẠI
HỌC
KHOA
HỌC
TỰ
NHIÊN
TP.HỒ
CHÍ
MINH
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
KHOA
CÔNG
NGHỆ
THÔNG
TIN
BỘ
MÔN
CÔNG
NGHỆ
PHẦN
MỀM
ĐẶNG
MINH
THẮNG
-
0012091
CHU
NGUYÊN
TÚ -
0012120
XÂY
DỰNG
HỆ
THỐNG
ĐIỀU
KHIỂN
MÁY
TÍNH
TỪ
XA
SỬ
DỤNG
CÔNG
NGHỆ
BLUETOOTH
LUẬN
VĂN
CỬ
NHÂN
TIN
HỌC
GIÁO
VIÊN
HƯỚNG
DẪN
Th.S
ĐỖ
HOÀNG
CƯỜNG
NIÊN
KHÓA
2000
–
2004
NHẬN
XÉT
CỦA
GIÁO
VIÊN
HƯỚNG
DẪN
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
NHẬN
XÉT
CỦA
GIÁO
VIÊN
PHẢN
BIỆN
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
LỜI
CÁM
ƠN
Chúng
em
xin
bày
tỏ
lòng
biết
ơn
chân
thành
nhất
đến
Thầy
Đỗ
Hoàng
Cường, người Thầy đã tận tâm hướng dẫn, giúp đỡ chúng em trong suốt t
hời gian
thực hiện luận văn này.
Chúng con xin gửi tất cả lòng biết ơn sâu sắc và sự kính trọng đến
ông bà,
cha mẹ, cùng toàn thể gia đình, những người đã nuôi dạy chúng con trưởn
g thành
đến ngày hôm nay.
Chúng em cũng xin chân thành cám ơn quý Thầy cô trong Khoa Cô
ng nghệ
thông
tin,
trường
Đại
học
Khoa
học
Tự
nhiên
Tp.Hồ
Chí
Minh
đã
tận
tìn
h
giảng
dạy, hướng dẫn, giúp đỡ và tạo điều kiện cho chúng em thực hiện tốt luận vă
n này.
C
N
TT
–
Đ
K
H
O
A
H
K
H
TN
Xin chân thành cám ơn sự giúp đỡ, động viên và chỉ bảo rất nhiệt t
ình của
các anh chị và tất cả
các bạn, những người đã giúp chúng tôi có đủ nghị l
ực và ý
chí để hoàn thành luận văn này.
Mặc dù đã cố gắng hết sức, song chắc chắn luận văn không khỏi nhữ
ng thiếu
sót. Chúng em rất mong nhận được sự thông cảm và chỉ bảo tận tình của q
uý Thầy
Cô và các bạn.
TP.HCM, 7/2004
Nhóm sinh viên thực hiệ
n
Đặng Minh Thắng – Chu Nguyên
Tú
LỜI
NÓI
ĐẦU
Hiện
nay,
công
nghệ
thông
tin
đang
phát
triển
mạnh
mẽ
và
trở
th
ành
một
ngành
công
nghiệp
mũi
nhọn
ở
nhiều
quốc
gia.
Máy
tính
ngày
càng
trở
nên
phổ
biến,
xuất
hiện
rất
nhiều
trong
các
gia
đình
và
trở
thành
một
công
cụ
kh
ông
thể
thiếu
của
nhiều
người.
Máy
tính
phục
vụ
rất
nhiều
nhu
cầu
khác
nhau
của
con
người, từ nhu cầu làm việc, học tập đến các nhu cầu giải trí như chơi ga
me, xem
phim, nghe nhạc, v.v…
Với sự có mặt rộng rãi của máy tính trong đời sống, con người có
nhu cầu
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
điều khiển máy tính từ xa giống như điều khiển các thiết bị gia dụng khác (t
ivi, đầu
máy, máy nghe nhạc, v.v…). Công cụ điều khiển máy tính từ xa là một trợ g
iúp đắc
lực cho con người, giúp ta có thể biến máy tính của mình thành một trung t
âm giải
trí, đồng thời là một công cụ hỗ trợ tích cực cho những buổi thuyết trình có
sử dụng
PowerPoint và các thao tác điều khiển máy tính từ xa khác.
Có nhiều giải pháp để thực hiện vấn đề trên: Microsoft phát triển
Windows
XP thành hệ điều hành multimedia với một bộ điều khiển từ xa tích hợp, h
oặc dạo
gần đây là phong trào gắn thêm “mắt” hồng ngoại vào máy tính kết hợp với
chương
trình download tại
để có thể điều khiển máy tính thông
qua bộ
điều khiển từ xa của tivi.
Bên cạnh sự phát triển mạnh mẽ của máy tính cá nhân, các công ngh
ệ không
dây và thiết bị di động cũng không ngừng tự nâng cao khả năng của mình
. Từ đó
xuất hiện thêm các giải pháp khác, trong đó sử dụng các công nghệ không
dây trên
các thiết bị di động để điều khiển máy tính là giải pháp được nhiều người qu
an tâm.
Hiện nay đã có nhiều giải pháp điều khiển máy tính từ xa chạy trên các th
iết bị di
động
như
Pocket
PC,
Palm
Tungsten,
Smartphone
với
sự
hỗ
trợ
của
nhi
ều
công
nghệ không dây khác nhau và cả internet. Các công nghệ không dây có thể k
ể đến là
IrDA (hồng ngoại), Bluetooth, Wi-Fi, còn các thiết bị di động thì chạy
trên các hệ
điều hành phổ biến như Symbian, WinCE, Palm OS.
Mỗi công nghệ, mỗi
hệ điều
hành đều
có
những ưu,
khuyết điểm riêng
của
nó,
trong
đó
nổi
bật
lên
là
cặp
bài
trùng Bluetooth – Symbian. Symbian gần như chiếm lĩnh thị trường hệ đi
ều hành
trên
điện
thoại
di
động
thông
minh
và
hầu
hết
các
điện
thoại
chạy
hệ
đi
ều
hành
Symbian đều tích hợp sẵn Bluetooth.
Xuất
phát
từ
các
lý
do
trên,
chúng
em
đã
thực
hiện
đề
tài
“XÂY
DỰNG
MỘT
HỆ
THỐNG
ĐIỀU
KHIỂN
MÁY
TÍNH
TỪ
XA
SỬ
DỤNG
C
ÔNG
NGHỆ
BLUETOOTH”
. Trong đề tài này, chúng em xây dựng một chươn
g trình
điều khiển máy tính từ xa trên các điện thoại Series 60 của hãng Nokia vố
n hỗ trợ
cả Bluetooth lẫn Symbian.
Mục
tiêu
của
đề
tài
là
xây
dựng
một
hệ
thống
điều
khiển
máy
tín
h
từ
xa
thông
qua
các
điện
thoại
Series
60
của
hãng
Nokia
giúp
người
dùng
có
t
hể
điều
khiển một số chương trình trên máy tính phục vụ mục đích giải trí, công việ
c, v.v…
Các nội dung chính của đề tài bao gồm:
•
Tìm hiểu công nghệ Bluetooth
•
Tìm hiểu hệ điều hành Symbian
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
•
Tìm hiểu một số vấn đề về lập trình trên hệ điều hành Symbian
•
Tìm hiểu lập trình giao tiếp với Bluetooth trên Symbian
•
Xây
dựng
một
ứng
dụng
chạy
trên
các
điện
thoại
Series
60
c
ủa
hãng
Nokia
để
điều
khiển
một
số
chương
trình
trên
máy
tính
như:
Chuột,
Powerpoint, Winamp, Windows Media Player; thực hiện các tha
o tác hệ
thống như shutdown, restart, logout, standby, hibernate, hẹn giờ tắ
t máy.
Nội dung của luận văn được chia làm 3 phần và 10 chương:
PHẦN
I:
BLUETOOTH
Chương
1.
Tổng
quan
về
công
nghệ
Bluetooth:
Giới
thiệu
tổng
qu
an
về
công nghệ Bluetooth như khái niệm và lịch sử phát triển của Bluetooth.
Chương
2.
Các
tầng
giao
thức
của
Bluetooth:
Mô tả chi tiết các tần
g giao
thức, đặc điểm kĩ thuật và cách thức hoạt động của Bluetooth.
Chương
3.
Ưu
điểm
và
khuyết
điểm
của
Bluetooth:
Phân tích các
ưu và
khuyết điểm của Bluetooth, so sánh Bluetooth với một số công nghệ không
dây phổ
biến khác.
Chương
4.
Tầm
ứng
dụng
và
tương
lai
của
Bluetooth:
Trình bày v
ề khả
năng ứng dụng của Bluetooth trong thực tế và tương lai của công nghệ này.
PHẦN
II:
SYMBIAN
Chương
5.
Tổng
quan
về
hệ
điều
hành
Symbian
và
Series
60:
Giới
thiệu
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
tổng quan về hệ điều hành Symbian cũng như kiến trúc hệ thống của nó. Gi
ới thiệu
Series
60,
một
platform
trên
các
điện
thoại
di
động
thông
minh
của
hãn
g
Nokia
dùng Symbian, môi trường của ứng dụng PC Remote Control
Chương
6.
Một
số
vấn
đề
khi
xây
dựng
ứng
dụng
trên
Symbian:
Trình
bày
các
điểm
khác
biệt,
các
vấn
đề
quan
trọng
cần
lưu
ý
khi
lập
trình
t
rên
môi
trường Symbian.
Chương
7.
Lập
trình
giao
tiếp
Bluetooth
trên
Symbian:
Trình bày v
ấn đề
liên
quan
trực
tiếp
đến
ứng
dụng
PC
Remote
Control:
Lập
trình
giao
t
iếp
với
Bluetooth trên Symbian.
PHẦN
III:
ỨNG
DỤNG
MINH
HỌA
Chương
8.
Phân
tích
và
thiết
kế
ứng
dụng
điều
khiển
máy
tính
t
ừ
xa:
Phân tích, thiết kế các chức năng của chương trình, thiết kế lớp, thiết kế m
àn hình,
thiết kế lưu đồ hoạt động và trình bày một số vấn đề quan trọng khác liên q
uan đến
việc xây dựng ứng dụng.
Chương
9.
Cài
đặt
và
thử
nghiệm:
Giới thiệu môi trường phát triển
và cài
đặt ứng dụng, thử nghiệm ứng dụng vào thực tế.
Chương
10.
Tổng
kết:
Trình bày những kết quả đạt được, hạn
chế,
những
vấn đề tồn tại, hướng phát triển trong tương lai.
MỤC
LỤC
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Danh
sách
hình
12
Danh
sách
bảng
16
PHẦN
I.
BLUETOOTH
18
Chương
1
: Tổng
quan
về
công
nghệ
Bluetooth
19
1.1 Bluetooth là gì?
19
1.2 Tại sao có tên Bluetooth?
19
1.3 Lịch sử phát triển của Bluetooth
19
Chương
2
: Các
tầng
giao
thức
của
Bluetooth
21
2.1 Bluetooth Radio
22
2.2 Baseband
23
2.2.1 Network topology
23
2.2.2 Liên kết SCO và ACL
25
2.2.3 Địa chỉ thiết bị
25
2.2.4 Định dạng gói tin
26
2.2.5 Quản lý trạng thái
26
2.2.6 Thiết lập kết nối
27
2.2.7 Các chế độ kết nối:
28
2.2.8 Những chức năng khác của Baseband
28
2.3 Link Manager Protocol
29
2.4 Host Controller Interface
29
2.4.1 Những thành phần chức năng của HCI
29
2.4.2 Các lệnh HCI
31
2.4.3 Các sự kiện, mã lỗi, luồng dữ liệu HCI
31
2.4.4 Host Controller Transport Layer
32
2.5 Logical link control and adaption protocol (L2CAP)
32
2.5.1 Những yêu cầu chức năng của L2CAP
33
2.5.2 Những đặc điểm khác của L2CAP
33
2.6 RFCOMM Protocol
34
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
2.7 Service Discovery Protocol
34
2.7.1 Thiết lập giao thức SDP
35
2.7.2 Các dịch vụ SDP
36
2.7.3 Tìm kiếm dịch vụ
36
2.7.4 Data element
37
Chương
3
: Ưu
điểm
và
khuyết
điểm
của
Bluetooth
38
3.1 Ưu điểm
38
3.2 Khuyết điểm
38
3.3 So sánh Bluetooth với một số công nghệ không dây khác
39
3.3.1 Bluetooth và WiFi
39
3.3.2 Bluetooth và Hồng ngoại
42
Chương
4
: Tầm
ứng
dụng
và
tương
lai
của
Bluetooth
45
4.1 Tầm ứng dụng
45
4.1.1 Thiết bị thông minh
45
4.1.2 Thiết bị truyền thanh:
46
4.1.3 Thiết bị truyền dữ liệu
47
4.1.4 Các ứng dụng nhúng
49
4.1.5 Một số ứng dụng khác
50
4.2 Tương lai của Bluetooth
51
4.2.1 Bluetooth sẽ thay thế cái gì?
51
4.2.2 Chính phủ bảo trợ Bluetooth ?
52
4.2.3 Bluetooth là một công nghệ mở hay độc quyền
52
4.2.4 Ai sẽ hưởng lợi từ Bluetooth ?
53
4.2.5 Tương lai của Bluetooth
54
PHẦN
II.
SYMBIAN
56
Chương
5
: Tổng
quan
về
hệ
điều
hành
Symbian
và
Series
60
57
5.1 Khái niệm về Symbian
57
5.2 Lịch sử phát triển của Symbian
57
5.3 Kiến trúc của hệ điều hành Symbian
59
5.3.1 Symbian OS kernel
60
5.3.2 Middleware
60
5.3.3 Application Engine
60
5.3.4 User Interface
framework
61
5.3.5 Synchronization technology
61
5.3.6 Java vitual machine implementation
61
5.4 Giới thiệu Series 60
61
Chương
6
: Một
số
vấn
đề
khi
xây
dựng
ứng
dụng
trên
Symbian 65
6.1 C++ trên Symbian
65
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
6.1.1 Các kiểu dữ liệu
65
6.1.2 Các qui ước đặt tên
67
6.2 Quản lý bộ nhớ
71
6.2.1 Các vấn đề về bộ nhớ cần biết khi lập trình trên các thiết bị di độn
g 72
6.2.2 Cách quản lý, hạn chế lỗi “out of memory”
73
6.2.3 Bài học cần nhớ
80
Chương
7
: Lập
trình
giao
tiếp
Bluetooth
trên
Symbian 82
7.1 Tổng quan về Bluetooth API
82
7.1.1 Phân nhóm các hàm Bluetooth API
84
7.1.2 Quan hệ giữa các nhóm Bluetooth API
84
7.2 Bluetooth socket
85
7.2.1 Mở và cấu hình Bluetooth socket
86
7.2.2 Xây dựng Bluetooth server socket
89
7.2.3 Xây dựng Bluetooth client socket
93
7.2.4 Trao đổi dữ liệu thông qua Bluetooth socket
95
7.3 Một số định nghĩa thông dụng liên quan đến Service Discovery Protoc
ol
(SDP)
97
7.4 Bluetooth Service Discovery Database
98
7.5 Bluetooth Service Discovery Agent
105
7.6 Bluetooth Security Manager
108
7.7 Bluetooth Device Selection UI
111
7.8 Cấu hình phần cứng Bluetooth cho máy ảo:
115
7.8.1 Sự khác nhau giữa Bluetooth của máy ảo và thiết bị thật
116
7.8.2 Cài đặt và cấu hình thiết bị Bluetooth
117
PHẦN
III.
ỨNG
DỤNG
MINH
HỌA
119
Chương
8
: Phân
tích
và
thiết
kế
ứng
dụng
điều
khiển
máy
tính
từ
xa
120
8.1 Khảo sát hiện trạng
120
8.2 Phân tích và xác định yêu cầu
121
8.3 Xây dựng mô hình Use-case
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
122
8.3.1 Xác định Actor và Use case
122
8.3.2 Mô hình Use-
case
125
8.4 Đặc tả Use case
129
8.4.1 Connect
129
8.4.2 Turn off
130
8.4.3 Control Mouse
130
8.4.4 Control Media Player
133
8.4.5 Control Power point
140
8.4.6 Sleep, Wakeup
142
8.4.7 Shortcut Key
143
8.5 Thiết kế lớp
145
8.5.1 Thiết kế lớp trên client
145
8.5.2 Thiết kế lớp trên server
147
8.6 Xây dựng client, server và thiết kế truyền, nhận dữ liệu
148
8.6.1 Server side
150
8.6.2 Client side
151
8.6.3 Gởi và nhận dữ liệu
154
8.7 Lưu đồ hoạt động
155
8.7.1 Connect
155
8.7.2 Turn off
156
8.7.3 Control Mouse
157
8.7.4 Control Media Player
163
8.7.5 Control Powerpoint
179
8.7.6 Sleep, Wakeup
183
8.7.7 Shortcutkey
183
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
8.8 Thiết kế màn hình
185
8.8.1 Thiết kế màn hình trên client
185
8.8.2 Thiết kế màn hình trên server
196
Chương
9
: Cài
đặt
và
thử
nghiệm 200
9.1 Cài đặt
200
9.2 Thử nghiệm
200
Chương
10
: Tổng
kết 203
10.1 Kết luận
203
10.1.1 Kết quả đạt được
203
10.1.2 Hạn chế
203
10.2 Hướng phát triển
204
Phụ
lục
A:
Hướng
dẫn
sử
dụng
chương
trình
205
Phụ
lục
B:
Hướng
dẫn
sử
dụng
emulator
cho
Series
60
214
Tài
liệu
tham
khảo
221
0Danh sách hình
Danh
sách
hình
Hình 2-1 Chồng giao thức của Bluetooth 21
Hình 2-2 Frequency hopping 22
Hình 2-3 Piconet 24
Hình 2-4 Scatternet 25
Hình 2-5 Định dạng gói tin Bluetooth 26
Hình 2-6 Host Controller Interface 30
Hình 2-7 Host controller transport layer
31
Hình 4-3 Các thiết bị truyền thanh 46
Hình 4-5 Thiết bị truyền dữ liệu 47
Hình 4-6 Adsl Router
48
Hình 4-8 Các ứng dụng nhúng
50
Hình 4-9 Quản lý phòng ban 51
Hình 5-1 Kiến trúc hệ điều hành Symbian 59
Hình 5-2 Một số công nghệ được hỗ trợ trên Series 60 63
Hình 5-3 Màn hình của Series 60 63
Hình 5-4 Bàn phím của Series 60 64
Hình 7-1 Bluetooth protocol 83
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN
Hình 7-2 Quan hệ giữa các nhóm Bluetooth API 85
Hình 7-3 Bluetooth socket 87
Hình 7-4 Thiết lập server socket
89
Hình 7-6 Sequence diagram xây dựng server socket 91
Hình 7-7 Sequence diagram xây dựng client socket 94
Hình 7-8 Sequence diagram quảng bá dịch vụ 103
Hình 7-9 Sự khác biệt giữa chồng giao thức Bluetooth trên thiết bị thật và trên
máy ảo 116
Hình 7-10 Bluetooth virtual COM port trên máy tính 117
Hình 7-11 Cấu hình Bluetooth COM port cho máy ảo 118
Hình 8-1 Mô hình Use-case tổng quát 125
Hình 8-2 Mô hình Use-case Control Mouse 126
12
0Danh sách hình
Hình 8-3 Mô hình Use-case Control Media player 127
Hình 8-4 Mô hình Use-case Control PowerPoint 127
Hình 8-5 Mô hình Use-case SleepWakeUpShortcutKey 128
Hình 8-6 Sơ đồ lớp của Client 145
Hình 8-7 Sơ đồ lớp của Server 147
Hình 8-8 Sequence diagram Qui trình kết nối 149
Hình 8-9 Sequence diagram Tìm thiết bị
151
Hình 8-10 Sequence diagram Truy vấn dịch vụ 152
Hình 8-11 Sequence diagram Gởi và nhận dữ liệu
154
Hình 8-12 Sequence diagram Connect 155
Hình 8-13 Collaboration diagram Connect 156
Hình 8-14 Sequence diagram Use case Restart 156
Hình 8-15 Collaboration diagram Restart 157
Hình 8-16 Sequence diagram Mouse on
157
Hình 8-17 Collaboration diagram Mouse on 158
K
H
O
A
C
N
TT
–
Đ
H
K
H
TN