Tải bản đầy đủ (.pdf) (48 trang)

XE ĐIỀU KHIỂN TỪ XA DÙNG ANDROID

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 (2.04 MB, 48 trang )

1


HỌC VIỆN CÔNG NGHỆ BCVT CS TP.HCM
KHOA KỸ THUẬT ĐIỆN TỬ II



ĐỒ ÁN HỆ THỐNG NHÚNG

ĐỀ TÀI:
XE ĐIỀU KHIỂN TỪ XA DÙNG ANDROID




GVHD: Ths. Tôn Thất Bảo Đạt
SVTH MSSV
1.Nguyễn Ngọc Hà N102102011
2.Đặng Xuân Hiệu N102102013
3.Trịnh Văn Long N102102025






TP.HCM THÁNG 10 NĂM 2013

2










PHẦN A
GIỚI THIỆU
3


LỜI CẢM ƠN

Để đề tài được hoàn thành theo đúng thời gian qui định đồng thời đạt được
kết quả đề ra không chỉ là sự nỗ lực của bản thân người thực hiện đề tài mà còn
có sự giúp đỡ, sự chỉ bảo của thầy cô giáo và chia sẻ kinh nghiệm từ các bạn sinh
viên.
Người thực hiện đề tài xin chân thành cảm ơn :
 Sự chỉ dẫn và góp ý chân thành của thầy Tôn Thất Bảo Đạt. Cám ơn thầy đã
nhiệt tình cung cấp thông tin hướng dẫn và hỗ trợ kiểm tra, khắc phục các thông
tin chưa chính xác.
 Các bạn sinh viên trong lớp đã giúp đỡ rất nhiều về mặt phương tiện, sách
vở, ý kiến . . .
Trong quá trình thực hiện đề tài này, mặc dù người thực hiện đề tài đã rất
cố gắng, song sẽ không tránh khỏi thiếu sót. Rất mong nhận được sự góp ý, phê
bình, chỉ dẫn của quý thầy cô và các bạn sinh viên.

Người thực hiện đề tài:


Nguyễn Ngọc Hà

Đặng Xuân Hiệu

Trịnh Văn Long

4



NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN:
…………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

TP HCM, ngày … tháng … năm 2013
Ký tên:





5



NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN:
…………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

TP HCM, ngày … tháng … năm 2013
Ký tên:


6

LỜI NÓI ĐẦU
Ngày nay việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ

biến: từ những úng dụng đơn giản như điều khiển một chốt đền giao thông định
thời, đếm sản phẩm trong dây chuyền sản xuất, điều khiển động cơ điện một
chiều, xoay chiều, … đến những ứng dụng phức tạp như điều khiển robot, hệ
thống kiểm soát, các hệ thống tự động, các thiết bị máy móc tự động, Với mong
muốn giới thiệu những ứng dụng cơ bản của hệ thống nhúng trong đời sống hiện
đại và để mọi người biết đến ứng dụng cũng như tầm quan trọng của các hệ
thống nhúng, nhóm đề tài đã tìm hiểu và thực hiện đề tài “ XE ĐIỀU KHIỂN TỪ
XA DÙNG ANDROID”

7

MỤC LỤC
PHẦN A: GIỚI THIỆU
Trang bìa………………………………………………………………………
Lời cảm ơn
Phiếu giao đề tài
Nhận xét của giáo viên hướng dẫn
Nhận xét của giáo viên phản biện
Lời nói đầu
Mục lục
Liệt kê hình
Liệt kê bảng
PHẦN B: NỘI DUNG
CHƯƠNG 1: GIỚI THIỆU 11
1.1 Lý do chọn đề tài 11
1.2 Mục đích của đề tài 11
1.3 Đối tượng và phạm vi nghiên cứu 11
1.4 Hướng nghiên cứu và phát triển 11
CHƯƠNG 2: TỔNG QUAN VỀ ĐỒ ÁN 12
2.1 Ý tưởng thiết kế 12

