Các hệ điều hành của nhiều hãng lần lượt ra đời và liên tục phát triển, cập nhật nhiều phiên bản mới, đem lại sự thuận tiện cho người sử dụng như: Windows Mobile, Android, iphone OS, Bla
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUONG DAI HOC SU’ PHAM KY THUAT
THÀNH PHÓ HÒ CHÍ MINH
HGMUIIE
ĐỎ ÁN TÓT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN - ĐIỆN TỬ
THIET KE UNG DUNG DIEU KHIÊN VÀ GIÁM SÁT
THIET BI TREN HE DIEU HANH ANDROID
GVHD: NGUYEN VAN HIEP
SVTH: TRAN KHOA
TP Hồ Chí Minh, thang 07/2014
Trang 2
BỘ GIÁO DỤC & ĐÀO TẠO
NG DAI HQC SU PHAM KY THUAT TP HO CHi MINH
KHOA ĐIỆN — ĐIỆN TỬ
BỘ MÔN ĐIỆN TỦ-CÔNG NGHIỆP
ĐÔ ÁN TÓT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN ĐIỆN TỬ
THIET KE UNG DUNG DIEU KHIEN & GIAM SAT
THIET BI TREN HE DIEU HANH ANDROID
GVHD: Th.S Nguyễn Văn Hiệp SVTH: Trin Khoa -10101066 Lớp: 101012
Tp Hồ Chí Minh - 07/2014
Trang 3NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Tp HCM, ngày ˆ tháng 7 năm 2014
Giảng viên phản biện
Trang 5PHẢN A
GIỚI THIỆU
Trang 6TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Chuyén nganh: Kỹ thuật Điện - Điện tử
Hệ đào tạo: Đại học chính quy
I TÊN ĐÈ TÀI: THIẾT KÉ ỨNG DUNG DIEU KHIEN & GIAM SAT(BANG CAMERA)
THIET BI TREN HE DIEU HANH ANDROID
II NI VỤ)
1 Các số liệu ban đâu:
II NGÀY GIAO NHIỆM VỤ 10/3/2014
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 12/7/2014
eer
ii
Trang 7TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc
Bộ Môn Điện Tử - Công nghiệp ——————
"Tên đề tài: THIET KE ỨNG DỤNG ĐIỀU KHIỂN & GIÁM SÁT(BẰNG CAMERA)
THIẾT BỊ TRÊN HỆ DIEU HANH ANDROID
10/03-23/03 ‘Tim hiệu phần mềm Eclipse, thiết kế giao diện
_ android don gian
24/03-06/04 - Tim hiệu PHP, MySgl, cách tạo và sử dụng
| CSDL
07/04-20/04 a hiều cách liên kết ứng dụng Android với
SQL
21/04-11/05 | Hoan thién ứng dụng Android
12/05-01/06 Tim hiéu C#, cach lién ket voi PHP,MySQL ,
phương pháp điêu khién thiét bi bang C#
02/06-15/06 Hoàn thiện ứng dụng điêu khiên trên máy tinh
16/06-29/06 Thiêt kê, thi công mạch điêu khiên, công suất
30/06-12/07 Hoàn thành sách báo cáo
Trang 8LỜI MỞ ĐẦU
Ngày nay Khoa học kỹ thuật càng ngày càng phát triển, đặc biệt về các thiết bị di động thông 1 minh (Smart Phone, PDA, Table PC ) ngày càng phát triển mạnh, kèm theo đó là những
„ ngừng của kỹ thuật điều khiển Một trong những hình thức điều khiển phổ biến
hiện nay là điều khiển từ xa do nó có khả năng điều khiển ở những nơi không cần hoặc ít cần sự tác động trực tiếp của con người
Bên cạnh đó, hệ điều hành cho các thiết bị di động đó cũng phát triển mạnh không kém Các hệ điều hành của nhiều hãng lần lượt ra đời và liên tục phát triển, cập nhật nhiều phiên bản mới, đem lại sự thuận tiện cho người sử dụng như: Windows Mobile, Android, iphone OS, Black Berry OS, Palm OS, Symbian
Đặc biệt trong đó là hệ điều hành Android của google có những ưu điểm vượt trội sau:
> Android được người dùng ưa chuộng, vì chúng được tạo nên từ nền tảng nguồn
Mở nên cho phép người dùng có thể tùy biến nhiề trên đó Mặt khác, với Android thiết bị neue du eng đòi hỏi phải có một cầu hình tối thiểu nào cả, chúng có thể hoạt động trên
trợ đa nhiệm cho phép bạn chạy nhiều ứng, dụng một lúc
»b ¿ điện Android của Google rất thân thiện với người dùng, vì thế chúng dễ
ơn thích thích với rất nhiều phần cứng của các hãng sản xuất khác nhau
ng, LG, HTC, Sony nén người dùng sẽ có nhiều lựa chọn thiết bị phan cimg cua 1 ig khác nhau với mức giá cũng phong phú
Tắt cả những điều đó đang khiến cho Android trở nên phô biến nhất trong phân khúc hệ diều hành dành cho điện thoại di động Vì vậy nhóm sinh viên thực hiện đã quyết định chọn đề tài tốt nghiệp là thiết kế ứng dụng :
THIET KE UNG DUNG DIEU KHIEN & GIAM SAT(BANG CAMERA) THIET BI
TREN HE DIEU HANH ANDROID
Những kiến thức, năng lực đạt được trong quá trình học tập ở trường sẽ được đánh
giá qua đợt bảo vệ đồ án cuối khóa Vì vậy nhóm sinh viên thực hiện đề tài cố gắng tận
dụng những kiến thức đã học ở trường cùng với sự tìm tòi, nghiên cứu cùng với sự hướng
dẫn tận tình của Giáo viên hướng dẫn cùng Thầy/Cô thuộc Khoa Điện-Điện Tử để có thể
hoàn thành tốt đồ án này
Mặc dù người thực hiện đề tài đã cố gắng hoàn thành nhiệm vụ đề tài đặt ra và đúng thời hạn nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, mong quý Thay/Co va các bạn sinh viên thông cảm Người thực hiện đề tài mong nhận được những ý kiến đóng góp của quý Thầy/Cô và các bạn sinh viên
Xin chân thành cảm ơn!
Người thực hiện đề tài
Đỗ Ngọc Duy Trần Khoa
iv
Trang 9LỜI CẮM ƠN
- Nhóm xin gởi lời cảm ơn sâu sắc đến Thầy Nguyễn Văn Hiệp đã trực tiếp hướng dan và tận tình giúp đỡ tạo điều kiện để hoàn thành tốt dé tai
Nhóm xin gởi lời chân thành cảm ơn các thầy cô trong Khoa Điện-Điện Tử và như
đã tạo những điều kiện tốt nhất cho em hoàn thành đề tài
Nhóm cũng gửi lời đồng cảm ơn đến các bạn lớp 101012 đã chia sẻ trao đổi kiến thức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đề tài
Xin chân thành cảm ơn!
Người thực hiện đề tài
Đỗ Ngọc Duy
Tran Khoa
Trang 10- MỤC LỤC
PHAN A: GIOI THIEU
CHƯƠNG II: CƠ SỞ LÝ THUYÉT
2.1 Giới thiệu hệ điều hành android
2.1.1 Tổng quan
2.1.2 Lịch sử phát triên
2.1.3 Cơ sở lập trình
2.2 Các công cụ truyền dẫn dữ liệu
FA) WY GOR Ve PED so nno nga 00 00 0g 10 gi 00 0618t01Aextmeeeeerrmee 8
CHƯƠNG III: YEU CAU CHUNG & PHÀN CỨNG Ta 11
3.1 Bài toán thiết kế
Trang 113.2 Yêu cầu đặt ra trong từng phần it tH 4 0 1401012122200 xe 12 3.2.1 Ứng dụng Android
3.2.2 Phần mềm điều khiển trên máy tính
CHƯƠNG IV: THIẾT KÉ ỨNG DỤNG ANDROID - „17
4.1 Giới thiệu phần mềm lập trình :t:+t+22+2222221222222222222.2222222ccse 18 4.2 Giới thiệu lưu đồ ứng dụng
4.2.1 I.ưu đó đáng nhậ|
4.2.2 Lưu đó điều khiễn thiết bị
4.2.3 Lưu đó ziám sát bằng camera
4.4.3 Hẹn giờ tắt mở thiết bị 222cc LE.1 1121211211220 Xe 35
CHƯƠNG V:LIÊN KÉT DỮ LIỆU & ĐIỀU KHIỂN 38
5.1 Liên kết dữ liệu
5.1.1 Đường truyền dữ liệu .cecvvvvverreereeeeererrrerrrrrrerrrerrreoeeoee 2
5.1.2 Cài đặt host trên máy tính
Trang 125.1.3 Tao cơ sỡ dữ liệu
5.2 Phần mềm điều khiển trên máy tính
Ì9Bi1V/30480á15a038u/031430418012088v405231800:64061880dÓ 42
CHƯƠNG VI: KÉT QUẢ cca G0390 ATTEND Te 54
6.1 Ung dung Android
6.2 Phần mềm điều khi
6.3 Mạch điều khiển
CHUONG VII: KẾT LUẬN & HƯỚNG PHÁT TRIẺN 63
7.1 Kết quả nghiên cứu
Trang 13LIỆT KÊ HÌNH VẼ
Hình 2.1.1Biéu tượng các phiên bàn Android
Hình 2.2.1 Mạch giao tiếp dùng Max232
Hình 3.1.1 Sơ đồ hệ thống
Hình 3.3.2 Sơ đồ nguyên lý khối nguồn
Hình 3.3.3 Sờ đồ nguyên lý khối R§232, pic16f887
Hình 3.3.4 Sơ đồ nguyên lý khối công suất
Hình 3.3.5 Mạch thực tế sau thi công
Hinh 4.2.11aru đồ chính của ứng dụng
1linh 4.2.2 [ưu đã đăng nhập
Hình 4.2.3 Lưu đá đổi mật khầu
Hình 4.2.4 Lưu đá, điều khiển bằng tay
Hình 4.2.5 Lưu 44 điều khiển bằng giọng nói
Hình 4.2.6 Luu 46 giao dién gidm sat
Hình 4.3.1 Céc thanh phan chinh trong ứng dụng android
Hình 4.3.2 Giao diện đáng nhập
Hình 4.3.3 Giao diện đáng nhập sai
Hình 4.3.4 Giao diện đôi mật khẩu
Hình 4.3.5 Tab thiết bị
Hình 4.3.6 Đặt tên cho thiết
Hình 4.3.8 Ra lênh bằng giọng nói
Hình 4.3.9 Tab hẹn giờ
Hinh 4.3.10 Chọn thời gian hẹn gi
Hình 4.3.11 Tab giám sát
Hình 4.4.1 WebView trong eclipse
Hình 5.1.1 Lưu đồ liên kết dữ liệu
Hình 5.1.2 Sơ đồ điều khiển thiết b
Hình 5.1.3 Giao diện xampp
Hình 5.1.4 Mở port locallhost trên modem -o57cscSo+vscerxrerrrererksree 40
Hình 5.1.5 Cơ sở dữ liệu trên MySQL
Hình 5.2.1 Phần mềm điều khiển trên máy tính .ccccccccsecvcccveecveeree 43
Trang 14Hình 6.1.1 Giao diện đăng nhập
Hình 6.1.2 Giao diện đăng nhập sai 22 2222111724227222211.2211- tr 56
Hình 6.1.3 Giao diện đổi mật khẩu
Hình 6.1.4 Giao diện điều khiển bằng tay
Hình 6.1.5 Giao diện điều khiển bằng giọng n‹
Hình 6.1.6 Đặt tên cho thiết bị
Hình 6.1.7 Giao diện cài đặt nhiệt độ giới hạn
Hình 6.1.8 Giao diện hẹn gi
Hình 6.1.9 Giao diện cài đặt gị
Minh 6.1.10 Giao diện giám sát
IIình 6.2.1 Phần mềm điều khiển trên máy tính
Hinh 6.3.1 Mạch điều khiển, cảm biến nhiệt và camera ccc-zcc2c2zccczz 62
Trang 15PHẢN B
NOI DUNG
Trang 17pO AN TOT NGHIỆP
nee
Ngày nay Khoa học kỹ thuật càng ngày càng phát triển, đặc biệt về các thiết bị di
động thông minh (Smart Phone, PDA, Table PC ) ngày càng phát triển mạnh, kèm
theo đó là những tiến bộ không ngừng của kỹ thuật điều khiển Một trong những hình
thức điều khiển phổ biến hiện nay là điều khiển từ xa do nó có khả năng, điều khiển ở
những nơi không cần hoặc ít cần sự tác động trực tiếp của con người
Bên cạnh đó, hệ điều hành cho các thiết bị di động đó cũng phát triển mạnh
không kém Các hệ điều hành của nhiều hãng lần lượt ra đời và liên tục phát triển, cập nhật nhiều phiên bản mới, đem lại sự thuận tiện cho người sử dụng như: Windows
Mobile, Android, iphone OS, Black Berry OS, Palm OS, Symbian
Đặc biệt trong đó là hệ điều hành Android của google có những ưu điểm vượt
trội sau:
> Android được người dùng ưa chuộng vì chúng được tạo nên từ nền tang
ngudn ing nén cho phép người dùng có thể tùy biến nhiều trên đó Mặt khác, với
Android thiết bị người dùng không đòi hỏi phải có một cầu hình tối thiểu nào cả,
chúng có thé hoạt động trên mọi cầu hình
> _ Hỗ trợ đa nhiệm cho phép bạn chạy nhiều ứng dụng một lúc
diện Android của Google rất thân thiện với người dùng, vì thế
gv É mật sử dụng
ño ứng dụng Android phong phú Với Android, người dùng sẽ không,
han tai ứng dụng từ kho ứng dụng cũng như được sử dụng miễn phí ứ
> Dotương thích thích với rất nhiều phần cứng của các hãng sản xuất khác nhau trên thế giới như Samsung, LG, HTC, Sony nên người dùng sẽ có nhiều lựa chọn thiết bị phán cứng của nhiều hãng khác nhau với mức giá cũng phong phú
Tất cả những điều đó đang khiến cho Android trở nên phổ biến nhất trong phân khúc hệ điều hành dành cho điện thoại di i dong Vì vậy nhóm sinh viên thực hiện đã quyết định chọn để tài tốt nghiệp là thiết kế ứng dụng :
THIET KE UNG DUNG DIEU KHIEN & GIAM SAT(BANG CAMERA) THIẾT BỊ
TREN HE DIEU HANH ANDROID
Các mục tiêu cần thực hiện trong đề tài:
> Thiết kế phần mềm Android hoàn chỉnh có thể chạy được trên các thiết
bị chạy hệ điều hành Android 4.0 trở lên Chương trình có thể điều khiển bật tắt thiết bị từ xa bằng giao diện android hoặc bằng giọng nói tiếng Việt, giám sát từ xa bằng camera ip và theo đối nhiệt độ tại vị trí định trước
»> Thiết kế và cài đặt các đối tượng truyền dẫn dữ liệu từ thiết bị Android tới mạch điều khiển thiết bị ngoại vi ( sử dụng CSDL MySQL, PHP, Java, C#)
> — Thiét ké va thi công mạch phần cứng điều khiển trực tiếp các thiết bị ngoại vi thông qua các dữ liệu từ thiết bị Android, các thiết bị ngoại vỉ có thể thay
đổi linh hoạt theo các nhu cầu thực tế của người sử dụng
=—ễễễễễễễễễễễỄễễỄễỄễỄ
Trang 18ĐỒ AN TÓT NGHIỆP
cr
>_ Nhóm sinh viên chỉ thực hiện thiết kế chương trình trên nền tảng hệ điều
hành Android, các hệ điều hành khác như IOS, Blackbery OS, Window Phone
nằm ngoài phạm vi đề tài,
> _ Do quá trình lấy dữ liệu về phần cứng diễn ra liên tục nên có thể Xây ra
quá trình khóa IP từ webhost
> Quátrình nhận dạng giọng nói có thể sai lệch do người dùng sử dụng từ ngữ địa phương, vùng miền khó nhận dạng với giọng đọc chuẩn
>> -_ Quá trình thực thi lệnh có thể xảy ra hiện tượng đơ, giật do lỗi từ thiết bị
Android hay độ thiếu én định của đường truyền mạng,
3 _ Chỉ hoạt động trên các thiết bị sử dụng hệ điều hành Android 4.0 trở lên
Sau khi được sự chấp nhận đề tài nghiên cứu của thầy hướng dẫn, nhóm sinh
viên đã tưng bước tiền hành đề tài như sau:
thành và phát triển, các phiên bản hiện có, thị phần và khả năng phát triển của
Android OS
>_ Tái v4 cái đặt các phần mềm phục vụ cho việc lập trình phần mềm ứng
dụng Android OS
>_ Bảng những kiến thức cơ bản có được từ việc đọc sách tham khảo và các nguồn tài nguy én khác trên mạng Tiến hành viết và chạy thử nghiệm những ứng dung đơn giãn để hiểu rõ thêm về cách sử dụng các thành phân đối tượng có trong
bộ lập trình Android OS
>> _ Phát thảo về giao diện, tính năng, các đối tượng sẽ được sử dụng để lập
trình cho phân ứng dụng
>> Thiết kế và chỉnh sửa sao cho hoàn chỉnh ứng dụng
> Tiến hành nghiên cứu phương thức trao đổi dữ liệu qua server, php và
Cứ
> Thiết kế mã nguồn cho ứng dụng
> Tiến hành chạy thử nghiệm mô phỏng trên máy tính để phát hiện các lỗi
cú pháp và lỗi logic của bộ chương trình
>> Sau khi đã chạy mô phỏng hoàn chỉnh trên máy tính, tiến hành cài đặt
chương trình chạy thực tế trên các loại thiết bị di động cầm tay chạy hệ điều hành
Android để phát hiện lỗi chạy thực tê, kiếm nghiệm tính tương thích của phân mềm
> Tiến hành viết báo cáo
1.5 ĐÓI TƯỢNG NGHIÊN CỨU
Trang 19ĐÔ AN TOT NGHIỆP
Vì lý do giới hạn về thời gian nghiên cứu đề tài, cũng như có những giới hạn nhất
định về kiến thức chuyên ngành, nhóm sinh viên thực hiện đề tài tốt nghiệp chỉ tập trung nghiên cứu một số vấn đề chính của hệ điệu hành Android:
> Lịch sử hình thành, phát triển
> — Cac phién bản hiện có
> Biết cách cài đặt, cấu hình và sử dụng các bộ công cụ dùng cho việc lập
trình, phát triển phần mềm ứng dụng
> Biết cách tạo mới một project, biên dịch và đóng gói projeet
> — §814t cách sử dụng các thành phần cơ bản thường hay sử dụng khi thiết kế
giao diện v2 lập trình mã nguôn như: TextView, EditText, Button, ListView tir
đó có thể được hâu như các ứng dụng thông thường,
>> Biết cách thém các tài nguyên (Resource) từ bên ngoài vào project dang phát triển n? ¡nh ảnh, âm thanh, cơ sở dữ liệu
> Biết một lượng kiến thức cơ bản về lập trình PHP, C#
CHUONG I: DAN NHAP
Trang 20CHƯƠNG II
CO SO LY THUYET
Trang 21ĐỒ AN TÓT NGHIỆP :
rr
2.1 GIGI THIEU HE DIEU HANH ANDROID
2.1.1 Téng quan:
Android là hệ điều hành trên điện thoại di động máy tính bảng và notebooks (va hiện
nay là cả trên một số đầu phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng
Linux và các phần mềm nguồn mở Ban đầu nó được phát triển bởi Android Ine (sau đó được
Google mua lại vào năm 2005) Sự ra mắt của Android vào ngày 5 tháng 11 năm 2007 gắn
với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở với tên gọi OHA (Open Handset Alliance) bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên
một chuẩn mở cho điện thoại di động trong tương lai Andorid được phát triển nhằm cạnh
(Microsoft), Symbian (Nokia), Samsung (Bada), WebOS (Palm)
Android có một cộng đồng phát triển ứng dụng rất lớn, hiện có khoảng 800.000 ứng dụng có sẵn cho Android (6/2014) và đang liên tục được cập nhật Ứng dụng được phát triển
bảng ngồn ngũ Java kết hợp với thư viện Java có sẵn của Google Các nhà phát triển ứng
đụng có thế sự dụag máy tính chạy hệ điều hành Windows hoặc MacOS hoặc Linux kết hợp
với Android SI2K 4¿ phát triển ứng dụng cho Android
2.1.2 Lịch sử phát triển:
Tap doan Android (Inc) duge thanh lap tại Palo Alto, California, Hoa Kỳ vào tháng 10
nam 2003 boi An in, Rich Miner, va mét số thành viên khác, với mục đích đẻ phát triển
hay tạo ra các i di déng thang minh hơn phục vụ các mục đích cho lợi ích con người
Nhan vién chink tham gia 4o việc thành lập Android Ine bao gồm Andy Rubin, cũng là đồng
sang lép cia Danger Inc, Andy McFadden la ngudi da lam vigc voi Rubin tai WebTV, và
Chris White người đã lành đạo việc thiết kế và giao diện của WebTV Nhân viên quan trọng
khác bao gồm Richard Miner, đông sáng lập cia Wildfire Communications Inc va cyu pho
chủ tịch công nghệ và tương lai 6 Orange, va tắt cả những người trong số họ sử dụng các kinh
nghiệm có được để góp phản vào việc phát triển ngành công nghiệp không dây của công ty
Bước đầu, hệ điều hành Android chỉ đơn thuần là phần mềm trên điện thoại di động
Tháng 7 năm 2005, Google mua lại Android, Ine., một công ty nhỏ mới thành lập có trụ sở ở Palo Alto, California, Mỹ Những nhà đồng sáng lập của Android chuyển sang làm
việc tại Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng
lập céng ty Wildfire Communications), Nick Sears (từng là phó chủ tịch của T-Mobile), và
Chris White (trưởng nhóm thiết kế va phát trién giao diện tai WebTV) Khi d6, có rất ít thông tin về các công việc của Android, ngoại trừ việc họ đang phát triển phần mềm cho điện thoại
di động Điều này tạo những tin đồn về việc Google có ý định bước vào thị trường điện thoại
di động
Va sau tiếp, vào cuối năm 2007, thuộc về Liên minh Thiết bị CẦm tay Mã Nguồn mở
(Open Handset Alliance) gồm các thành viên nôi bật trong ngành viễn thông và thiết bị cằm
tay như: Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG, Marvell
Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, T-
Mobile, ARM Holdings, Atheros Communications, Asustek Computer Inc, Garmin Ltd,
CHUONG I: CO SO LY THUYET 6
Trang 22pO AN TÓT NGHIỆP
———_——
Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group Muc 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, các nhà khai thác và các lập trình viên trên các 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 GI, 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
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 biệ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 cùng thời gian đó thì Google cũng cho
phái hành một phiên bản vá lỗi 1.1 của hệ điều hành này Ở cả hai phiên bản 1.0 va 1.1
Android chua bŠ ượ soft-keyboard mà đòi hỏi các thiết bị phải sử dụng bàn phím vật lý
Lập trình Android hiện nay đang thục hiện trên nền Java, ngoài ra cần bộ công cụ phát
triển ứng dụng Android SDK để bắt đầu học lập trình Android Có rất nhiều các công cụ cho
phép tiến hành lập trình Android nhu Android Studio, Eclipse, NetBean 6 trong đề tài này,
nhóm sinh viên làm việc với Eclipse để lập trình Android Do các công cụ để phát triển chương trình càng ngày càng được cập nhật mới và dễ đàng tìm thây trên các công cụ tìm
kiếm hiện nay nên nhóm sinh viên sẽ không trực tiếp đề cập tới quá trình cài đặt các công cụ
này Các thành phần chính của 1 ứng dụng Android:
CC
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 7
Trang 23ĐỎ ÁN TÓT NGHIỆP
"¬————
hiệu một cách đơn giản thì Activity là nền của 1 ứng dụng Khi khởi động 1
ứng dụng Android nào đó thì bao giờ cũng có I main Activity được gọi, hiển thị màn hình
giao diện của ứng dụng cho phép người dùng tương tác,
‘Service: thanh phan chay dn trong Android Service sử dụng để update dữ liệu, đưa ra
các cảnh béo (Notification) và không bao giờ hiển thị cho người dùng thấy
Content Provider: kho dữ liệu chia sẻ Content Provider được sử dụng để quản lý và chia sé dữ liệu giữa các ứng dụng
Intent: nén tang dé truyén tai céc thông báo Intent được sử dụng để gửi các thông báo
di nhim khéi tao 1 Activity hay Service để thực hiện công việc bạn mong muốn
Broadcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới
Notification: dua ra các cảnh báo mà không làm cho các Aetivity phải ngừng hoạt
động,
Activity, Service, Broadcast Receiver va Content Provider mới là những thành phần chính cấu
thánh nên ứng đụng Android, bắt buộc phải khai báo trong AndroidManifest
2.2.1 MySQL wa PHP:
MySQL la hé quan trj dit ligu mién phi, được tích hợp sử dụng chung với apache, PHP
éu 16 ‘ong cong dong mã nguồn mở nên mySQL đã qua rất nhiều sự hỗ trợ
mã lệnh tương tự với z25n nøữ SQL Nhưng MySQL không bao quát toàn bộ những câu truy
vấn cao cấp như SQL Về bán chất MySQL chỉ đáp ứng việc truy xuất đơn giản trong quá trình vận hành của website nhưng hầu hết có thẻ giải quyết các bài toán trong PHP
Sự kết hợp giữa PHP và My§QL giúp chúng ta có được một ứng dụng web hoàn hảo,
đáp ứng được các nhu cầu của người dùng như mua hàng, đọc báo, xem tin tức, xem phim,
nghe nhạc Ở để tài này, chúng ta kết nối từ PHP đến MYSQL cho công việc lưu trữ và
truyền dẫn dữ liệu đến các thiết bị ngoại vi
Kiến trúc cơ bản:
Kiến trúc căn bản nhất đề trang Dynamic Web hoạt động được là nó phải làm việc trên
mô hình client/server Nôm na là mỗi thứ client hay server đều đảm đương một chức năng
riêng để hoàn thành công việc chung đó là cho ra một trang Web động Ứng dụng Web phải
có một mô hình server có thể là một máy tính làm server thôi, nhằm tập trung hoá việc xử ý
dữ liệu Còn các client, còn được hiểu nôm na là máy tính của người sử dụng phải được nối
mạng với server, giả sử các máy này truy cập vào mbt Website chẳng hạn, thì có nghĩa họ đã
truy cập vào server, sau đó lấy dữ liệu từ server vê thê hiện lên máy mình Cùng một lúc có
CHƯƠNG II: CƠ SỞ LÝ THUYẾT 5
Trang 24pO AN TOT NGHIỆP
es thể có hàng trăm người (client) truy €ập vào cùng một Website được xử lý tập trung trên
server
sir dung tinh nang single Client dé la tinh nang HttpGet trén nền Android, >
Server: Hầu hết các ứng dựng Web đều hoạt động tập trung trên Server Một
ứng dụng đặc trưng gọi là Web Server sẽ đảm trách việc giao tiếp với các trình duyệt Một Cơ
sở dữ liệu (CSDL) trên Server sẽ lưu trữ tắt cả những thông tin đáp ứng yêu cầu cho công việc
của ứng dụng Web Kế tiếp, cần phải có một ngôn ngữ làm vai trò "liên lạc" giữa Web Server và CSDL trên server Ngôn ngữ này cũng thực hiện các công việc xử lý thông tin đến
va di tir Web Server, và ở đề tài này là PHP,
2.2.2 Vài nét về Visual Studio sử dụng Cứ:
Phần quan trọng của Visual Studio -NET là các công nghệ mới với trung tâm là NET
Framework - lập các tính năng Windows được xây dựng trên nền tảng môi trường thực thi hain ngit chung (CLR ~ Common Language Runtime), trén đó là các lớp thư viện dùng để xây dựng ứng dụng Windows, ứng dụng web và dịch vụ web XML Tắt cả ngôn ngữ NET
đều được dịch v2 dạng ngôn ngữ trung gian của Microsoft (MSIL — Microsoft Intermediate Language) wude réi méi duge dich sang dang ma thuc thi béi một trình dịch JIT (Tust — in
Time) uén nén NE
CLR va MSIL cho phép tắt ca các ngôn ngữ NET làm việc với nhau
Trình dich JIT cung cấp thêm khả năng bảo mật, tính an toàn lúc thực thi và khả năng
chạy trên nhiều sén táng (Microsoft cho biết sẽ dùng một tập con chuẩn hoá của NET
Framework - được gi i4 nên tảng ngôn ngữ chung” - để xây dựng một thể hiện trên
FreeBSD)
C# một ngôn ngữ phát triển từ C++ có nhiều nét giống Java, được đưa vào VS.NET là
Visual C#.NET Tương tự, ngôn ngữ Visual C++ quen thuộc được đóng gói vào VS.NET là
Visual C++.NET bao gom phân C++ truyền thống dùng cho ứng dụng độc lập với phần mở
rộng để dùng với nền NET
C# là nhánh phát triển theo hướng module và đơn giản hóa của C++, cộng thêm một
số ý tưởng từ ngôn ngữ khác Trong C# mọi thứ thật sự là đối tượng: ngay cả những dạng cơ bản như int cũng có thể được đóng gói thành lớp đối tượng gốc Không có sự kế thừa đa lớp,
thay vì vậy, có một cơ chế đa giao tiếp (interface) C# có toán tử new, nhưng ko có toán tử
delete, NET #amework đã xây dựng cơ chế thu dọn “rác” cho tất cả các ngôn ngữ lập trình trên nền NET
Có thể điểm qua 1 số ưu điểm của C# như:
~ C# là “thổ ngữ” của NET, được thiết kế tốt cho CLR
C# kết hợp sức mạnh và sự chính xác của C++ với tính dé phat trién cia Visual
Basic
~_ O# có cơ chế tạo tài liệu chương trình rất hay dùng chú thích /// mà các ngôn ngữ
-NET khác chưa có Visual C# có thể hiển thị các chú thích này như cửa sổ trợ giúp
C# dễ dùng, nó tương tự như C+t, Java và Javascript, và môi trường phát triển
¬———-ễ
Trang 25ĐỎ ÁN TÓT NGHIỆP
————
thân thiện (ví dụ các lỗi được gạch dưới giống như cách mà Microsoft Word gạch dưới những
từ sai chính tả hay sai ngữ pháp)
a Do đó, nhóm sinh viên đã dùng C# để lập trình chương trình phần mềm trên
máy tính
2.2.3 Chuẩn kết nối RS232:
Van dé giao tiếp giữa PC và vi điều khién rét quan trong trong các ứng dụng điều khiển,
đo lường Ghép nỗi qua cổng nối tiếp RS232 là một trong những kỹ thuật được sử dụng rộng
rãi để ghép nối các thiết bị ngoại vi với máy tính Nó là một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nói nhiều nhất là 2 thiết bị, chiều dài kết nối lớn nhất cho phép
để dâm bảo dữ liệu là 12,5 đến 25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số
thiết bị đặc biệt Ý nghĩa của chuẩn truyền thông nổi tiếp nghĩa là trong một thời điểm chỉ có
một bịt được gửi đi đọc theo đường truyền
> Uu diém ciz gizo dién nói tiếp RS232
+Khả náng chóng nhiễu của các công nối tiếp cao
+Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện + Các mạch điện đơn giản có thẻ nhận được điện áp nguồn nuôi qua công nối tiếp Mạch chuẩn giao tiếp RS232 ding IC Max232:
Max232 là IC chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi Max232 là IC của
hang Maxim Day la IC chay ổn định và được sử dụng phổ biến trong các mạch giao lếp
chuẩn RS232 Giá thành của Max232 phù hợp và tích hợp trong đó hai kênh truyền cho chuẩn
RS232 Dòng tín hiệu được thiết kế cho chuẩn RS232 Mỗi đầu truyền ra và công nhận tín
hiệu đều được bảo vệ chống lại sự phóng tính điện (1SKV) Ngoài ra Max232 còn được thiết
kế với nguồn +5V cung cắp nguồn công suất nhỏ Mạch giao tiếp như sau :
CHƯƠNG II: CƠ SỞ LÝ THUYET a
Trang 26ca c2-
TAIN
RAIN R40UT NÊN 820UT
Trang 27CHUONG III
YEU CAU CHUNG
&
PHAN CUNG
Trang 28ĐỎ ÁN TÓT NGHIỆP
3.1 BÀI TOÁN THIẾT KÉ
Để thực hiện đề tài, nhóm đã tiến hành xây dựng sơ đồ hệ thống, từ đó tiến hành thiết kế từng phần chỉ tiết
Như trên sơ đỏ, thiết bị Android sẽ được dùng để điều khiển, gửi tín hiệu thông
qua internet (wifi, 3g, gprs )
Tín hiệu điều khiển sẽ được gửi vào một cơ sở dữ liệu( CSDL) đặt trên một máy
chủ
Dùng các phương thức liên kết dữ liệu để lấy dữ liệu điều khiển từ CSDL, thông
qua lập trình và giao tiếp máy tính để điều khiễn thiết bị ngoại vi
Thiết bị quan sát( camera) sẽ được kết nối trược tiếp vào máy tính, thiết bị Android sẽ nhận hình ảnh thông qua internet
Người dùng có thể điều khiển thiết bị ở 2 nơi, trên thiết bị Android hoặc trên máy
tính cá nhân
Tiến hành đo nhiệt độ nơi đặt cảm biến nhiệt, gửi dữ liệu lên CSDL, hiển thị trên
thiết bị Android và máy tính
3.2 YEU CAU DAT RA CHO TUNG PHAN
3.2.1 Ung dung Android
Ung dung Android sẽ có các chứng năng chính như sau:
HUNG & PHAN CUNG 12
CHƯƠNG III: YÊU CÀU C!
Trang 29pO AN TOT NGHIỆP
|
—————_—_— _
>> Điều khiển bật tắt thiết bị bằng giao diện nút nhắn,
> Điều khiển bật tắt thiết bị bằng giọng nói
> Cập nhật và hiển thị trạng thái bật, tất của từng thiết bị, thông tin nhiệt độ đo
lược
>Cảnh báo người dùng khi nhiệt độ vượt quá giới hạn cho phép
>> Cài đặt thời gian hẹn giờ bật tắt cho mỗi thiết bị,
>Nhận được hình ảnh từ camera giám sát, điều chỉnh được góc quay của camera
3.2.2 Ứng dụng điều khiển trên máy tính
Giao tiếp với mạch điều khiển
> Điều khiến tỉ ¡ bằng nút nhấn
Cập nhật và hién thi trang thai thié bị, thông tin nhiệt độ đo được
>Hiễn thị hình ảnh của camera giám sát
> Điều khiển góc quay của camera
>Mạch điều khiên có thể giao tiếp máy tính Nhận tín hiệu từ máy tính để bật, tắt
tín hiệu nhận được bằng đèn báo
óc qi1ay của camera từ tín hiệu nhận được
Đáng cảm biến, truyền dữ liệu đo được lên máy tính
Trang 30
pO AN TOT NGHIỆP
- Hoạt động bình thường với các thiết bị dân dụng 220V,
3.3.2 Lựa chọn thiết bị:
»> _ Giao tiếp với kết nối với máy tính, 32, đã được nói đến È dương ước” nhóm chọn chuẩn kết nối RS232 với IC ẩn kết nối ới
> _ Vì điều khiển xử lý tín hiệu nhóm dùng ỊC gi đủ ng a i ig IC picl6f887 do dễ sử dụng, giá thành ễ
p8 Heh hve ie ae iu ten đọ nhiệt độ và đáp ứng tốt các yêu cầu sử dụng :
ất sử dụng Opto MOC3021 để cá òng điện điều khiể
và hi bị ngoại vĩ p để cách ly quang dòng điện điều khiển
> Khôi nguôn cung cấp cho thiết bị điện áp 5V dùng IC 7805
> - Cảm biên nhiệt độ sử dụng Im35, có giá thành rẻ, đáp ứng đủ như cầu đo nhiệt
độ thời tiết -
:
> Đề điều khiển góc quay của camera nhóm đã ding dong co micro sevor, dé
dàng điều khiển, điện áp sửa dụng thấp
3.3.3 Sơ đồ nguyên lý, mạch thực tế các khối
Mạch nguyên lý khối nguồn sửa dụng IC7805:
Trang 34
po AN TOT NGHIỆP
Se
4.1 GIGI THIEU PHAN MEM LAP TRÌNH,
7 wag pie eh lên cho Android OS có thể được thực hiện trên Hệ điều
hà we : 7 soft hay trên Hệ điều hành nguôn mở Linux Trong giới hạn
đồ án này, nhóm sinh viên chọn phát triển các ứng dụng cho Android trên Windows vì
nó mang tính phố biỂn, việc cài đặt các phần mềm hỗ trợ cho việc lập trình không quá
phức tạp
Các bộ công cụ phục vụ việc lập trình ứng dụng trên Android OS gồm:
; > Java for Developers (JDK): do cdc phan mém chay trén Android OS đêu được phát triển trên nên tảng ngôn ngit Java nén ta cần bộ thư viện của Java,
được cung cấp miễn phí cho người phát triển phần mềm bởi Oracle
>» — Eclipse (JUNO): bộ công cụ dùng để lập trình, phát triển phần mềm cho
Java, được cung cấp miễn phí từ trang web của Eclipse
> — Android software development Kit (Android SDK) plugin: là tập hợp
các công cụ và thư viện để phát triển các ứng dụng cho Android OS Sau khi cài đặt
thì Android SI2K sẽ được tích hợp vào chương trình Eelipse Nhà phát triển phần
mềm sé ding kclipse đã tích hợp Android SDK plugin để viết ứng dụng cho
Android OS
4.2 GIOI THIEU LUU BO UNG DUNG CAN THIET KE
mềm cân thiết kế bào gồm các yêu cầu:
é cầu nhập tên và mật khẩu đăng nhập
điện, hẹn giờ tắt mở thiết bị
độ đo đạc được, cảnh báo khi nhiệt độ cao quá giới hạn cài
Trang 35
ch Hình 4.2.2 Lưu đồ đăng nhập
Trang 36Hình 4.2.4 Lưu đồ điều khién bang tay
Hignthitrang) |p —— —]
2 0
Trang 37So sanh text voi
thái, nhiệt độ
CHƯƠNG 1V: THIET KE UN
Trang 3843 CÁC THÀNH PHẢN CHÍNH CUA UNG DUNG
triển trên bộ công cu Eclipse, các hình ảnh mình họa
Trang 39& project properties
Hinh 4.3.1 Các thành phân chính trong 1 ứng dụng Android
Trong đó, các mục cần lưu ý như sau:
* File AndroidManifest.xml: -
Là nền tảng của mọi ứng dụng Android, fi
SP Sự và cho biết những thành phần có trong ứng đụng của: các activities, các
services cũng như cách các thành phần ấy gắn bó với nhau
* Muc bin
Đây là nơi chứa ứng dụng =
i : c lớp Java le
TM ee arte sắc file executable tạo bởi các lớp Java
+ Mục bin/classe9: ap ˆ; chứa các tài nguyên của ứng dụng oan
+ Mue in 0n debug.apk hay bin/yourapp-unsigned.ap! chứa -
pho a Anhoid của ta File apk để chạy ứng, dụng trên
Trang 40ĐÔ ÁN TÓT NGHIỆP
No baa ghia edo ine coe cua tng dụng, nhự các icons, GUI layouts,
+ Mục res/drawable/ : chứa file hình ảnh
+ Các mục như drawable-hd) ,ldpi,mdpi, i
hình điện thoại, pI Ipi,mdpi,xhdpi
„ +Mục res/layout/ : chứa UI layout, đưới d
sắc,vị trí các thành phần của ứng dụng
+Muc res/menu/ : chi tiét céc menu (Cai Dat Phat Triển, dưới dạng XML
+Mục T€S/raW/ : chứa các file khác (CSV chứa thông tin account, )
+Mục res/amin/: Chứa toàn bộ hiệu ứng của ứng dụng
+Mục res/values/ : chứa các strings, dimensions,
+Mục res/zml/ : chứa các file XML khác cần cho ứng dụng
lạng XML Đây là nơi quy định màu
Sau khi thiết kế, nhóm đã cho ra ứng dụng có giao diện như sau:
4.3.1 Giao diện đăng nhập
Trong giao điện đáng nhập gồm 2 EditText để nhập tên và mật khẩu, sau khi
nhập xong nhân Button dang nhap dé vao giao dién tiếp theo
Textview ** đói mật khâu” khi được chạm vào sẽ chuyển sang giao diện thay đổi
tên, mật khẩu người dùng,