KHOA CNTT – ĐH KHTN 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
GIÁO VIÊN HƯỚNG DẪN
Th.S ĐỖ HOÀNG CƯỜNG
NIÊN KHÓA 2000 – 2004 KHOA CNTT – ĐH KHTN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
.................................................................................................................................. KHOA CNTT – ĐH KHTN
KHOA CNTT – ĐH KHTN
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 game, 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
đ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 (tivi, đầ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ợ giú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, hoặ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
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ươ
ng 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ính 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ó thể đ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
• 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 thao 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 quan 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ầng giao
thức, đặc điểm kĩ thuật và cách thức hoạt động của Bluetooth.
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.
KHOA CNTT – ĐH KHTN MỤC LỤC
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
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
KHOA CNTT – ĐH KHTN
2.6 RFCOMM Protocol.........................................................................................34
2.7 Service Discovery Protocol.............................................................................34
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
Một số vấn đề khi xây dựng ứng dụng trên Symbian................65
6.1 C++ trên Symbian ...........................................................................................65
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 động......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.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 .........................................................................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
KHOA CNTT – ĐH KHTN
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
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
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 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 KHOA CNTT – ĐH KHTN
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-25 Collaboration diagram ControlWinamp........................................ 165
Hình 8-26 Sequence diagram Browse............................................................. 166
Hình 8-27 Collaboration diagram Browse...................................................... 167
Hình 8-28 Sequence diagram AddToPlayList................................................ 168
Hình 8-29 Collaboration diagram AddToPlayList ......................................... 169
Hình 8-30 Sequence diagram RefreshFileList................................................ 170
Hình 8-31 Collaboration diagram RefreshFileList ......................................... 171
Hình 8-32 Sequence diagram Open ................................................................ 172
Hình 8-33 Collaboration diagram Open ......................................................... 173
13 KHOA CNTT – ĐH KHTN
Hình 8-48 Màn hình Control........................................................................... 192
Hình 8-49 Màn hình Playlist........................................................................... 193
Hình 8-50 Màn hình thiết lập tốc độ chuột..................................................... 195
Hình 8-51 Màn hình Server ............................................................................ 196
Hình A-1 Connect vào PC .............................................................................. 205
Hình A-2 Chọn thiết bị muốn kết nối ............................................................. 205
Hình A-3 Sử dụng menu chính ....................................................................... 206
Hình A-4 Khởi chạy Powerpoint lần đầu........................................................ 207
Hình A-5 Chức năng refresh list..................................................................... 207
Hình A-6 Browse tập tin của Winamp / Windows Media Player................... 208
Hình A-7 Điểu khiển Winamp........................................................................ 209
Hình A-8 Thao tác với playlist ....................................................................... 210
Hình A-9 Hướng dẫn sử dụng màn hình chính của server ............................. 211
Hình A-10 Hướng dẫn sử dụng “Files to browse”.......................................... 211
Hình A-11 Hướng dẫn sử dụng COM port ..................................................... 212
Hình B-6 Thực thi một project........................................................................ 218
Hình B-7 Chọn ứng dụng................................................................................ 219
Hình B-8 Thực thi ứng dụng........................................................................... 22015 KHOA CNTT – ĐH KHTN
0Danh sách bảng Danh sách bảng
Bảng 3-1 So sánh giữa Wi-fi và Bluetooth....................................................... 42
Bảng 3-2 So sánh giữa Hồng ngoại và Bluetooth............................................. 44
Bảng 6-1 Các kiểu dữ liệu cơ bản trên Symbian .............................................. 66
Bảng 6-2 Qui ước đặt tên lớp............................................................................ 69
Bảng 8-1 Xác định yêu cầu............................................................................. 121
Bảng 8-2 Mô tả chức năng những lớp của Client ........................................... 147
Bảng 8-3 Mô tả chức năng những lớp của Server .......................................... 148
Bảng 8-4 Mô tả các hàm tìm thiết bị............................................................... 151
Bảng 8-5 Mô tả các hàm truy vấn dịch vụ...................................................... 153
Bảng 8-6 Mô tả các hàm gởi và nhận dữ liệu ................................................. 154
Bảng 8-7: Menu màn hình chính .................................................................... 185
Bảng 8-8 Menu màn hình chính sau khi connect............................................ 186
Bảng 8-9 Menu Programs ............................................................................... 186
Bảng 8-10 Menu Mouse.................................................................................. 187
16 KHOA CNTT – ĐH KHTN KHOA CNTT – ĐH KHTN
0PHẦN I. BLUETOOTH PHẦN I. BLUETOOTH
Chương 1: Tổng quan về công nghệ Bluetooth
Chương 2: Các tầng giao thức của Bluetooth
Chương 3: Ưu điểm và khuyết điểm của Bluetooth
Chương 4: Tầm ứng dụng và tương lai của Bluetooth
18 KHOA CNTT – ĐH KHTN
• Năm 2000: SIG bổ sung thêm 4 thành viên mới là: 3Com, Lucent
Technologies, Microsoft và Motorola. Sản phẩm Bluetooth đầu tiên
19 KHOA CNTT – ĐH KHTN
Chương 1 :Tổng quan về công nghệ Bluetooth
được tung ra thị trường, từ đó các thế hệ sản phẩm Bluetooth liên tục
ra đời. Công nghệ không dây Bluetooth đã trở thành một trong những
công nghệ phát triển nhanh nhất của thời đại.
• Năm 2001: Bluetooth 1.1 ra đời cùng với bộ Bluetooth software
development kit-XTNDAccess Blue SDK
,
đánh dấu bước phát triển
chưa từng có của công nghệ Bluetooth trên nhiều lĩnh vực khác nhau
với sự quan tâm của nhiều nhà sản xuất mới. Bluetooth được bình
chọn là công nghệ vô tuyến hay nhất của năm.
• Tháng 7/2002, Bluetooth SIG thiết lập cơ quan đầu não toàn cầu tại
Overland Park, Kansas, USA. Năm 2002 đánh dấu sự đời các thế hệ
máy tính Apple hỗ trợ Bluetooth. Sau đó không lâu Bluetooth cũng
được thiết lập trên máy Macintosh v
ới hệ điều hành Mac OS X.
Chương 2 : Các tầng giao thức của
Bluetooth
Các tầng giao thức của Bluetooth mô tả công nghệ Bluetooth làm việc
thế nào và những đặc điểm kĩ thuật của Bluetooth. Nó cung cấp những thông
tin cần thiết để tạo ra những sản phẩm dùng công nghệ bluetooth. Tuy nhiên
đặc tả không chỉ rõ những phần cứng, phần mềm cụ thể cũng như không mô tả
một phương pháp chính xác để xây dựng được sản phẩm.
Đặc tả Bluetooth do SIG phát triển và nội dung củ
a nó lên đến hàng
ngàn trang (có thể coi thêm tại
) . Ở đây chúng
em xin giới thiệu một cách khái quát đặc tả của Bluetooth bao gồm chồng giao
thức (protocol stack) và mối quan hệ giữa các tầng của nó.
Chồng giao thức của Bluetooth:
Hình 2-1 Chồng giao thức của Bluetooth
Sau đây là từng thành phần của chồng giao thức
21 KHOA CNTT – ĐH KHTN
Chương 2 :Các tầng giao thức của Bluetooth
Chương 2 :Các tầng giao thức của Bluetooth
• Mức năng lượng 2 (2.5mW): Cho những thiết bị có phạm vi hoạt
động thông thường (~10m)
• Mức năng lượng 3 (1mW): Cho những thiết bị có phạm vi hoạt động
ngắn (~10cm)
Những thiết bị có khả năng điều khiển mức năng lượng có thể tối ưu hóa
năng lượng bằng cách dùng những lệnh LMP (Link Manager Protocol).
2.2 Baseband
Baseband protocol nằm ở tầng vật lý của Bluetooth. Nó quản lý những
kênh truyền và liên kết vật lý tách biệt khỏi những dịch vụ khác như sửa lỗi,
chọn bước nhảy và bảo mật. Tầng Baseband nằm bên trên tầng radio trong
chồng giao thức của Bluetooth. Baseband protocol được cài đặt như là một
Link Controller. Nó cùng với Link Manager thực hiện những công việc ở mức
thấp như kết nối, quản lý năng lượng. Tầ
ng Baseband cũng quản lý những kết
nối đồng bộ và không đồng bộ, quản lý các gói tin, thực hiện tìm kiếm và yêu
cầu kết nối đến các thiết bị Bluetooth khác.
2.2.1 Network topology
Hai hoặc nhiều thiết bị kết nối với nhau tạo thành một piconet. Các thiết
bị kết nối theo kiểu ad-hoc nghĩa là kiểu mạng được thiết lập chỉ cho nhu cầu
truyền dữ liệu hiệ
n hành và tức thời, sau khi dữ liệu truyền xong, mạng sẽ tự
hủy. Trong một piconet, một thiết bị đóng vai trò là Master (thường là thiết bị
đầu tiên tạo kết nối), các thiết bị sau đó đóng vai trò là Slave. Một piconet chỉ
có duy nhất 1 Master, Master thiết lập đồng hồ đếm xung để đồng bộ các thiết
bị trong cùng piconet mà nó đóng vai trò là Master. Master cũng quyết định số