2.1.1 Thiết bị điều khiển 12
2.2.2 Thiết bị ngoại vi 12
2.2 Mô hình hệ thống 12
2.3 Nội dung đồ án 12
CHƯƠNG 3: TÌM HIỂU VỀ HỆ ĐIỀU HÀNH&GIAO TIẾP NGOẠI VI 13
3.1 Công nghệ không dây Bluetooth 13
3.1.1 Khái niệm 13
3.1.2 Đặc điểm của công nghệ Bluetooth 13
3.1.2.1 Ưu điểm 13
3.1.2.2 Khuyết điểm 14
3.1.3 Hoạt động 14
3.1.4 Các thế hệ Bluetooth 14
3.1.5 Vấn đề bảo mật trong công nghệ Bluetooth 15
3.1.5.1 Bảo mật 15
3.1.6 Các khái niệm trong công nghệ Bluetooth 16
3.1.6.1 Master Unit 16
3.1.6.2 Slaver Unit 16
3.1.6.3 Piconet 17
3.1.6.4 Scatternet 18
3.1.7 Định nghĩa các liên kết vật lý trong Bluetooth 18
3.1.8 Trạng thái của thiết bị Bluetooth 19
3.1.9 Các chế độ kết nối 19
3.1.10 Kỹ thuật trải phổ nhảy tần số trong công nghệ Bluetooth 19
3.1.10.1 Khái niệm 19
3.1.10.2 Kỹ thuật nhảy tần số trong công nghệ Bluetooth 20
3.1.11 Cơ chế hoạt động của Bluetooth 22
3.1.11.1 Cơ chế truyền và sửa lỗi 22
8

3.1.11.2 Quá trình hình thành piconet 23

3.1.12 Module Bluetooth HC-05 25
3.1.12.1 Giới thiệu modul Bluetooth HC-05 25
3.1.12.2 Đặc tả phần cứng 26
3.1.12.3 Tập lệnh AT cho module Bluetooth HC-05 29
3.2 Tổng quan về hệ điều hành Android 30
3.2.1 Giới thiệu về Android 30
3.2.2 Lịch sử hình thành 30
3.2.3 Tính năng Android 32
3.2.4 Kiến trúc của hệ điều hành Android 32
3.2.4.1 Tầng ứng dụng 33
3.2.4.2 Application Farmwork 33
3.2.4.3 Library 34
3.2.4.4 Android runtime 34
3.2.4.5 Linux Kernel 34
3.2.5 Chu kỳ ứng dụng trên android 35
3.2.5.1 Chu kỳ sống thành phần 36
3.2.5.2 Activity Stack 36
3.2.5.3 Các trạng thái của chu kỳ sống 36
3.2.5.4 Chu kỳ sống của ứng dụng 38
3.2.5.5 Các sự kiện trong chu kỳ sống của ứng dụng 38
3.2.5.6 Thời gian sống của ứng dụng 38
3.2.5.7 Thời gian hiển thị cảu Activity 38
3.2.5.8 Các phương thức của chu kỳ sống 38
CHƯƠNG 4 : THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN 40
4.1 Phân tích và xác định yêu cầu 40
4.2 Xây dựng hệ thống 40
4.2.1 Ứng dụng trên Android 40
4.2.2 Thiết kế phần cứng 42
4.2.2.1 Khối xử lý 42
4.2.2.2 Khối nguồn 44

4.2.2.3 Mạch driver động cơ 44
4.2.3 Lập trình Firmwave 47
4.2.4 Thiết kế xe 47
CHƯƠNG 4 : KẾT QUẢ&HƯỚNG PHÁT TRIỂN ĐỀ TÀI 48
5.1 Đánh giá kết quả thực hiện đề tài 48
5.2 Hướng phát triển 48
TÀI LIỆU THAM KHẢO 48

9

LIỆT KÊ HÌNH

