Tải bản đầy đủ (.docx) (305 trang)

Xây dựng hệ thống điều khiển máy tính từ xa sử dụng công nghệ bluetooth

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.06 MB, 305 trang )

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


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

LỜI

NÓI

ĐẦU
Hiện

nay,

công

nghệ

thông

tin


đang

phát

triển

mạnh

mẽ



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



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



những ưu,

khuyết điểm riêng

của

nó,


trong

đó

nổi

bật

lên



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



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




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



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



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



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



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



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




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



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



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



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



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



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



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

×