Professional Documents
Culture Documents
HCM
KHOA KỸ THUẬT ĐIỆN TỬ II
ĐỒ ÁN HỆ THỐNG NHÚNG
ĐỀ TÀI:
1
PHẦN A
GIỚI THIỆU
2
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.
Nguyễn Ngọc Hà
3
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN:
…………………………………………………………………………………......
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
4
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN:
…………………………………………………………………………………......
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
5
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”
6
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
7
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
8
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
9
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
PHẦN B
NỘI DUNG
10
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
11
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
12
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
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
13
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
- 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.
14
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
- 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.
15
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
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.
- 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).
16
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
- 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:
17
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
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 :
18
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
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 đó
19
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
Hình 3.6 Các Packet truyền trên các tần số khác nhau
20
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
- 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
21
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
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.
22
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
- 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
23
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
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.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).
24
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
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
25
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
26
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
27
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
28
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
Sơ đồ nguyên lý module :
29
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
30
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơn cho
nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảng Android.
Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết, các nhà khai thác
và các lập trình viên thiết bị cầm tay.
Phiên bản SDK lần đầu tiên phát hành vào tháng 11 năm 2007, hãng T-
Mobile cũng công bố chiếc điện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc
smartphone đầu tiên dựa trên nền tảng Android. Một vài ngày sau đó, Google lại tiếp
tục công bố sự ra mắt phiên bản Android SDK release Candidate 1.0. Trong tháng 10
năm 2008, Google được cấp giấy phép mã nguồn mở cho Android Platform.
Khi Android được phát hành thì một trong số các mục tiêu trong kiến trúc của
nó là cho phép các ứng dụng có thể tương tác được với nhau và có thể sử dụng lại
các thành phần từ những ứng dụng khác. Việc tái sử dụng không chỉ được áp dụng
cho các dịch vụ mà nó còn được áp dụng cho cả các thành phần dữ liệu và giao diện
người dùng.
Vào cuối năm 2008, Google cho phát hành một thiết bị cầm tay được gọi
là Android Dev Phone 1 có thể chạy được các ứng dụng Android mà không bị ràng
buộc vào các nhà cung cấp mạng điện thoại di động. Mục tiêu của thiết bị này là cho
phép các nhà phát triển thực hiện các cuộc thí nghiệm trên một thiết bị thực có thể
chạy hệ điều hành Android mà không phải ký một bản hợp đồng nào. Vào khoảng
31
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
cùng thời gian đó thì Google cũng cho phát hành một phiên vản vá lỗi 1.1 của hệ điều
hành này. Ở cả hai phiên bản 1.0 và 1.1 Android chưa hỗ trợ soft-keyboard mà đòi hỏi
các thiết bị phải sử dụng bàn phím vật lý. Android cố định vấn đề này bằng cách
phát hành SDK 1.5 vào tháng Tư năm 2009, cùng với một số tính năng khác. Chẳng
hạn như nâng cao khả năng ghi âm truyền thông, vật dụng, và các live folder.
Các phiên bản cảu android
- Android 1.0 : 23/11/2008
- Android 1.1 : 9/2/2009
- Android 1.5 Cupcake : 30/4/2009
- Android 1.6 Donut : 30/9/2009
- Adroid 2.0/2.1 Eclair : 11/2009
- Android 2.2 Froyo : 20/05/2010
- Android 2.3 Gingerbread : 06/12/2010
- Android 3.0/3.1 Honeycomb : 22/2/2011
- Android 4.0 Ice Cream Sandwich : 19/10/2011
- Android 4.1 Jelly Bean : 9/7/2012
- Android 4.2 Jelly Bean : 11/2012
- Android 4.3 Jelly Bean : 24/7/2013
- Android 4.4 KitKat : sắp ra mắt
32
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
Hình 3.18: Mô hình kiến trúc nền tảng hệ điều hành Android
3.2.4.1 Tầng ứng dụng
Hệ điều hành Android tích hợp sẵn một số ứng dụng cơ bản như email client,
SMS, lịch điện tử, bản đồ, trình duyệt web, sổ liên lạc và một số ứng dụng khác. Ngoài ra
tầng này cũng chính là tầng chứa các ứng dụng được phát triển bằng ngôn ngữ java.
3.2.4.2 Application Farmwork
Tầng này của hệ điều hành Android cung cấp một nền tảng phát triển ứng dụng
mở qua đó cho phép nhà phát triển ứng dụng có khả năng tạo ra các ứng dụng vô cùng
sáng tạo và phong phú. Các nhà phát triển ứng dụng được tự do sử dụng các tính năng
cao cấp của thiết bị phần cứng như: thông tin định vị địa lý, khả năng chạy dịch vụ dưới
nền, thiết lập đồng hồ báp thức, thêm notification vào status bar của màn hình thiết bị…
Người phát triển ứng dụng được phép sử dụng đầy đủ bộ API được dùng trong các
ứng dụng tích hợp sẵn của android. Kiến trúc ứng dụng của Android được thiết kế nhằm
mục đích đơn giản hóa việc tái sử dụng các component. Qua đó bất kỳ ứng dụng nào
cũng có thể công bố các tính năng mà nó muốn chia sẻ cho các ứng dụng khác. Phương
pháp tương tự cho phép các thành phần có thể được thay thế bởi người sử dụng
Tầng này bao gồm một tập các services và các thành phần sau:
33
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
- Một tập phong phú và có thể mở rộng bao gồm các đối tượng View được dùng để
xây dựng ứng dụng như : list, gird, text box, button và thậm chí là một trình duyệt
web có thể nhúng vào ứng dụng
- Content Provider: Cho phép các ứng dụng có thể truy xuất dwux liệu từ các ứng
dụng khác hoặc chia sẻ dữ liệu của chúng.
- Resource Manager: cung cấp khả năng truy xuất các tài nguyên non-code như
hình ảnh hoặc file layout.
- Notification Manager: cung cấp khả năng hiển thị custom alert trên thanh status
bar.
- Activity Manager: Giúp quản lý vòng đời của một ứng dụng
3.2.4.3 Library
Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành
phần khác nhau trong hệ thống android. Một số các thwu viện cơ bản được liệt kê dưới
đây:
- System C library: một thể hiện được xây dựng từ BSD của bộ thư viện hệ thống
C chuẩn ( libc), được điều chỉnh để tối ưu hóa cho các thiết bị chạy trên nền
Linux.
- Media Libarary : Bộ thwu viện hỗ trợ trình diễn và ghi các định dạng âm thanh
và hình ảnh phổ biến
- Surface manager: Quản lý hiên rthij nội dung 2D và 3D
- LibWebCore : một web browser engine hiện đại được swur dụng trong trình
duyệt của android lần trong trình duyệt nhứng web view được sử dụng trong ứng
dụng.
- SGL: Engine hỡ trợ đồ họa 2D
- 3D library: Một thể hiện được xây dựng dựa trên các APIs của OpenGL ES 1.0.
Những thư viện này sử dụng các tăng tốc 3D bằng phần cứng lẫn phần mềm để tối
ưu hóa hiển thị 3D.
- Free Type: Bitmap and vector font rending.
- SQLite: một DBMS nhỏ gọn và mạnh mẽ
3.2.4.4 Android Runtime
Hệ diều hành android tích hợp sẵn một tập hợp các thư viện cốt lõi cung cấp hầu
hết các chức năng có sẵn trong các thư viện lõi của ngôn ngư lập trình java. Mọi ứng
dụng của Android chạy trên mọt tiến trình của riêng nó với cùng một thể hiện của máy ảo
Dalvik. Máy ảo Dalvak thực tế là một biến thể của máy ảo java được sửa đổi bổ sung các
công nghệ đặc trưng của thiết bị di động. Nó được xây dựng với mục đích làm cho các
thiết bị di động có thể chạy nhiều máy ảo một cách hiệu quả. Trước khi thực thi, bát kỳ
ứng dụng nào cũng được convert thành file thực thi với định dạng nén Dalvik Executable
(.dex) . Định dạng này được thiết kế phù hợp với các thiết bị hạn chế về bộ nhớ cũng như
tốc độ xử lý. Ngoài ra máy ảo Dalvik swur dụng bộ nhân Linux để cung cấp các tính
năng như thread, low-level memory management .
3.2.4.5 Linux Kernel
Hệ điều hành Android được xây dựng trên bộ nhân Linux 2.6 cho những dịch vụ
hệ thống cốt lõi như: security, memory management, process management, network
34
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
stack, driver model. Bộ nhân này làm nhiệm vụ như một lớp trung gian kết nối phần cứng
thiết bị và phần ứng dụng.
Hình 3.19 : mô hình hợp tác giữa máy ảo Dalvik và Navite code
JNI: Java Native Interface (Tương tự khái niệm Application Programming Interface).
Java Native Interface: là một bộ framework cho phép mã lệnh viết bằng Java chạy trên
máy ảo java có thể gọi hoặc được gọi bởi một ứng dụng viết bằng native code (Ứng dụng
được viết cho một phần cứng cụ thể và trên một hệ điều hành cụ thể) hoặc những bộ thư
viện viết bằng C, C++ hoặc Assembly.
Bằng cách sử dụng JNI, Android cho phép các ứng dụng chạy trên máy ảo Dalvik
có thể sử dụng những phương thức được viết bằng các ngôn ngữ cấp thấp như: C, C++,
Assembly. Qua đó các nhà phát triển ứng dụng có thể xây dựng ứng dụng dựa trên các bộ
thư viện viết bằng C, C++, Assembly nhằm tăng tốc độ thực thi của ứng dụng hoặc sử
dụng những tính năng mức thấp mà ngôn ngữ Java không hổ trợ. Tuy nhiên người phát
triển ứng dụng cần phải cân nhắc sự gia tăng độ phức tạp của ứng dụng khi quyết định sử
dụng các bộ thư viện này.
3.2.5 Chu kỳ ứng dụng trên andorid
Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho ứng dụng
khi codes cần được run và sẽ còn chạy cho đến khi:
- Nó không phụ thuộc.
- Hệ thống cần lấy lại bộ nhớ mà nó chiếm giữ cho các ứng dụng khác. Một sự
khác thường và đặc tính cơ bản của Android là thời gian sống của tiến trình ứng dụng
không được điều khiển trực tiếp bới chính nó. Thay vào đó, nó được xác định bởi hệ
thống qua một kết hợp của:
- Những phần của ứng dụng mà hệ thống biết đang chạy
- Những phần quan trọng như thế nào đối với người dùng
35
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
36
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
37
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
màn hình. Một Activity tạm dừng là còn sống nhưng có thể bị kết thúc bởi hệ thống
trong trường hợp thiếu vùng nhớ.
- Stopped: Nếu nó hoàn toàn bao phủ bởi Activity khác. Nó vẫn còn trạng thái và
thông tin thành viên trong nó. Người dùng không thấy nó và thường bị loại bỏ trong
trường hợp hệ thống cần vùng nhớ cho tác vụ khác.
3.2.5.4 Chu kỳ sông của ứng dụng
Trong một ứng dụng Android có chứa nhiều thành phần và mỗi thành phần đều có một
chu trình sống riêng. Và ứng dụng chỉ được gọi là kết thúc khi tất cả các thành phần
trong ứng dụng kết thúc. Activity là một thành phần cho phép người dùng giao tiếp với
ứng dụng. Tuy nhiên, khi tất cả các Activity kết thúc và người dùng không còn giao tiếp
được với ứng dụng nữa nhưng không có nghĩa là ứng dụng đã kết thúc. Bởi vì ngoài
Activity là thành phần có khả năng tương tác người dùng thì còn có các thành phần
không có khả năng tương tác với người dùng như là Service, Broadcast receiver. Có
nghĩa là những thành phần không tương tác người dùng có thể chạy background dưới sự
giám sát của hệ điều hành cho đến khi người dùng tự tắt chúng.
3.2.5.5 Các sự kiện trong chu kỳ sống của ứng dụng
Nếu một Activity được tạm dừng hoặc dừng hẳn, hệ thống có thể bỏ thông tin khác của
nó từ vùng nhớ bởi việc finish() (gọi hàm finish() của nó), hoặc đơn giản giết tiến trình
của nó. Khi nó được hiển thị lần nữa với người dùng, nó phải được hoàn toàn restart và
phục hồi lại trạng thái trước. Khi một Activity chuyển qua chuyển lại giữa các trạng
thái, nó phải báo việc chuyển của nó bằng việc gọi hàm transition.
Tất cả các phương thức là những móc nối mà bạn có thể override để làm tương thich
công việc trong ứng dụng khi thay đổi trạng thái. Tất cả các Activity bắt buộc phải có
onCreate() để khởi tạo ứng dụng. Nhiều Activity sẽ cũng hiện thực onPause() để xác
nhận việc thay đổi dữ liệu và mặt khác chuẩn bị dừng hoạt động với người dùng.
3.2.5.6 Thời gian sống cảu ứng dụng
Bảy phương thức chuyển tiếp định nghĩa trong chu kỳ sống của một Activity. Thời gian
sống của một Activity diễn ra giữa lần đầu tiên gọi onCreate() đến trạng thái cuối cùng
gọi onDestroy(). Một Activity khởi tạo toàn bộ trạng thái toàn cục trong onCreate(), và
giải phóng các tài nguyên đang tồn tại trong onDestroy().
3.2.5.7 Thời gian hiển thị của Activity
Visible lifetime của một activity diễn ra giữa lần gọi một onStart() cho đến khi gọi
onStop(). Trong suốt khoảng thời gian này người dùng có thể thấy activity trên màn
hình, có nghĩa là nó không bị foreground hoặc đang tương tác với người dùng. Giữa 2
phương thức người dùng có thể duy trì tài nguyên để hiển thị activity đến người dùng.
3.2.5.8 Các phương thức của chu kỳ sống
Phương thức: onCreate()
- Được gọi khi activity lần đầu tiên được tạo
- Ở đây bạn làm tất cả các cài đặt tĩnh (tạo các view, kết nối dữ liệu đến list…)
- Phương thức này gửi qua một đối tượngBundle chứa đựng từ trạng thái
trược của Activity
- Luôn theo sau bởi onStart()
38
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
39
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
40
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
Hình 4.2 icon ứng dụng Hình 4.3 Giao diện điều khiển
41
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
Hình 4.4 Thông tin ứng dụng Hình 4.5 Dò tìm thiết bị
4.2.2 Thiết kế phần cứng
Sơ đồ khối tổng quát
42
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
43
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
44
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
+ 4 chân OUTPUT: OUT1, OU2, OUT3, OUT4 được nối với các chân 2,3,13,14
của L298. Các chân này được nối với động cơ
+ hai chân ENA và ENB dùng để điều khiển các mạch cầu H trong L298. Nếu
mức logic “1” thì cho phép mach cầu H hoạt động, nếu mức logic “0” thì mạch cầu H
không hoạt động
+ ENA=0: động cơ không hoạt động
+ ENA=1:
Khi IN1=1, IN2=0 động cơ quay thuận
Khi IN1=0, IN2=1 động cơ quay nghịch
Tương tự cho 2 chân còn lại
Sơ đồ nguyên lý IC L298
45
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
46
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
47
Đề tài: Xe điều khiển từ xa dùng Android GVHD: Ths. Tôn Thất Bảo Đạt
48