Hình 2.1 Mô hình hệ thống 12
Hình 3.1 Logo Bluetooth 13
Hình 3.2 Một số thiết bị sử dụng công nghệ Bluetooth 15
Hình 3.3 Kiến trúc Piconet trong Bluetooth 17
Hình 3.4 Một Scatternet gồm 2 Piconet 18
Hình 3.5 Kỹ thuật trải phổ nhảy tần số 20
Hình 3.6 Các packet truyền trên các tần số khác nhau 20
Hình 3.7 Các packet truyền trên khe thời gian 21
Hình 3.8 Cấu trúc gói tin Bluetooth 21
Hình 3.9 Cấu tạo một packet 22
Hình 3.10 Mô hình piconet 23
Hình 3.11 Quá trình truy vấn tạo kết nối 24
Hình 3.12 Truy vấn tạo kết nối giữa các thiết bị trong thực tế 24
Hình 3.13 Modul Bluetooth HC-05 25
Hình 3.14 Sơ đồ chân modul Bluetooth HC-05 27
Hình 3.15 Sơ đồ nguyên lý module Bluetooth HC-05 29
Hình 3.16 Logo Android 30
Hình 3.17 Android timeline 31

Hình 3.18 Mô hình kiến trúc nền tảng hệ điều hành Andorid 33
Hình 3.19 Mô hình hợp tác giữa máy ảo Dalvik và Navite code 35
Hình 3.20 Activity Stack 36
Hình 3.21 Chu kỳ sông của Activity 37
Hình 4.1 Lưu đồ thuật toán trên Android 41
Hình 4.2 Icon ứng dụng 41
Hình 4.3 Giao diện điều khiển 41
Hình 4.4 Thông tin ứng dụng 42
Hình 4.5 Dò tìm thiết bị 42
Hình 4.6 Sơ đồ tổng quát 42
Hình 4.7 Sơ đồ chân Atmega8 43
Hình 4.8 Sơ đồ nguyên lý mạch Atmega8 43
Hình 4.9 Mạch nguồn 44
Hình 4.10 Sơ đồ chân IC L298 44
Hình 4.11 Sơ đồ nguyên lý IC L298 45
Hình 4.12 Mạch logic dùng 74HC04 và 74HC08 45
Hình 4.13 Sơ đồ nguyên lý toàn mạch 46
Hình 4.14 Lưu đồ thuật toán cho Atmega8 47
Hình 4.15 Mô hình xe 47

LIỆT KÊ BẢNG
Bảng 1 Mô tả chức năng các chân của module 27
Bảng 2 Mộ số lệnh AT cho module Bluetooth HC-05 29
Bảng 3 Mô tả trạng thái của xe 46
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
10






PHẦN B
NỘI DUNG

Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
11

CHƯƠNG 1 : GIỚI THIỆU
1.1 Lý do chọn đề tài
Trong mấy chục năm qua, khoa học máy tính và xử lý thông tin có những bước tiến
vượt bậc và ngày càng có những đóng góp to lớn vào cuộc cách mạng khoa học kỹ thuật
hiện đại. Đặc biệt sự ra đời và phát triển nhanh chóng của kỹ thuật số làm cho ngành điện
tử trở nên phong phú và đa dạng hơn. Nó góp phần rất lớn trong việc đưa kỹ thuật hiện
đại thâm nhập rộng rãi vào mọi lĩnh vực của hoạt động sản xuất, kinh tế và đời sống xã
hội. Từ những hệ thống máy tính lớn đến những hệ thống máy tính cá nhân, từ những
việc điều khiển các máy công nghiệp đến các thiết bị phục vụ đời sống hằng ngày của
con người.
Với mong muốn tìm hiểu nguyên lý, kỹ thuật trong các hệ thống điều khiển. được sự
hướng dẫn của thầy ThS. Tôn Thất Bảo Đạt nhóm đã chọn đề tài : “ Xe điều khiển từ xa
dùng android “.
1.2 Mục đích của đề tài
Mục đích nghiên cứu của đề tài này là nghiên cứu họ vi điều khiển AVR cụ thể là
Atmega8 , phương pháp lập trình cho AVR bằng ngôn ngữ C trên trình biên dịch
Codevison AVR, lập trình ứng dụng android dùng SDK, giao tiếp không dây Bluetooth…
1.3 Đối tượng và phạm vi nghiên cứu
Vi điều khiển sử dụng là AVR Atmega8, để nắm được cấu trúc phần cứng, lập trình
phần mềm và ứng dụng vào thực tế.
Động cơ DC .
Phần mềm điều khiển trên android.
Modul bluetooth HC-05

