Nội dung đồ án được trình bày trong 3 chương: Chương 1: Tổng quan về các hệ thống điều khiển từ xa Chương 2: Hệ điều hành Android và dịch vụ Google voice Chương 3: Thiết kế, chế tạo mô h
Trang 1TRƯỜNG ĐẠI HỌC VINH KHOA ĐIỆN TỬ VIỄN THÔNG
-ĐỒ ÁN TỐT NGHIỆP Đ
Ề TÀI:
NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO MÔ HÌNH
ROBOT ĐIỀU KHIỂN TỪ XA BẰNG GIỌNG NÓI
Giáo viên hướng dẫn: ThS Lê Văn Chương Sinh viên thực hiện: Phan Hữu Lâm
Nghệ An, 2016
Trang 2LỜI CẢM ƠN
Em xin gửi lời cảm ơn sâu sắc tới thầy giáo ThS Lê Văn Chương đã tận tìnhhướng dẫn và định hướng cho em trong thời gian nghiên cứu và hoàn thành đề tàinày một cách tốt nhất
Em xin chân thành cảm ơn các thầy cô giáo trong khoa Điện Tử Viễn Thông
đã nhiệt tình, tận tụy dạy dỗ, cung cấp cho em những kiến thức nền vững chắc trongsuốt 5 năm học qua
Thời gian thực hiện đồ án có hạn nên mặc dù em đã cố gắng để hoàn thành đồ
án một cách tốt nhất nhưng vẫn không tránh khỏi những thiếu sót Kính mong cácthầy cô trong khoa tận tình chỉ bảo và góp ý kiến để đồ án này được hoàn thiện hơn.Cuối cùng, em xin kính chúc quý thầy, cô sức khỏe và thành công nhiều hơnnữa trong sự nghiệp giáo dục cao quý
Em xin chân thành cảm ơn!
Trang 3MỤC LỤCTÓM TẮT ĐỀ TÀI 3
DANH SÁCH HÌNH VẼ 5
DANH SÁCH CÁC BẢNG BIỂU7
DANH SÁCH CÁC TỪ VIẾT TẮT 8
CHƯƠNG 1 TỔNG QUAN VỀ CÁC HỆ THỐNG ĐIỀU KHIỂN TỪ XA 9
1.1 GIỚI THIỆU VỀ HỆ THỐNG ĐIỀU KHIỂN TỪ XA 9
1.1.1 Một số vấn đề cơ bản trong hệ thống điều khiển từ xa 9
1.1.2 Phương pháp mã hóa trong điều khiển từ xa 10
1.2 MỘT SỐ PHƯƠNG PHÁP ĐIỀU KHIỂN TỪ XA10
1.2.1 Điều khiển từ xa bằng tia hồng ngoại 10
1.2.2 Điều khiển từ xa bằng Bluetooth 12
1.2.3 Điều khiển từ xa bằng wifi 13
1.2.4 Điều khiển từ xa bằng sóng vô tuyến 14
1.3 ĐIỀU KHIỂN TỪ XA BẰNG BLUETOOTH 15
1.3.1 Công nghệ truyền thông không dây Bluetooth 15
1.3.2 Các vấn đề bảo mật trong công nghệ Bluetooth 17
1.3.3 Các khái niệm trong công nghệ Bluetooth 18
1.3.4 Định nghĩa các liên kết vật lý trong bluetooth 20
1.3.5 Trạng thái của thiết bị Bluetooth 21
1.3.6 Các trạng thái kết nối 21
1.3.7 Kỹ thuật trải phổ nhảy tần số trong công nghệ bluetooth 22
1.3.8 Cách thức hoạt động của Bluetooth 25
CHƯƠNG 2 HỆ ĐIỀU HÀNH ANDROID VÀ DỊCH VỤ GOOGLE VOICE
2.1.4 Kiến trúc hệ điều hành android32
2.1.5 Chu kỳ ứng dụng trên android 35
Trang 42.2 DỊCH VỤ GOOGLE VOICE 39
2.2.1 Giới thiệu 39
2.2.2 Một số ví dụ trong thế giới công nghệ 41
2.2.3 Cách thức xây dựng dịch vụ và nhận dạng, điều khiển giọng nói 422.2.4 Mô hình triển khai công nghệ giọng nói 43
CHƯƠNG 3 THIẾT KẾ, CHẾ TẠO MÔ HÌNH ROBOT ĐIỀU KHIỂN TỪ XA
3.1 PHÂN TÍCH VÀ XÁC ĐỊNH YÊU CẦU THIẾT KẾ 45
3.2 THIẾT KẾ MÔ HÌNH ROBOT 45
Trang 5TÓM TẮT ĐỀ TÀI
Đồ án nghiên cứu về hệ thống điều khiển từ xa bằng Bluetooth, các kiến thức
cơ bản về board mạch Arduino để thiết kế, chế tạo mô hình Robot Nghiên cứu về
hệ điều hành android để từ đó thiết kế phần mềm điều khiển bằng giọng nói trênsmartphone ứng dụng vào điều khiển mô hình Robot từ xa bằng giọng nói thôngqua kết nối Bluetooth
ABSTRACT
The thesis research about the Bluetooth remote control system, the basicsknowledge of Arduino circuit for designing and manufacturing the Robot model.Researching about the android operating system in order to design remote controlsoftware by voice on smartphone applying to Robot model remote controll by voicevia Bluetooth
Trang 6MỞ ĐẦU
Ngày nay, các hệ thống Robot đóng một vai trò quan trọng trong việc pháttriển và sự tiến bộ của khoa học kỹ thuật công nghệ Robot đã được ứng dụng rộngrãi trong quân sự, công nghiệp và nông nghiệp để thay thế con người làm việc trongnhững môi trường độc hại, nguy hiểm
Bên cạnh đó, hiện nay các công nghệ nhận dạng giọng nói đang phát triểnmạnh mẽ và ứng dụng rộng rãi như Google voice, Via voice,… thì việc điều khiển
từ xa bằng giọng nói sẽ được ứng dụng nhiều trong cuộc sống Xuất phát từ những
nhận định trên nên em đã chọn đề tài “Nghiên cứu, thiết kế, chế tạo mô hình Robot điều khiển từ xa bằng giọng nói” làm đồ án tốt nghiệp.
Nội dung đồ án được trình bày trong 3 chương:
Chương 1: Tổng quan về các hệ thống điều khiển từ xa
Chương 2: Hệ điều hành Android và dịch vụ Google voice
Chương 3: Thiết kế, chế tạo mô hình Robot điều khiển từ xa bằng giọng nói Mặc dù có nhiều cố gắng, tuy nhiên do thời gian và điều kiện thực hiện cònnhiều hạn chế nên đồ án không tránh khỏi những sai sót trong cách trình bày cũngnhư phần thể hiện rất mong thầy, cô và các bạn góp ý và bổ sung thêm để đồ ánhoàn thiện hơn nữa
Em xin chân thành cảm ơn!
Nghệ an, ngày 23 tháng 05 năm 2016
Sinh viên thực hiện
Phan Hữu Lâm
Trang 7DANH SÁCH HÌNH VẼ
Hình 1.1 Sơ đồ kết cấu hệ thống điều khiển từ xa 9
Hình 1.2 Tv sử dụng điều khiển bằng hồng ngoại 11
Hình 1.3 Module thu phát hồng ngoại 11
Hình 1.4 Chụp ảnh từ xa trên điện thoại bằng điều khiển qua bluetooth 12
Hình 1.5 Điều khiển Robot bằng điện thoại qua Bluetooth 13
Hình 1.6 Các thiết bị trong gia đình điều khiển qua wifi 14
Hình 1.7 Bộ điều khiển sóng RF một thiết bị 14
Hình 1.8 Kiến trúc piconet trong Bluetooth 19
Hình 1.9 Một Scatternet gồm 2 Piconet 20
Hình 1.10 Kỹ thuật trải phổ nhảy tần số 22
Hình 1.11 Các packet truyền trên các tần số khác nhau 23
Hình 1.12 Các packet truyền trên khe thời gian 23
Hình 1.13 Cấu trúc gói tin Bluetooth 24
Hình 1.14 Cấu tạo một packet 24
Hình 1.15 Mô hình Piconet 26
Hình 1.16 Quá trình truy vấn tạo kết nối 27
Hình 1.17 Quá trình truy vấn tạo kết nối 27
Hình 1.18 Truy vấn tạo kết nối giữa các thiết bị trong thực tế 27
Hình 1.19 Ví dụ về mô hình satternet 28
Hình 2.1 Logo android 29
Hình 2.2 Android timeline 29
Hình 2.3 Mô hình kiến trúc nền tảng hệ điều hành Android 32
Hình 2.4 Mô hình hợp tác giữa máy ảo Dalvik và Navite code 34
Hình 2.5 Activity Stack 36
Hình 2.6 Chu kỳ sống của Activity 36
Hình 2.7 Hình ảnh về điện thoại sử dụng dịch vụ Google voice 40
Hình 3.1 Sơ đồ chức năng của hệ thống 45
Hình 3.2 Sơ đồ khối của robot 46
Hình 3.3 Board mạch Arduino Uno R3 46
Hình 3.4 Hình ảnh và sơ đồ chân ATMEGA328 48
Trang 8Hình 3.5 Sơ đồ khối của ATMEGA328 49
Hình 3.6 Sơ đồ chân của IC L298 50
Hình 3.7 Sơ đồ nguyên lý của IC L298 50
Hình 3.8 Module Bluetooth HC05 51
Hình 3.9 Sơ đồ thuật toán phần mềm trên android 52
Hình 3.10 Icon ứng dụng 53
Hình 3.11 Dò tìm thiết bị 53
Hình 3.12 Giao diện điều khiển 53
Hình 3.13 Sơ đồ thuật toán cho phần cứng 54
Hình 3.14 Mô hình Robot 54
Trang 9Bảng 3.3 Giá trị các motor tương ứng với các chức năng 49Hình 3.4 Đặc điểm kỹ thuật của module Bluetooth HC05 51
Trang 10DANH SÁCH CÁC TỪ VIẾT TẮT
ERD Enhanced data rate Tốc độ dữ liệu nâng cao
IOT Internet of things
PIN Persional identification Number Số nhận dạng cá nhân
MAC Media Access Control Kiểm soát truy cập phương tiệntruyền thôngAMA Active Member Address Thành viên địa chỉ
PMA Packed Member Address Đóng gói thành viên địa chỉACL Asynchronous connectionless Kết nối không đồng bộ
SCO Synchronous connection-oriented Kết nối đồng bộ có hướngFHSS Frequency Hopping Spectrum Kỹ thuật trải phổ nhảy tần số
FEC Forward Error Correction Sửa lỗi chuyển tiếp
BEC Backward Error Control Kiểm soát lỗi ngược
LMP Link Manament Protocol Giao thức quản lý liên kếtNLP Natural Language Processing Xử lý ngôn ngữ tựnhiên
PWM Pulse width modulation Điều chế độ rộng xung
Trang 11CHƯƠNG 1
TỔNG QUAN VỀ CÁC HỆ THỐNG ĐIỀU KHIỂN TỪ XA
1.1 GIỚI THIỆU VỀ HỆ THỐNG ĐIỀU KHIỂN TỪ XA
Hệ thống điều khiển từ xa là một hệ thống cho phép ta điều khiển các thiết bị
từ một khoảng cách xa Ví dụ hệ thống điều khiển bằng vô tuyến, hệ thống điềukhiển bằng tia hồng ngoại, hệ thống điều khiển từ xa bằng Bluetooth, hệ thống điềukhiển từ xa bằng cáp quang, dây dẫn
Sơ đồ kết cấu hệ thống điều khiển từ xa nói chung bao gồm:
- Thiết bị phát: Biến đổi lệnh điều khiển thành tin tức và phát đi, ở trong thiết
kế này em sử dụng thiết bị phát thiết bị phát là điện thoại Android
- Đường truyền: Đưa tín hiệu điều khiển từ thiết bị phát đến thiết bị thu Trongthiết kế em sử dụng Bluetooth
- Thiết bị thu: Nhận tín hiệu điều khiển từ đường truyền, qua quá trình biếnđồi, biến dịch để tái hiện lại lệnh điều khiển rồi đưa đến các thiết bị thi hành Trongthiết kế của em thì thiết bị thu là module Bluetooth HC05
Thiết bị phát Đường truyền Thiết bị thu
Hình 1.1 Sơ đồ kết cấu hệ thống điều khiển từ xa
Nhiệm vụ cơ bản của các hệ thống điều khiển từ xa:
- Phát tín hiệu điều khiển
- Sản sinh ra xung hoặc hình thành các xung cần thiết
- Tổ hợp xung thành mã
- Tổ hợp xung thành mã
- Ở điểm chấp hành (thiết bị thu) sau khi nhận được mã phải biến đổi các mãnhận được thành các lệnh điều khiển và đưa đến các thiết bị đồng thời kiểm tra sựchính xác của mã mới nhận
1.1.1 Một số vấn đề cơ bản trong hệ thống điều khiển từ xa
Do hệ thống điều khiển từ xa có những đường truyền dẫn xa nên ta phải
Trang 12nghiên cứu về kết cấu hệ thống để đảm bảo tín hiệu được truyền đi chính xác vànhanh chóng theo những yêu cầu sau:
1.1.1.1 Kết cấu tin tức
Trong hệ thống điều khiển từ xa độ tin cậy truyền dẫn tin tức có quan hệ nhiềuđến đến kết cấu tin tức Nội dung về kết cấu tin tức có hai phần: Về lượng và vềchất Về lượng là cách biến lượng điều khiển và lượng điều khiển thành loại xung gìcho phù hợp, và những xung đó cần áp dụng những phương pháp gì cho phù hợp, vànhững xung đó cần áp dụng những phương pháp nào để hợp thành tin tức, để códung lượng lớn nhất và tốc độ truyền nhanh nhất
1.1.1.2 Về kết cấu hệ thống
Để đảm bảo các yêu cầu về kết cấu tin tức, hệ thống điều khiển từ xa có cácyêu cầu sau:
- Tốc độ làm việc nhanh
- Kết cấu phải đơn giản
- Thiết bị phải an toàn, tin cậy
Hệ thống điều khiển từ xa có hiệu quả cao là hệ thống đạt tốc độ điều khiểncực đại, đồng thời đảm bảo độ chính xác trong phạm vi cho phép
1.1.2 Phương pháp mã hóa trong điều khiển từ xa
Trong hệ thống truyền thông tin rời rạc hoặc truyền thông tin liên tục nhưng
đã được rời rạc hóa tin tức thường phải được biến đổi thông qua một phép biến đổithành số (thường là nhị phân) rồi mã hóa và được phát đi từ thiết bị phát Ở thiết bịthu, các tín hiệu phải thông qua các phép biến đổi ngược lại với các phép biến đổitrên: giải mã, liên tục hóa,…
1.2 MỘT SỐ PHƯƠNG PHÁP ĐIỀU KHIỂN TỪ XA
1.2.1 Điều khiển từ xa bằng tia hồng ngoại
Hầu hết các thiết bị trong gia đình đều sử dụng loại điều khiển từ xa bằnghồng ngoại như tivi, điều hòa, quạt,…
- Tia hồng ngoại: Là ánh sáng không thể nhìn thấy được bằng mắt thường, tia
hồng ngoại có vận tốc truyền bằng vận tốc ánh sáng Tia hồng ngoại có thể truyền
đi được nhiều kênh tín hiệu Nó ứng dụng rộng rãi trong công nghiệp Lượng thôngtin có thể đạt được tới 3Mbit/s
Trang 13Hình 1.2 Tv sử dụng điều khiển bằng hồng ngoại
Nguồn phát hồng ngoại: Các nguồn sáng nhân tạo như Diode, laser, đèn huỳnhquang, photodiode Linh kiện thu sóng hồng ngoại: Quang điện trở, phototransistor,photodiode
Hình 1.3 Module thu phát hồng ngoại
- Nguyên lý cơ bản của loại điều khiển từ xa này là sử dụng ánh sáng hồngngoại của quang phổ điện từ mà mắt thường không thấy được để chuyển tín hiệuđến thiết bị cần điều khiển Nó đóng vai trò như một bộ phát tín hiệu, sẽ phát ra cácxung ánh sáng hồng ngoại mang một mã số nhị phân cụ thể Khi ta ấn một nút phíabên ngoài thì sẽ vận hành một chuỗi các hoạt động khiến các thiết bị cần điều khiển
sẽ thực hiện lệnh của nút bấm đó.
Trang 14- Ưu điểm và nhược điểm của phương pháp điều khiển từ xa bằng tiahồng ngoại:
- Ưu điểm:
+ Không dây dẫn
+ Led phát và thu nhỏ gọn, dễ thiết kế lắp đặt và có độ tin cậy cao
+ Áp cung cấp thấp, công suất tiêu tán nhỏ
+ Điều khiển được nhiều thiết bị
+ Tính khả thi cao, linh kiện dễ tìm thấy và thi công dễ
- Nhược điểm:
+ Tầm xa bị hạn chế
+ Dòng điện cao tức thời
+ Nhiều hồng ngoại do các nguồn nhiệt xung quanh ta phát ra, nên có ảnhhưởng và hạn chế tầm phát Do đó chỉ dùng trong phòng, kho và nơi ít bị ảnh hưởngcủa nhiệt độ môi trường
+ Hạn chế khi bị vật cản nên không thể truyền được xa
1.2.2 Điều khiển từ xa bằng Bluetooth
Công nghệ Bluetooth đã được ứng dụng vào điều khiển các thiết bị và đangphổ biến rộng rãi Hầu hết các thiết bị thông minh đều tích hợp công nghệ Bluetoothvào để có thể trao đổi dữ liệu, điều khiển từ xa,…
Hình 1.4 Chụp ảnh từ xa trên điện thoại bằng điều khiển qua bluetooth
Trang 15Hình 1.5 Điều khiển Robot bằng điện thoại qua Bluetooth
Một số ưu điểm và nhược điểm của điều khiển từ xa bằng bluetooth:
- Ưu điểm
+ Tiêu thụ năng lượng thấp
+ Cho phép ứng dụng được nhiều loại thiết bị cầm tay và điện thoại di động+ Giá thành ngày một giảm
+ Khoảng cách giao tiếp cho phép giữa 2 thiết bị kết nối có thể lên đến 100m+ Sử dụng băng tần 2.4GHz, tốc độ truyền dữ liệu có thể đạt tới 1Mbps mà cácthiết bị không cần phải trực tiếp thấy nhau
+ Tính tương thích cao và được nhiều nhà sản xuất phần cứng cũng như phầnmềm hỗ trợ
- Nhược điểm
+ Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác.+ Chỉ kết nối được 2 thiết bị với nhau, không kết nối được thành mạng
1.2.3 Điều khiển từ xa bằng wifi
Trong những năm gần đây công nghệ truyền nhận dữ liệu không dây đang cónhững bước phát triển mạnh mẽ, góp công lớn trong việc phát triển các hệ thốngđiều khiển, giám sát từ xa, đặc biệt là các hệ thống thông minh Hiện nay, có khánhiều công nghệ không truyền nhận dữ liệu không dây như RF, Wifi, Bluetooth,NFC,…Trong đó, Wifi là một trong những công nghệ được phát triển rất nhanhchóng và mạnh mẽ trong các hệ thống thông minh
Trang 16Vì vậy việc điều khiển từ xa bằng wifi sẽ được phát triển nhanh chóng và được
sử dụng rộng rãi trong tương lai
Hình 1.6 Các thiết bị trong gia đình điều khiển qua wifi
Một số ưu điểm của điều khiển từ xa bằng wifi:
- Ưu điểm
+ Điều khiển khoảng cách xa
+ Có thể điều khiển được nhiều thiết bị một lúc
+ Cho phép ứng dụng được nhiều loại thiết bị cầm tay và điện thoại di động+ Giá thành rẻ
+ Tính tương thích cao và được nhiều nhà sản xuất phần cứng cũng như phầnmềm hỗ trợ
1.2.4 Điều khiển từ xa bằng sóng vô tuyến
Hình 1.7 Bộ điều khiển sóng RF một thiết bị
Trang 17- Hệ thống điều khiển từ xa dùng sóng vô tuyến bao gồm máy phát và máythu Máy phát có nhiệm vụ phát ra lệnh điều khiển truyền ra môi trường dưới dạngsóng điện từ mang theo tin tức điều khiển Máy thu thu tín hiệu từ môi trường, xử lý
và đưa ra lệnh điều khiển đến mạch chấp hành Đặc điểm của hệ thống này là phảidùng Anten để bức xạ tín hiệu đối với máy phát và thu tín hiệu đối với máy thu
- Ưu điểm và nhược điểm của phương pháp điều khiển từ xa bằng sóng vô tuyến:
- Ưu điểm:
+ Truyền tín hiệu với khoảng cách xa
+ Không bị ảnh hưởng bởi vật cản
+Tầm phát rộng nhiều hướng khác nhau nên có thể điều khiển nhiều thiết bịcùng một lúc
- Nhược điểm:
+ Hệ thống phức tạp khi có thêm anten
+ Hay bị ảnh hưởng nhiễu gây méo hoặc sai tín hiệu
+ Mã hóa phức tạp hơn
1.3 ĐIỀU KHIỂN TỪ XA BẰNG BLUETOOTH
1.3.1 Công nghệ truyền thông không dây Bluetooth
1.3.1.1 Sự ra đời Bluetooth
Bluetooth hiện tại là công nghệ giao tiếp không dây phổ biến nhất trên cácthiết bị di động và có lẽ bạn cũng đã ít nhất một lần truyền nhận dữ liệu hay nghenhạc qua Bluetooth Gần một nghìn năm sau cái chết của vua Harald Bluetooth, vịvua người Thụy Điển đã thống nhất được các vùng đất tại bán đảo Scandinavia đểquy về một mối dưới triều đại Viking vào thế kỷ thứ 10, năm 1994 hãng công nghệThụy Điển, Ericsson, đã nảy ra cái tên Bluetooth cho công nghệ không dây mà họ
Trang 18đang phát triển với mong muốn rằng công nghệ này có thể thực hiện được sứ mệnh
“chuẩn hóa” và thống nhất các kết nối không dây giữa những nhà sản xuất thiết bịcầm tay Logo Bluetooth là sự kết hợp của 2 ký tự Rune cổ: (Hagall) và (Bjarkan)tương đương với 2 ký tự H và B trong chữ Latin là viết tắt của Harald Bluetooth.Sau đó, Bluetooth được liên minh Bluetooth SIG với các thành viên chính là nhữnghãng sản xuất phần cứng lớn nhất thời bấy giờ như Nokia, Ericsson, Intel, IBM,Toshiba… và công bố phiên bản đầu tiên vào năm 1998
Bluetooth
2.0+ERD
Là phiên bản nâng cấp sau Bluetooth 1.0 được nâng cấptốc độ truyền tải lên 2.1 Mbs cùng với chế độ truyền tảimới ERD (enhanced data rate) Phiên bản 2.1 được nângcấp về tốc độ truyền tải nhưng lại hạn chế trên thiết bị sửdụng do ERD chỉ là chế độ tùy chọn, một số nhà sản xuất
đã không đưa chế độ này vào sản phẩm của mình để giảmchi phí sản xuất
Bluetooth
2.1+ERD
Được nâng cấp từ Bluetooth 2.0 vào năm 2007 với thayđổi quan trọng như hiệu năng cao hơn, giảm điện năng tiêuthụ Phiên bản này được sử dụng trên các thiết bị như điệnthoại di động, laptop, tai nghe … Tuy nhiên, Bluetooth2.1 vẫn chưa cho người dùng truyền tải các tập tin có dunglượng lớn
Bluetooth
3.0+HS
Năm 2009 buetooth 3.0 ra đời với thay đổi lớn về tốc độtruyền tải, đạt 24Mbps ở phiên bản này các thiết bị có thểtương tác dễ dàng với nhau hơn, có thể tự dò tìm các thiết
bị ở gần
Bluetooth 4.0 Là sự kết hợp của các đời Bluetooth trước đó với nhau
Bluetooth 4.0 đạt tốc độ truyền tải lên đến 25Mbps, dễdàng ghép đôi các thiết bị với nhau, hiệu năng tiêu thụ
Trang 19Phiên bản Chi tiết
thấp Đây là chuẩn Bluetooth được sử dụng trên hầu hếtcác thiết bị hiện nay
Bluetooth 4.1 Là phiên bản mới nhất ra đời đầu năm 2014 với nhiều cải
tiến vượt bậc so với Bluetooth 4.0
Bluetooth 4.2
Bluetooth v4.2 được phát hành vào 02 tháng 12, năm
2014 Nó giới thiệu một số tính năng quan trọng cho IOT(internet of things) Một số tính năng, chẳng hạn như dữliệu chiều dài mở rộng, yêu cầu cập nhật phần cứng.Tuynhiên, một số phần cứng Bluetooth cũ có thể nhận đượcmột số tính năng Bluetooth v4.2, chẳng hạn như cập nhậtbảo mật thông qua firmware
1.3.2 Các vấn đề bảo mật trong công nghệ Bluetooth
1.3.2.1 Bảo mật
Khi sử dụng công nghệ Bluetooth, chắc hẳn mọi người ai cũng quan tâm đếnvấn đề bảo mật của nó Tùy thuộc vào cách nó được cấu hình mà công nghệBluetooth có thể khá an toàn, tuy nhiên nhiều thiết bị Bluetooth có số lượng ngắncác chữ số sử dụng trong mã PIN có thể gây nguy hiểm cho các thiết bị này Nếu ai
đó có thể phát hiện ra thiết bị Bluetooth của bạn, thì người này hoàn toàn có khảnăng gửi các tin nhắn không yêu cầu và lạm dụng dịch vụ Bluetooth hoặc xâm nhậphay sửa đổi dữ liệu của bạn Các virut hoặc các mã nguy hiểm khác cũng có thể lợidụng công nghệ này để làm hại thiết bị Nếu đã bị xâm nhập, dữ liệu của bạn có thể
sẽ bị sửa đổi, làm tổn hại hay bị đánh cắp hoặc mất
1.3.2.2 Phương pháp bảo vệ
Vô hiệu hóa Bluetooth khi không sử dụng chúng Trừ khi bạn kích hoạt việctruyền tải thông tin từ thiết bị này đến một thiết bị khác, nếu không bạn nên vô hiệuhóa công nghệ này để tránh những người không hợp lệ có thể xâm nhập
Sử dụng Bluetooth trong chế độ ẩn, khi kích hoạt Bluetooth hãy đặt nó trongtrạng thái “ không thể phát hiện “ Chế độ ẩn nhằm ngăn chặn các thiết bị khác nhận
ra thiết bị của bạn Điều này không ngăn cản bạn kết nối đến các thiết bị Bluetoothkhác Thậm chí cả hai cũng có thể nhận ra nhau để kết nối nếu chúng cùng trongchế độ ẩn
Trang 20Các thiết bị như điện thoại di động và tai nghe không dây cần phải đặt trongchế độ “ không phát hiện “ kết nối ban đầu thì chúng luôn nhận ra thiết bị kia màkhông cần tìm kiếm lại kết nối nữa cho lần tiếp theo.
Cẩn thận với những nơi sử dụng Bluetooth Cần phải quan tâm đến môi trườngkhi ghép đôi thiết bị của bạn hoặc hoạt động trong chế độ có thể phát hiện
Đánh giá các thiết lập bảo mật hầu hết các thiết bị đều có nhiều đặc tính giúptrang bị cần thiết cho bản thân, vô hiệu hóa bất kỳ tính năng hoặc các kết nối khôngcần thiết có thể Kiểm tra các thiết lập, thiết lập bảo mật đặc biệt và lựa chọn các tùychọn cần thiết đối với bạn mà không gây ra mức rủi ro cao
Khai thác triệt để các tùy chọn bảo mật Tìm hiểu kỹ các tùy chọn bảo mật màthiết bị Bluetooth của bạn có thể cung cấp, từ đó khai thác triệt để những tính năngtác dụng của chúng như sự mã hóa và thẩm định
1.3.3 Các khái niệm trong công nghệ Bluetooth
1.3.3.1 Master Unit
Là thiết bị duy nhất trong 1 Piconet, Master thiết lập đồng hồ đếm xung vàkiểu bước nhảy (hopping) để đồng bộ tất cả các thiết bị trong cùng piconet mà nóđang quản lý, thường là thiết bị đầu tiên chuyển đổi dữ liệu Master cũng quyết định
số kênh truyền thông Mỗi Piconet có một kiểu hopping duy nhất
1.3.3.2 Slaver Unit
Là tất cả các thiết bị còn lại trong piconet, một thiết bị không là Master thìphải là Slave Tối đa 7 Slave dạng Active và 255 Slave dạng Parked (Inactive) trong
1 Piconet Có 3 dạng Slave trong một Piconet:
- Active: Slave hoạt động, có khả năng trao đổi thông tin với Master và cácSlave Active khác trong Piconet Các thiết bị ở trạng thái này được phân biệt thông
qua 1 địa chỉ MAC (Media Access Control) hay AMA (Active Member Address )
-đó là con số gồm 3 bit Nên trong 1 Piconet có tối đa 8 thiết bị ở trang thái này (1cho Master và 7 cho Slave)
- Standby: Standby là một dạng inactive, thiết bị trong trạng thái này khôngtrao đổi dữ liệu, sóng radio không có tác động lên, công suất giảm đến tối thiểu đểtiết kiệm năng lượng, thiết bị không có khả năng dò được bất cứ mã truy cập nào
Có thể coi là những thiết bị trong nằm ngoài vùng kiểm soát của Master
Trang 21- Parked: Là một dạng inactive, chỉ 1 thiết bị trong 1 Piconet thường xuyênđược đồng bộ với Piconet, nhưng không có 1 địa chỉ MAC Chúng như ở trạng thái
"ngủ" và sẽ được Master gọi dậy bằng tín hiệu "beacon" (tín hiệu báo hiệu) Cácthiết bị ở trạng thái Packed được đánh địa chỉ thông qua địa chỉ PMA (PackedMember Address) Đây là con số 8 bits để phân biệt các packed Slave với nhau và
có tối đa 255 thiết bị ở trạng thái này trong 1 Piconet
1.3.3.3 Piconet
Picotnet là tập hợp các thiết bị được kết nối thông qua kỹ thuật Bluetooth theo
mô hình Ad-Hoc (đây là kiểu mạng được thiết lập cho nhu cầu truyền dữ liệu hiệnhành và tức thời, tốc độ nhanh và kết nối sẽ tự động huỷ sau khi truyền xong).Trong 1 Piconet thì chỉ có 1 thiết bị là Master Đây thường là thiết bị đầu tiên tạokết nối, nó có vai trò quyết định số kênh truyền thông và thực hiện đồng bộ giữa cácthành phần trong Piconet, các thiết bị còn lại là Slave Đó là các thiết bị gửi yêu cầuđến Master Lưu ý rằng, 2 Slave muốn thực hiện liên lạc phải thông qua Master bởichúng không bao giờ kết nối trực tiếp được với nhau, Master sẽ đồng bộ các Slave
về thời gian và tần số Trong 1 Piconet có tối đa 7 Slave đang hoạt động tại 1 thờiđiểm
Minh hoạ một Piconet gồm nhiều Slave:
Hình 1.8 Kiến trúc piconet trong Bluetooth
1.3.3.4 Scatternet
Là 2 hay nhiều Piconet độc lập và không đồng bộ, các Piconet này kết hợp lạitruyền thông với nhau
Trang 22Một thiết bị có thể vừa là Master của Piconet này, vừa là Slave của Piconetkhác Vai trò của 1 thiết bị trong Piconet là không cố định, có nghĩa là nó có thểthay đổi từ Master thành Slave và ngược lại, từ Slave thành Master Ví dụ nếuMaster không đủ khả năng cung cấp tài nguyên phục vụ cho Piconet của mình thì
nó sẽ chuyển quyền cho 1 Slave khác giàu tài nguyên hơn, mạnh hơn, bởi vì trong 1piconet thì Clock và kiểu Hopping đã được đồng bộ nhau sẵn
Ví dụ một Scatternet:
Hình 1.9 Một Scatternet gồm 2 Piconet
1.3.4 Định nghĩa các liên kết vật lý trong bluetooth
- Asynchronous connectionless (ACL): Được thiết lập cho việc truyền dữ liệu,những gói dữ liệu cơ bản (primarily packet data) Là một kết nối point to multipointgiữa Master và tất cả các Slave tham gia trong piconet Chỉ tồn tại duy nhất một kếtnối ACL Chúng hỗ trợ những kết nối chuyển mạch gói (packet-switchedconnection) đối xứng và không đối xứng Những gói tin đa khe dùng ACL link và
có thể đạt tới khả năng truyền tối đa 723 kbps ở một hướng và 57.6 kbps ở hướngkhác Master điều khiển độ rộng băng tầng của ACL link và sẽ quyết định xemtrong một piconet một slave có thể dùng băng tầng rộng bao nhiêu Những gói tinbroadcast truyền bằng ACL link, từ master đến tất cả các slave Hầu hết các gói tinACL đều có thể truyền lại
- Synchronous connectionoriented (SCO): Hỗ trợ kết nối đối xứng, chuyểnmạch (circuit-switched), point to point giữa một Master và một Slave trong 1piconet Kết nối SCO chủ yếu dùng để truyền dữ liệu tiếng nói Hai khe thời gian
Trang 23liên tiếp đã được chỉ định trước sẽ được dành riêng cho SCO link Dữ liệu truyềntheo SCO link có tốc độ 64kbps Master có thể hỗ trợ tối đa 3 kết nối SCO đồngthời SCO packet không chứa CRC (Cyclic Redundancy Check) và không bao giờtruyền lại Liên kết SCO được thiết lập chỉ sau khi 1 liên kết ACL đầu tiên đượcthiết lập.
1.3.5 Trạng thái của thiết bị Bluetooth
Có 4 trạng thái chính của 1 thiết bị Bluetooth trong 1 piconet:
- Inquiring device (inquiry mode): Thiết bị đang phát tín hiệu tìm thiết bịBluetooth khác
- Inquiry scanning device (inquiry scan mode): Thiết bị nhận tín hiệu inquirycủa thiết bị đang thực hiện inquiring và trả lời
- Paging device (page mode): Thiết bị phát tín hiệu yêu cầu kết nối với thiết bị
- Sniff mode: Là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng thái
active Ở Sniff mode, thiết bị slave lắng nghe tín hiệu từ mạng với tần số giảm haynói cách khác là giảm công suất Tần số này phụ thuộc vào tham số của ứng dụng.Đây là chế độ ít tiết kiệm năng lượng nhất trong 3 chế độ tiết kiệm năng lượng
- Hold mode: Là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng tháiactive Master có thể đặt chế độ Hold mode cho slave của mình Các thiết bị có thểtrao đổi dữ liệu ngay lập tức ngay khi thoát khỏi chế độ Hold mode Đây là chế độtiết kiệm năng lượng trung bình trong 3 chế độ tiết kiệm năng lượng
- Park mode: Là chế độ tiết kiệm năng lượng của thiết bị vẫn còn trong mạngnhưng không tham gia vào quá trình trao đổi dữ liệu (inactive) Thiết bị ở chế độPark mode bỏ địa chỉ MAC, chỉ lắng nghe tín hiệu đồng bộ hóa và thông điệpbroadcast của Master Đây là chế độ tiết kiệm năng lượng nhất trong 3 chế độ tiết
Trang 24kiệm năng lượng.
1.3.7 Kỹ thuật trải phổ nhảy tần số trong công nghệ bluetooth
1.3.7.1 Khái niệm
Bluetooth sử dụng kỹ thuật vô tuyến được gọi là trải phổ nhảy tần số(Frequency Hopping Spectrum-FHSS), chia nhỏ dữ liệu được gửi đi và truyền từngkhúc dữ liệu lên 79 tần số Trong dạng cơ bản của nó, sự điều chế là sự đánh tínhiệu dịch tần số Gausse (GFSK) Nó đạt được tốc độ truy cập là 1Mbs, tốc độ truycập tối đa của nó có thể lên đến 3Mbs Bluetooth hoạt động ở dải tần 2.4GHz.Truyền trải phổ là kỹ thuật truyền tín hiệu sử dụng nhiều tần số cùng 1 lúc (DSSS -Direct Sequence Spead Spectrum) hoặc luân phiên FHSS để tăng khả năng chốngnhiễu, bảo mật và tốc độ truyền dữ liệu Trải phổ nhảy tần số là kỹ thuật phân chiagiải băng tần thành một tập hợp các kênh hẹp và thực hiện việc truyền tín hiệu trêncác kênh đó bằng việc nhảy tuần tự qua các kênh theo một thứ tự nào đó
Hình 1.10 Kỹ thuật trải phổ nhảy tần số
1.3.7.2 Kỹ thuật nhảy tần số trong công nghệ Bluetooth
Dải băng tần ISM 2.4GHz được chia thành 79 kênh, với tốc độ nhảy là 1600lần trong một giây, điều đó có thể tránh được nhiễu tốt và chiều dài của các packetngắn lại, tăng tốc độ truyền thông Hầu hết các nước dùng 79 bước nhảy, mỗi bướcnhảy cách nhau 1MHz, bắt đầu ở 2.402GHz và kết thúc ở 2.480GHz Ở một vàinước, chẳng hạn như Pháp, Nhật phạm vi của dải băng tần này được giảm còn 23bước nhảy
Trang 25Hình 1.11 Các packet truyền trên các tần số khác nhau
Hình 1.12 Các packet truyền trên khe thời gian
Việc truyền nhận sử dụng các khe thời gian Chiều dài 1 khe thời gian thôngthường là 625µs Một packet thường nằm trong khe đơn, nhưng cũng có thể mởrộng ra 3 hay 5 khe, yêu cầu tần số phải không đổi cho đến khi toàn bộ packet gửixong
Sử dụng packet đa khe, tốc độ truyền dữ liệu cao hơn nhờ phần header củamỗi packet chỉ đòi hỏi 1 lần 220µs Có thể hiểu ngắn gọn là thời gian truyền 3packets đơn khe sẽ lớn hơn thời gian truyền 1 packet 3 khe Bù lại, trong môi
Trang 26trường có nhiều tín hiệu truyền, các packet dài chiếm nhiều timeslot dễ bị nhiều hơn
do đó dễ bị mất hơn
Mỗi packet chứa 3 phần: Access Code, Header, Payload
Hình 1.13 Cấu trúc gói tin Bluetooth
Kích thước của access code và header là cố định
- Access Code: Gồm 72bits, dùng trong việc đồng bộ dữ liệu, định danh, báo
hiệu
- Header:
Hình 1.14 Cấu tạo một packet
Trong header có 54 bits: 3 bits được dùng trong việc định địa chỉ, do đó có tối
đa 7 Active Slave 4 bits tiếp theo cho biết loại packet, 1 bits điều khiển luồng, 1bits ARQ: Cho biết packet là Broadcast không có ACK 1 bits Sequencing: Lọc bỏnhững packet trùng do truyền lại, 8 bits HEC: Kiểm tra tính toàn vẹn của header.Tổng cộng có 18 bits, các bit đó được mã hóa với 1/3 FEC ( Forward ErrorCorrection ) để có được 54 bits
PayLoad: Phần chứa dữ liệu truyền đi, có thể thay đổi từ 0 tới 2744 bit/packet.
Payload có thể là dữ liệu data hoặc voice
1.3.8 Cách thức hoạt động của Bluetooth
1.3.8.1 Cơ chế truyền và sửa lỗi
Trang 27Kỹ thuật Bluetooth thực sự là rất phức tạp Nó dùng kỹ thuật nhảy tần số trongcác timeslot (TS), được thiết kế để làm việc trong môi trường nhiễu tần số radio,Bluetooth dùng chiến lược nhảy tần để tạo nên sức mạnh liên kết truyền thông vàtruyền thông thông minh Cứ mỗi lần gửi hay nhận một packet xong, Bluetooth lạinhảy sang một tần số mới, như thế sẽ tránh được nhiễu từ các tín hiệu khác So sánhvới các hệ thống khác làm việc trong cùng băng tần, sóng radio của Bluetooth nhảytần nhanh và dùng packet ngắn hơn Vì nhảy nhanh và packet ngắn sẽ làm giảm vachạm với sóng từ lò vi sóng và các phương tiện gây nhiễu khác trong khí quyển Có
3 phương pháp được sử dụng trong việc kiểm tra tính đúng đắn của dữ liệu truyềnđi:
- Forwad Error Corrrection: Thêm 1 số bit kiểm tra vào phần Header hayPayload của packet
- Automatic Repeat Request: Dữ liệu sẽ được truyền lại cho tới khi bên nhậngửi thông báo là đã nhận đúng
- Cyclic Redundancy Check: Mã CRC thêm vào các packet để kiểm chứngliệu Payload có đúng không
Bluetooth dùng kỹ thuật sửa lỗi tiến FEC (Forward Error Correction) để sửasai do nhiễu tự nhiên khi truyền khoảng cách xa FEC cho phép phát hiện lỗi, biếtsửa sai và truyền đi tiếp (khác với kỹ thuật BEC: Backward Error Control chỉ pháthiện, không biết sửa, yêu cầu truyền lại) Giao thức băng tần cơ sở (Baseband) củaBluetooth là sự kết hợp giữa chuyển mạch và chuyển đổi packet Các khe thời gian
có thể được dành riêng cho các packet phục vụ đồng bộ Thực hiện bước nhảy tầncho mỗi packet được truyền đi Một packet trên danh nghĩa sẽ chiếm 1 timeslot,nhưng nó có thể mở rộng chiếm đến 3 hay 5 timeslot Bluetooth hỗ trợ 1 kênh dữliệu bất đồng bộ, hay 3 kênh tín hiệu thoại đồng bộ nhau cùng một lúc, hay 1 kênh
hỗ trợ cùng lúc dữ liệu bất đồng bộ và tín hiệu đồng bộ
1.3.8.2 Quá trình hình thành Piconet
Một Piconet được tạo bằng 4 cách:
- Có Master rồi, Master thực hiện Paging để kết nối với 1 Slave
- Một Unit (Master hay Slave) lắng nghe tín hiệu (code) mà thiết bị của nótruy cập được
Trang 28- Khi có sự chuyển đổi vai trò giữa Master và Slave.
- Khi có một Unit chuyển sang trang thái Active
Hình 1.15 Mô hình Piconet
Để thiết lập một kết nối mới, tiến trình INQUIRY hay PAGE sẽ bắt đầu Tiếntrình Inquiry cho phép 1 Unit phát hiện các Unit khác trong tầm hoạt động cùng vớiđịa chỉ và đồng hồ của chúng Tiến trình Paging mới thực sự là tạo kết nối Kết nốichỉ thực hiện giữa những thiết bị mang địa chỉ Bluetooth Unit nào thiết lập kết nối
sẽ phải thực hiện tiến trình paging và tự động trở thành Master của kết nối Trongtiến trình paging, có thể áp dụng vài chiến lược paging Có một chiến lược pagingbắt buộc tất cả các thiết bị Bluetooth đều phải hỗ trợ, chiến lược dùng khi các Unitgặp trong lần đầu tiên, và trong trường hợp tiến trình paging theo ngay sau tiến trìnhinquiry Hai Unit sau khi kết nối nhờ dung chiến lược bắt buộc này, sau đó có thểchọn chiến lược paging khác
Sau thủ tục Paging (PAGE), Master thăm dò Slave bằng cách gửi packetPOLL thăm dò hay packet NULL rỗng theo như Slave yêu cầu Chỉ có Master gửitín hiệu POLL cho Slave, ngược lại không có
Các vai trò của thiết bị trong Piconet là:
- Stand by: Không làm gì cả
- Inquiry: Tìm thiết bị trong vùng lân cận
- Paging: Kết nối với 1 thiết bị cụ thể
- Connecting: Nhận nhiệm vụ
Trang 29INQUIRY PAGE CONNECTION
Hình 1.16 Quá trình truy vấn tạo kết nối
Hình 1.17 Quá trình truy vấn tạo kết nối
Mô hình truy vấn các thiết bị trong thực tế:
Hình 1.18 Truy vấn tạo kết nối giữa các thiết bị trong thực tế
Khi thiết bị tạo paging muốn tạo các kết nối ở các tầng trên, nó sẽ gửi yêu cầukết nối host theo nghi thức LMP (Link Manament Protocol) Khi Unit quản lý hostnày nhận được thông điệp, nó thông báo cho host biết về kết nối mới Thiết bị từ xa
có thể chấp nhận (gửi thông điệp chấp nhận theo nghi thức LMP) hoặc không chấpnhận kết nối (gửi thông điệp không chấp nhận theo nghi thức LMP)
Khi thiết bị không yêu cầu bất kỳ thủ tục thiết lập liên kết từ xa nào cả, nó sẽ
Trang 30gửi thông điệp "thiết lập hoàn thành" Thiết bị này vẫn nhận được yêu cầu từ cácthiết bị khác Khi một thiết bị khác đã sẵn sàng tạo liên kết, nó cũng gửi thông điệp
"thiết lập hoàn thành" Sau đó 2 thiết bị có thể trao đổi packet trên kênh logic khácvới LMP
1.3.8.3 Quá trình hình thành Scatternet
Hình 1.19 Ví dụ về mô hình scatternet
Một Master hay Slave của Piconet có thể trở thành Slave của Piconnet khácnếu bị Master nếu bị Master của Piconet khác thực hiện tiến trình paging với nó.Hay nói cách khác là bất kỳ Unit nào cũng có thể tạo 1 Piconet mới bằng cáchpaging một Unit đã là thành viên của một Piconet nào đó Ngược lại, bất kỳ Unitnào tham gia trong một Piconet, đều có thể thực hiện paging lên Master hay Slavecủa piconet khác Điều này chính là nguyên nhân dẫn tới việc có thể chuyển đồi vaitrò giữa Master và Slave trong một kết nối