1.4 Hướng nghiên cứu và phát triển
Ứng dụng kiến thức đã học trên lớp để thiết kế vào ứng dụng cụ thể mà ở đây là xe
điều khiển từ xa qua sóng bluetooth dùng android
Nắm bắt được cấu trúc phần cứng, sơ đồ khối, bố trí chân, tập lệnh điều khiển cho
AVR ATMega8. Tìm hiểu cách thức điều khiển động cơ DC điều khiển bằng IC L298.
Tìm hiểu về lập trình phần mềm android giao tiếp Bluetooth. Kết quả cuối cùng là xe
hoạt động n định , điều khiển bằng phần mềm trên điện thoại.

Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
12


CHƯƠNG 2 : TỔNG QUAN VỀ ĐỒ ÁN
2.1 Ý TƯỞNG THIẾT KẾ
2.1.1 Thiết bị điều khiển:
Việc xây dựng ứng dụng trên hệ điều hành Android tương đối thuận lợi, dễ dàng
bởi đây là hệ điều hành mã nguồn mở với cộng đồng sử dụng đông đảo. Việc phát triển
ứng dụng được thực hiện dễ dàng bất cứ khi nào có thể mà không bị ghog bó bới bộ điều
khiển riêng biệt. Qua đó nhóm đã dã thực hiện tạo 1 ứng dụng trên chiếc smartphone
chạy android, ứng dụng này có nhiệm vụ điều khiển thiết bị ngoại vi thông qua sóng
Bluetooth
2.2.2 Thiết bị ngoại vi:
Nhóm đề tài sử dụng 1 modul Bluetooth để truyền nhận dữ liệu với Mobile và
được điều khiển bởi 1 vi điều khiển. VI điều khiển có nhiệm vụ chính là xử lý tín hiệu
nhận được từ modul Bluetooth và điều khiển 2 động cơ DC của xe.
Để đơn giản trong việc lập trình nhóm đã chọn dùng vi điều khiển Atmega8, đây
là con vi điều khiển quen thuộc, đáp ứng được các yêu cầu của đề tài, việc lập trình cho
Atmega8 cũng khá dễ dàng nhờ công cụ Codevision AVR.
2.2 Mô hình hệ thống
Khái quát mô hình hệ thống















Hình 2.1 Mô hình hệ thống

2.3 Nội dung đồ án
Nội dung của đồ án được chia làm 4 phần chính
- Tng quan về đồ án
- Tìm hiểu về hệ điều hành và giao tiếp ngoại vi
- Thiết kế mô hình xe điều khiển
- Kết quả và hướng phát triển
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
13

CHƯƠNG 3 : TÌM HIỂU VỀ HỆ ĐIỀU HÀNH
VÀ GIAO TIẾP NGOẠI VI

3.1 CÔNG NGHỆ KHÔNG DÂY BLUETOOTH
3.1.1 Khái niệm

Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với nhau mà
không cần dây dẫn. Nó là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuất muốn
có đặc tính này trong sản phẩm thì họ phải tuân theo các yêu cầu của chuẩn này cho sản
phẩm của mình. Những tiêu chuẩn kỹ thuật này đảm bảo cho các thiết bị có thể nhận ra
và tương tác với nhau khi sử dụng công nghệ Bluetooth.
Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị có swur dụng công nghệ
Bluetooth. Các thiết bị này gồm có điện thoại di động, máy tính và thiết bị hỗ trợ cá nhân
PDA ( Prosonal Digital Assistant ) . Công nghệ Bluetooth là một công nghệ dựa trên tần
số vô tuyến và bất cứ một thiết bị nào có tích hợp bên trong công nghệ này đều có thể
truyền thông với các thiết bị khác với một khoảng cách nhất định về cự ly để đảm bảo
công suất cho việc phát và nhận sóng. Công nghệ này thường được sử dụng để truyền
thông giữa hai loại thiết bị khác nhau. Ví dụ: Bạn có thể hoạt động trên máy tính với một
bàn phím không dây, sử dụng bộ tai nghe không dây để nói chuyện trên điện thoại di
động của bạn hoặc b sung thêm một cuộc hẹn vào lịch biểu PDA của một người bạn từ
PDA của bạn.

Hình 3.1 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

3.1.2 Đặc điểm của công nghệ Bluetooth
3.1.2.1 Ư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ị bao gồm
các 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 hai thiết bị đầu cuối có thể lên đến 10m,
khoảng cách giữa thiết bị đầu cuối và access point có thể lên tới 100m
- Bluetooth sử dụng băng tần 2.4GHz. Tốc độ truyền dữ liệu có thể đạt tới mức tới
đa 1Mbps mà các thiết bị không cần phải trực tiếp thấy nhau
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
14


- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với
một ứng dụng khác thông qua chuẩn Bluetooth profiles, do đó có thể độc lập về
phần cứng cững như hệ điều hành sử dụng.
- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm
hỗ trợ
3.1.2.2 Khuyết điểm
- Sử dụng mô hình adhoc -> không thể thiết lập các ứng dụng thời gian thực
- 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.
- Số thiết bị active, pack cùng lúc trong một piconect còn hạn chế.
- Tốc độ truyền không cao
3.1.3 Hoạt động
Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối thiết bị cá
nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz đến 2.485GHz. Bluetooth
được thiết kế hoạt động trên 79 tần số đơn lẻ. Khi kết nối , nó sẽ tự động tìm ra tần số
tương thích để di chuyển đến thiết bị cần kết nối trong khu vực nhằm đảm bảo sự liên
tục.
Về tầm phủ sóng, bluetooth có 3 class: class 1 có công suất 100mW với tầm phủ
sóng gần 100m; class 2 có công suất 2,5mW tầm phủ sóng khoảng 10m; và class 3 là
1mW với tầm phủ sóng khoảng 5m
Bản thân bên trong Bluetooth hiện nay là một tập hợp nhiều giao thức hoạt động
khác nhau. Ví dụ, A2DP ( Advvanced Audio Distribution Profile) là cơ chế truyền dẫn
âm thanh stereo qua sóng bluetooth tới các tai nghe, loa; FTP( File Transfer Protocol) là
cơ chế chuyển đi dữ liệu qua kết nối Bluetooth giữa các thiết bị ( hay còn gọi là File
Transfer Services ); hay OBEX, được phát triển bởi chính nhà mạng Verizon , cho phép
xóa dữ liệu thông qua Bluetooth.
3.1.4 Các thế hệ Bluetooth
- Blutooth 1.0 ( 7/1999 ): là phiên bản đầu tiên được đưa ra thị trường với tốc độ
kết nối ban đầu là 1Mbps. Tuy nhiên, trên thực tế tốc độ kết nối của thế hệ này
chưa bao giờ đạt quá mức 700Kbps

- Bluetooth 1.1 ( 2001 ): Đánh dấu bước phát triển mới 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 1.2 ( 11/2003 ): Bắt đầu có nhiều tiến bộ đáng kể. Chuẩn này hoạt
động dựa trên băng tần 2.4GHz và tăng cường kết nối thoại. Motorola RARZ là
thế hệ điện thoại di đọng đầu tiên tích hợp Bluetooth 1.2
- Bluetooth 2.0 + ERD (2004): đã bắt đầu nâng cao tốc độ và giảm thiểu một nửa
năng lượng tiêu thụ so với trước đây. Tốc độ của chuẩn Bluetooth lên đến
2.1Mbps với chế độ cải thiện kết nối truyền tải – ERD ( Enhanced data rate ) ,
song ERD vẫn chỉ là chế độ tùy chọn, phụ thuộc vào các hãng sản xuất có đưa vào
thiết bị hay không. Các thiết bị tiêu biểu ứng dụng Bluetooth 2.0 + ERD là : Apple
iPhone, HTC Touch Pro và T-Mobile’s Android G1.
- Bluetooth 2.1 + ERD(2004) : đây chính là thế hệ nâng cấp của Bluetooth 2.0 có
hiệu năng cao hơn và tiết kiệm năng lượng hơn. Chuẩn này chủ yếu được sử dụng
trong điện thoại, máy tính và các thiết bị di động khác.
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
15

- Bluetooth 3.0 + HS(2008): có tốc độ truyền dữ liệu đạt mức 24Mbps – bằng
sóng Blutooth – High Speed, tương đương chuẩn Wifi thế hệ đầu tiên, phạm vi
hiệu quả nhất chỉ trong vòng 10m
- Bluetooth 4.0: được đưa ra ngày 30/06/2010, là chuẩn Bluetooth mới nhất hiện
nay. Bluetooth 4.0 là sự kết hợp của “classic Bluetooth” ( Bluetooth 2.1 và 3.0),
“Bluetooth high speed” ( Bluetooth 3.0 + HS) và “ Bluetooth low energy -
Bluetooth năng lượng thấp ( Bluetooth Smart Ready/ Bluetooth Smart).
“Bluetooth low enegry” là một phần của Bluetooth 4.0 với một giao thức tiêu
chuẩn của Bluetooth 1.0 vào 4.0 nhằm phục vụ cho những ứng dụng năng lượng
cực thấp.
Bluetooth Smart chỉ hoạt động ở chế độ đơn tần( single radio) hướng đến khả
năng phát tín hiệu cho các thiết bị trong lĩnh vực y tế thông qua cảm biến tích hợp,
các thông tin thu được chỉ có thể gửi được qua thiết bị có Bluetooth Smart Ready.

Các thiết bị Bluetooth Smart sẽ không có tốc độ cao như 3.0 nhưng bù lại chúng
tiêu thụ năng lượng rất thấp, pin của chúng thậm chí đủ hoạt động với thời gian
vài năm
Trong khi đó, phiên bản Bluetooth Smart Ready hoạt động ở hai dãy tín hiệu
(dual radio ) lại hội đủ các điều kiện trên và hoàn toàn tương thích ngược với
chuẩn 3.0. Thiết bị Bluetooth Smart Ready có thể vừa kết nối với các thiết bị
Bluetooth thông thường vừa có khả năng nhận dữ liệu truyền tải từ các thiết bị
Bluetooth Smart. Các thiết bị dùng chuẩn Bluetooth Smart Ready gồm điện thoại,
máy tính bảng, tivi và PC và đã được triển khai trên nhiều Smartphone hiện nay.

Hình 3.2 Một số thiết bị sử dụng công nghệ Bluetooth
3.1.5 Vấn đề bảo mật trong công nghệ Bluetooth
3.1.5.1 Bảo mật
Khi sử dụng công nghệ này, chắc hẳn mọi người ai cũng quan tâm đến vấ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ắn các chữ số sử dụng trong mã
PIN có thể gây nguy hiểm cho các thiết bị này.
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
16

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 của bạn hoặc
xâm nhập hay 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ợi dụ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.
3.1.5.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ệc
truyề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ệu hó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ó trong

trạ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ị
Bluetooth khác. Thậm chí cả hai cũng có thể nhận ra nhau để kết nối nếu chúng
cùng trong chế độ ẩn. Các thiết bị như điện thoại di động và tai nghe không dây
cần phải đặt trong chế độ “ 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ường
khi 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úp
trang 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ông cầ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ùy chọ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ăng
tác dụng của chúng như sự mã hóa và thẩm định.

3.1.6 Các khái niệm trong công nghệ Bluetooth
3.1.6.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.
3.1.6.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ác
Slave 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 (1 cho Master và 7 cho Slave).

Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
17

- Standby: Standby là một dạng inactive, thiết bị trong trạng thái này không
trao đ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.

- 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ác thiết bị ở trạng thái Packed được đánh địa chỉ thông qua
địa chỉ PMA (Packed Member 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.
3.1.6.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ện hà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ạo
kế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ác
thà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ởi chú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.
Các mô hình Piconet :
Minh hoạ một Piconet gồm nhiều Slave:


Hình 3.3 : Kiến trúc Piconet trong Bluetooth

Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
18

3.1.6.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ại
truyền thông với nhau.
- Lưu ý:

+ Một thiết bị có thể vừa là Master của Piconet này, vừa là Slave của Piconet
khá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ếu
Master 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 1
piconet thì Clock và kiểu Hopping đã được đồng bộ nhau sẵn.

- Ví dụ một Scatternet :

Hình 3.4 Một Scatternet gồm 2 Piconet
3.1.7 Đị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-
multipoint giữa Master và tất cả các Slave tham gia trong piconet. Chỉ tồn tại

duy nhất một kết nối ACL. Chúng hỗ trợ những kết nối chuyển mạch gói
(packet-switched connection) đố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ướng khác. Master điều khiển độ rộng băng tầng của
ACL link và sẽ quyết định xem trong một piconet một slave có thể dùng băng
tầng rộng bao nhiêu. Những gói tin broadcast truyền bằng ACL link, từ
master đến tất cả các slave. Hầu hết các gói tin ACL đều có thể truyền lại.
- Synchronous connection-oriented (SCO): hỗ trợ kết nối đối xứng, chuyển
mạch mạch (circuit-switched), point-to-point giữa một Master và một Slave
trong 1 piconet. Kết nối SCO chủ yếu dùng để truyền dữ liệu tiếng nói. Hai
khe thời gian liên tiếp đã được chỉ định trước sẽ được dành riêng cho SCO
link. Dữ liệu truyền theo SCO link có tốc độ 64kbps. Master có thể hỗ trợ
tối đa 3 kết nối SCO đồng thờ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
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
19

lập chỉ sau khi 1 liên kết ACL đầu tiên được thiết lập.
3.1.8 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 inquiry
củ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ị
đã inquiry từ trước.
- Page scanning device (page scan mode): thiết bị nhận yêu cầu kết nối từ
paging device và trả lời.
3.1.9 Các chế độ kết nối
- Active mode: trong chế độ này, thiết bị Bluetooth tham gia vào hoạt động

của mạng. Thiết bị master sẽ điều phối lưu lượng và đồng bộ hóa cho các thiết bị
slave.
- 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 hay
nó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ái
active. 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ạng
như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ệp
broadcast của Master. Đây là chế độ tiết kiệm năng lượng nhất trong 3 chế độ tiết
kiệm năng lượng.

3.1.10 Kỹ thuật trải phổ nhảy tần số trong công nghệ Bluetooth
3.1.10.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ừng khú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ín hiệu dịch tần số Gausse(
GFSK). Nó đạt được tốc độ truy cập là 1Mbs, tốc độ truy cậ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ống nhiễ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 chia giả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ên các kênh đó bằng việc nhảy tuần tự qua
các kênh theo một thứ tự nào đó
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt

20


Hình 3.5 Kỹ thuật trải phổ nhảy tần số
3.1.10.2 Kỹ thuật nhảy tần số trong công nghệ Bluetooth
Giải băng tần ISM 2.4GHz được chia thành 79 kênh, với tốc độ nhảy là 1600 lầ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 packet ngắ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ước nhảy cách
nhau 1MHz, bắt đầu ở 2.402GHz và kết thúc ở 2.480GHz. ở một vài nướ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 23 bước nhảy


Hình 3.6 Các Packet truyền trên các tần số khác nhau

Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
21


Hình 3.7 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ông
thườ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ửi
xong.
- Sử dụng packet đa khe, tốc độ truyền dữ liệu cao hơn nhờ phần header của mỗ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 3 packets
đơn khe sẽ lớn hơn thời gian truyền 1 packet 3 khe. Bù lại, trong môi trườ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 đo
dễ bị mất hơn.
- Mỗi packet chứa 3 phần : Access Code, Header, Payload




Hình 3.8 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.
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
22

 Header :

Hình 3.9 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
+ 1 bits 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ó 18bits, các bit đó được mã hóa với 1/3 FEC ( Forward Error
Correction ) để có được 54 bits
 PayLoad : phần chứa dữ liệu truyền đi, có thể thay đi từ 0 tới
2744bit/packet. Payload có thể là dữ liệu data hoặc voice.
3.1.11 Cơ chế hoạt động của Bluetooth.

3.1.11.1 Cơ chế truyền và sửa lỗi:
Kỹ thuật Bluetooth thực sự là rất phức tạp. Nó dùng kỹ thuật nhảy tần số trong
cá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ại nhả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ánh vớ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ảy tần nhanh và dùng packet ngắn hơn. Vì nhảy nhanh và packet ngắn sẽ
làm giảm va chạ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 hay
Payload của packet.
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
23

- Automatic Repeat Request: dữ liệu sẽ được truyền lại cho tới khi bên nhận
gửi thông báo là đã nhận đúng.
- Cyclic Redundancy Check: mã CRC thêm vào các packet để kiểm chứng liệu
Payload có đúng không

Bluetooth dùng kỹ thuật sửa lỗi tiến FEC (Forward Error Correction) để sửa sai
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ết sửa sai
và truyền đi tiếp (khác với kỹ thuật BEC-Backward Error Control chỉ phát hiệ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ủa Bluetooth 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ần cho 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ộ.
3.1.11.2 Quá trình hình thành piconet

Hình 3.10 Mô hì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.
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
Để thiết lập một kết nối mới, tiến trình INQUIRY hay PAGE sẽ bắt đầu.
Tiến trì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ối chỉ thực hiện giữa những
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
24



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.
Trong tiến trình paging, có thể áp dụng vài chiến lược paging. Có một chiến lược
paging bắ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
Unit gặp trong lần đầu tiên, và trong trường hợp tiến trình paging theo ngay sau tiến
trình inquiry. 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 packet POLL
thăm dò hay packet NULL rỗng theo như Slave yêu cầu.
Chỉ có Master gửi tí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ụ.

Hình 3.11: 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 3.12: 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ầu
kết nối host theo nghi thức LMP (Link Manament Protocol). Khi Unit quản lý host nà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ấp nhận
kết nối (gửi thông điệp không chấp nhận theo nghi thức LMP).
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
25


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ẽ
gử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ác thiế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ác với LMP.
3.1.12 Module Bluetooth HC-05

3.1.12.1 Giới thiệu Module Bluetooth HC-05



Hình 3.13 : Modul Bluetooth HC-05
Module Bluetooth HC-05 được thiết kế đễ sử dungh giao giao tiếp Bluetooth qua
Serial Port, truyền dữ liệu nối tiếp qua wireless.
Đặc điểm kỹ thuật:
- Chuẩn Bluetooth : V2.0+EDR
- Điện áp hoạt động : 3,3VDC/ 30mA
- Chế độ hoạt động : Master , Slave, Loopback
- Kích thước 28mm x 15mm x 2.35mm
- Tần số: 2.4GHz ISM band
- Tốc độ: Asynchronous : 2.1 Mbs (Max)/160kbps
Synchronous : 1Mbps/1Mbps
- Bảo mật : Authentication and encryption
- Giao tiếp : Bluetooth serial port
- Baud Rate mặc định : 38400, databits : 8, Stopbit : 1, Parity : No. Hỗ trợ tốc độ
baud : 9600,19200,38400,57600,115200,230400,460800.
- Nhiệt độ làm việc : -20 ~ 75 độ C
- Độ nhạy : -80dBm

×