BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
---------------------------------
ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
HỆ THỐNG ỨNG DỤNG WEAR OS
TRONG VIỆC HỖ TRỢ NGƯỜI GIÀ
GVHD: ThS. Nguyễn Văn Hiệp
SVTH 1: Trần Văn Ba
MSSV: 14141013
SVTH 2: Nguyễn Lê Trung Hiếu
MSSV: 14141100
Tp. Hồ Chí Minh – 06/2018
i
TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH CỘNG HÒA X
117 trang |
Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 368 | Lượt tải: 0
Tóm tắt tài liệu Đồ án Hệ thống ứng dụng wear os trong việc hỗ trợ người già, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 – Y SINH ----o0o----
Tp. HCM, ngày 29 tháng 6 năm 2018
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Trần Văn Ba MSSV: 14141013
Nguyễn Lê Trung Hiếu MSSV: 14141100
Chuyên ngành: Điện tử công nghiệp Mã ngành: 141
Hệ đào tạo: Đại học chính quy Mã hệ: 1
Khóa: 2014 Lớp: 14141DT3B
I. TÊN ĐỀ TÀI: HỆ THỐNG ỨNG DỤNG WEAR OS TRONG VIỆC HỖ TRỢ
NGƯỜI GIÀ
II. NHIỆM VỤ
1. Các số liệu ban đầu:
- Sử dụng một Asus ZenWatch 2.
- Sử dụng một điện thoại hệ điều hành Android.
- Sử dụng một Module wifi ESP8266 NodeMCU Mini D1.
- Sử dụng một Module Relay.
2. Nội dung thực hiện:
- Tìm hiểu về firebase để cập nhật dữ liệu điều khiển, cũng như chia sẻ quyền điều khiển
cho các thiết bị.
- Tìm hiểu thiết kế giao diện cho ứng dụng chạy trên các thiết bị android.
- Tìm hiểu cách điều khiển module ESP8266 NodeMCU Mini D1 thông qua firebase.
- Thi công được mô hình.
- Cân chỉnh, hoàn thiện được mô hình.
- Đánh giá kết quả thực hiện.
III. NGÀY GIAO NHIỆM VỤ: 20/03/2018
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 27/06/2018
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Nguyễn Văn Hiệp
CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
ii
TRƯỜNG ĐH SPKT TP. HỒ CHÍ MINH 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 – Y SINH ----o0o----
Tp. HCM, ngày 27 tháng 03 năm 2018
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Trần Văn Ba
Lớp:14141DT3B MSSV:14141013
Họ tên sinh viên 2: Nguyễn Lê Trung Hiếu
Lớp:14141DT3B MSSV:14141100
Tên đề tài: HỆ THỐNG ỨNG DỤNG WEAR OS TRONG VIỆC HỖ TRỢ NGƯỜI GIÀ
Xác nhận
Tuần/ngày Nội dung
GVHD
1-2/ 20-03 đến Gặp GVHD trao đổi và xác nhận đề tài
27-03
2-3/ 27-03 đến Hoàn thành đề cương
03-04
3-4/ 03-04 đến Liên kết firebase để điều khiển qua điện thoại
17-04 thông minh và đồng hồ thông minh.
4-6/ 17-04 đến Kết nối module esp và module relay, để điều
02-05 khiển đèn và chuông, thông qua điện thoại và
đồng hồ thông minh.
6-10/ 02-05 Viết ứng dụng khẩn cấp.
đến 30-05
10-12/ 30-05 Hoàn thành và chạy thử nghiệm hệ thống.
đến 13-06
12-14/ 13-06 Hoàn thiện hệ thống và báo cáo đồ án tốt
đến 27-06 nghiệp.
GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)
iii
LỜI CAM ĐOAN
Đề tài này là do nhóm tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao
chép từ tài liệu hay công trình đã có trước đó.
Những người thực hiện đề tài
Trần Văn Ba Nguyễn Lê Trung Hiếu
iv
LỜI CẢM ƠN
Em xin gởi lời cảm ơn sâu sắc đến Thầy Nguyễn Văn Hiệp _ Giảng viên bộ môn
Điện tử công nghiệp – y sinh đã trực tiếp hướng dẫn và tận tình giúp đỡ tạo điều kiện để
hoàn thành tốt đề tài.
Chúng em xin gởi lời chân thành cảm ơn các thầy cô trong Khoa Điện-Điện Tử đã
tạo những điều kiện tốt nhất cho chúng em hoàn thành đề tài.
Chúng mình cũng gửi lời đồng cảm ơn đến các bạn lớp 14141DT3B đã 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.
Cảm ơn đến cha mẹ, là chỗ dựa tinh thần vững chắc cho chúng con, luôn an ủi và
động viên những lúc chúng con khó khăn nhất trong suốt những năm tháng học hành.
Xin chân thành cảm ơn!
Những người thực hiện đề tài
Trần Văn Ba Nguyễn Lê Trung Hiếu
v
MỤC LỤC
Trang bìa ........................................................................................................................ i
Nhiệm vụ đồ án ............................................................................................................. ii
Lịch trình ..................................................................................................................... iii
Cam đoan .................................................................................................................... iv
Lời cảm ơn .................................................................................................................... v
Mục lục ........................................................................................................................ vi
Liệt kê hình vẽ ........................................................................................................... viii
Liệt kê bảng ................................................................................................................. xi
Tóm tắt ....................................................................................................................... xii
CHƯƠNG 1. TỔNG QUAN ............................................................................ 1
1.1. Đặt vấn đề .......................................................................................................... 1
1.2. Mục tiêu ............................................................................................................. 2
1.3. Nội dung nghiên cứu .......................................................................................... 2
1.4. Giới hạn .............................................................................................................. 2
1.5. Bố cục ................................................................................................................ 3
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ................................................................ 4
2.1 Người cao tuổi .................................................................................................... 4
2.2 Lịch sử hệ điều hành Android ............................................................................ 4
2.3 Giới thiệu về Wear OS ....................................................................................... 6
2.4 Giới thiệu về Wifi ............................................................................................... 8
2.5 Giới thiệu về Bluetooth .................................................................................... 11
2.6 Giới thiệu về Google Firebase .......................................................................... 13
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ. ................................................ 18
3.1 Giới thiệu .......................................................................................................... 18
3.1.1 Thực trạng nhu cầu ........................................................................................ 18
3.1.2 Bài toán đặt ra ................................................................................................ 18
3.2 Tính toán thiết kế mạch ..................................................................................... 18
3.2.1 Thiết kế trên đồng hồ ..................................................................................... 19
3.2.2 Thiết kế trên điện thoại .................................................................................. 20
vi
3.2.3 Thiết kế mạch điều khiển đèn, chuông .......................................................... 22
a/ Vi điều khiển ....................................................................................................... 22
b/ Module 4 Relay 5V ............................................................................................. 24
c/ Nguồn nuôi mạch điều khiển .............................................................................. 25
d/ Các thiết bị khác .................................................................................................. 26
CHƯƠNG 4. THI CÔNG HỆ THỐNG ...................................................... 28
4.1 Giới thiệu. .......................................................................................................... 28
4.2 Xây dựng ứng dụng điều khiển đèn, chuông trên smartwatch ........................... 28
4.2.1 Giới thiệu phần mềm Android Studio ............................................................. 28
4.2.2 Lưu đồ và lập trình ứng dụng .......................................................................... 42
4.3 Xây dựng ứng dụng khẩn cấp SOS trên điện thoại ............................................ 48
4.4 Thi công mạch điều khiển đèn, chuông .............................................................. 59
4.5 Hướng dẫn sử dụng thao tác ............................................................................... 74
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ................................. 80
5.1 Kết quả. .............................................................................................................. 80
5.2 Nhận xét và đánh giá .......................................................................................... 85
CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN. ........................... 87
6.1 Kết luận . ............................................................................................................. 87
6.2 Hướng phát triển ................................................................................................. 87
TÀI LIỆU THAM KHẢO .................................................................................. xiii
PHU LỤC .......................................................................................................... xv
vii
LIỆT KÊ HÌNH VẼ
Hình Trang
Hình 2.1: Các phiên bản của hệ điều hành Android ..................................................... 6
Hình 2.2: Thiết bị sử dụng Wear OS............................................................................. 7
Hình 2.3: Hệ thống các thiết bị kết nối wifi .................................................................. 8
Hình 2.4: Hình ảnh ký hiệu của Bluetooth .................................................................... 11
Hình 2.5: Thông số của các loại Bluetooth ................................................................... 12
Hình 2.6: Các ứng dụng của Google Firebase .............................................................. 14
Hình 3.1: Sơ đồ khối tổng quát hệ thống ...................................................................... 19
Hình 3.2: Thiết kế ứng dụng trên đồng hồ .................................................................... 20
Hình 3.3: Giao diện bắt đầu ứng dụng điện thoại ......................................................... 21
Hình 3.4: Giao diện ứng dụng điện thoại khởi chạy thành công .................................. 21
Hình 3.5: Module ESP8266 .......................................................................................... 23
Hình 3.6: Module 4 Relay ............................................................................................. 24
Hình 3.7: Adapter 5V/2A .............................................................................................. 25
Hình 3.8: Đèn led 5W/220VAC - Đèn led 9W/220VAC ............................................. 26
Hình 3.9: Chuông điện 220VAC ................................................................................... 27
Hình 3.10: Sơ đồ kết nối các khối ................................................................................. 27
Hình 4.1: Phần mềm Android Studio. .......................................................................... 28
Hình 4.2: Tải phần mềm Android Studio. .................................................................... 30
Hình 4.3: Tiến hành quá trình cài đặt phần mềm Android Studio. .............................. 30
Hình 4.4: Kết thúc quá trình cài đặt phần mềm Android Studio. ................................ 31
Hình 4.5: Cửa sổ “Welcome to Android Studio”. ........................................................ 32
Hình 4.6: Màn hình Create Android Project. ............................................................... 33
Hình 4.7: Màn hình Target Android Devices. ............................................................. 33
viii
Hình 4.8: Màn hình Add an Activity to Wear. ............................................................. 34
Hình 4.9: Màn hình Configure Activity. ...................................................................... 35
Hình 4.10: Màn hình thẻ MainActivity.java. ............................................................... 35
Hình 4.11: Màn hình thẻ AndroidManifest.xml. ....................................................... 36
Hình 4.12: Màn hình thẻ app........................................................................................ 36
Hình 4.13: Màn hình thẻ con Design. .......................................................................... 37
Hình 4.14: Màn hình thẻ con Text. .............................................................................. 37
Hình 4.15: Giao diện hiển thị của Firebase. ................................................................. 38
Hình 4.16: Cửa sổ Add a project. ................................................................................. 39
Hình 4.17: Điền thông tin package của ứng dụng. ....................................................... 39
Hình 4.18: Tải tập tin google-services.json. ................................................................ 40
Hình 4.19: Các dòng lệnh cần thiết. ............................................................................. 41
Hình 4.20: Cửa sổ Security rules for Realtime Database. ........................................... 41
Hình 4.21: Giao diện làm việc Database. ..................................................................... 42
Hình 4.22: Lưu đồ ứng dụng khi được khởi động. ...................................................... 43
Hình 4.23: Giao diện của ứng dụng. ............................................................................ 47
Hình 4.24: Giao diện nhập số điện thoại khẩn cấp. ..................................................... 49
Hình 4.25: Giao diện xác nhận số điện thoại khẩn cấp. ............................................... 50
Hình 4.26: Giao diện thông báo SOS đang hoạt động. ................................................ 51
Hình 4.27: Lưu đồ startActivity.java. .......................................................................... 52
Hình 4.28: Lưu đồ MainActivity.java. ......................................................................... 53
Hình 4.29: Lưu đồ xử lý trong handler. ....................................................................... 54
Hình 4.30: Lưu đồ hoạt động của chương trình gửi tin nhắn....................................... 55
Hình 4.31: Lưu đồ khởi tạo số điện thoại khẩn cấp. .................................................... 56
Hình 4.32: Lưu đồ hoạt động của chương trình vị trí .................................................. 57
Hình 4.33: Thiết kế bản vẽ PCB và sau khi thi công. .................................................. 58
ix
Hình 4.34: Mạch điều khiển hoàn chỉnh. ..................................................................... 60
Hình 4.35: Cửa sổ lập trình của Arduino. .................................................................... 62
Hình 4.36: Cửa sổ tính hành cài đặt Driver Arduino. .................................................. 63
Hình 4.37: Cửa sổ hoàn thành quá trình cài đặt Driver Arduino. ................................ 64
Hình 4.38: Thêm thư viện cho Arduino. ...................................................................... 64
Hình 4.39: Cửa sổ Library Manager. ........................................................................... 65
Hình 4.40: Lưu đồ điều khiển của vi điều khiển. ......................................................... 65
Hình 4.41: Lưu đồ xử lý hàm void setup(). .................................................................. 67
Hình 4.42: Giao diện Database. ................................................................................... 69
Hình 4.43: Lấy authCode của Firebase. ....................................................................... 69
Hình 4.44: Lưu đồ hàm voidloop(). ............................................................................. 71
Hình 4.45: Giao diện firebase thực tế ........................................................................... 74
Hình 4.46: Màn hình đầu tiên của ứng dụng. ............................................................... 75
Hình 4.47: Màn hình thứ hai của ứng dụng. ................................................................ 75
Hình 4.48: Màn hình của ứng dụng trên đồng hồ. ....................................................... 76
Hình 4.49: Giao diện Firebase. .................................................................................... 77
Hình 4.50: Cửa sổ đăng nhập tài khoản Google. ......................................................... 78
Hình 4.51: Giao diện của project trên Firebase. .......................................................... 78
Hình 4.52: Giao diện làm việc của Database. .............................................................. 79
Hình 5.1: Hình ảnh thực tế đồng hồ .............................................................................. 81
Hình 5.2: Giao diện khi gửi tin nhắn, nội dung tin nhắn .............................................. 81
Hình 5.3: Cuộc gọi tự tạo .............................................................................................. 82
Hình 5.4: Điều khiển khi chưa cấp nguồn phần cứng ................................................... 82
Hình 5.5: Điều khiển khi đã cấp nguồn phần cứng ....................................................... 83
Hình 5.6: Thiết bị khi tắt ............................................................................................... 84
Hình 5.7: Thiết bị khi bật .............................................................................................. 84
x
LIỆT KÊ BẢNG
Bảng Trang
Bảng 2.1: Phạm vi truyền của các loại Bluetooth ........................................................... 12
Bảng 3.1: Dòng tiêu thụ các thiết bị ................................................................................ 25
Bảng 4.1: Danh sách các linh kiện được sử dụng ........................................................... 59
xi
TÓM TẮT
Hiện nay, việc quan tâm sức khỏe cũng như hỗ trợ người cao tuổi đang là một
vấn đề đang được quan tâm rất nhiều trong cuộc sống. Việc sử dụng những công cụ
hỗ trợ người già cũng là một khía cạnh đang được phát triển mạnh, nắm bắt được
những công cụ hỗ trợ sẵn, nhóm chúng tôi sử dụng đồng hồ thông minh và thiết bị
di động cá nhân để hỗ trợ tối ưu nhất cho những vấn đề thiết yếu cho người già. Đề
tài mang tên: HỆ THỐNG ỨNG DỤNG WEAR OS TRONG VIỆC HỖ
TRỢ NGƯỜI GIÀ.
Đề tài sử dụng thiết bị đồng hồ thông minh, điện thoại thông minh, website có
kết nối mạng để điều khiển những thiết bị thiết yếu như đèn, chuông báo thông qua
Esp8266 ở bất cứ đâu, bất cứ lúc nào. Điều khiển các thiết bị chiếu sáng như bật tắt
đèn nhà tắm, đèn phòng ngủ, đèn hành lang; bật tắt chuông báo động khi có vấn đề
quan trọng, thiết lập một cuộc gọi tới số khẩn cấp, gửi tin nhắn khẩn cấp và địa điểm
hiện tại tới số khẩn cấp.
xii
CHƯƠNG 1. TỔNG QUAN
Chương 1. TỔNG QUAN
1.1. ĐẶT VẤN ĐỀ
Cùng với sự phát triển của xã hội, cuộc sống ngày càng được nâng cao thì
việc áp dụng công nghệ khoa học kỹ thuật vào đời sống, công việc ngày càng cần
thiết. Với sự phát triển của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử
mà trong đó đặc biệt là kỹ thuật điều khiển tự động đóng vai trò quan trọng trong
mọi lĩnh vực khoa học kỹ thuật, quản lý, công nghiêp, nông nghiệp, đời sống, quản
lý thông tin,...
Đối với mỗi người, sức khỏe là một tài sản vô giá, không có sức khỏe chúng ta
không thể làm được bất kì thứ gì. Nếu bị bệnh tật, sức khỏe yếu ớt, thiếu sức khỏe
không thể tự chăm sóc cho bản thân, mà phải nhờ vả dựa dẫm vào người khác,
Nước ta đang có tốc độ già hóa dân số rất nhanh, tỉ lệ người cao tuổi ở chiếm
khoảng 10,9% dân số cả nước(theo số liệu từ website danso.org) . Sức khỏe chính là
thứ mà người cao tuổi cần nhất, tâm lý ở người cao tuổi là họ muốn được mạnh
khỏe như mọi người khác, cuộc sống vui vẻ về già, tự bản thân có thể làm mọi việc
hằng ngày mà không cần đến sự hỗ trợ của người khác. Họ không muốn trở thành
gánh nặng đối với con cái, họ chỉ cần người khác giúp đỡ khi họ thật sự gặp vấn đề
về sức khỏe của bản thân, ngoài ra bản thân người cao tuổi và gia đình họ cũng
muốn quan sát, theo dõi sức khỏe hằng ngày, để có biện pháp duy trì và cải thiện
sức khỏe hoặc dự đoán, xử lý các vấn đề bất ngờ về sức khỏe xảy ra.
Trên cở sở và yêu cầu từ thực tế, những đòi hỏi ngày càng cao của việc hỗ trợ
và theo dõi sức khỏe người già, cộng với sự phát triển mạnh của khoa học công
nghệ, đặc biệt là công nghệ thông tin, kỹ thuật điện-điện tử. Phát triển kỹ thuật theo
dõi và hỗ trợ từ khoảng cách xa trong vấn đề về đời sống sức khỏe của người cao
tuổi ngày nay đang là xu thế phát triển. Chúng tôi đề xuất đề tài : “HỆ THỐNG
ỨNG DỤNG WEAR OS TRONG VIỆC HỖ TRỢ NGƯỜI GIÀ”.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1
CHƯƠNG 1. TỔNG QUAN
1.2. MỤC TIÊU
Mục tiêu là thực hiện điều khiển các thiết bị điện từ xa thông qua mạng
không dây, cảnh báo cho người gần đó trong trường hợp cần người giúp đỡ, báo
động cho người thân ở xa qua tin nhắn, cuộc gọi tới điện thoại bằng cách sử dụng
các ứng dụng được viết cho đồng hồ thông minh Asus ZenWatch 2, điện thoại
thông minh sử dụng hệ điều hành Android hoặc máy tính có kết nối Internet, nhằm
hướng đến việc tiện lợi trong các nhu cầu sinh hoạt bình thường đơn giản cho người
già.
1.3. NỘI DUNG NGHIÊN CỨU
NỘI DUNG 1: Tìm hiểu về firebase để cập nhật dữ liệu điều khiển, cũng như
chia sẻ quyền điều khiển cho các thiết bị.
NỘI DUNG 2: Tìm hiểu thiết kế giao diện cho ứng dụng chạy trên các thiết bị
android.
NỘI DUNG 3: Tìm hiểu cách điều khiển module ESP8266 NodeMCU Mini
D1 thông qua firebase.
NỘI DUNG 4: Thi công được mô hình.
NỘI DUNG 5: Cân chỉnh, hoàn thiện được mô hình.
NỘI DUNG 6: Đánh giá kết quả thực hiện.
1.4. GIỚI HẠN
Đối tượng nghiên cứu: Người cao tuổi.
Sử dụng Asus Zenwatch 2 và một điện thoại thông minh sử dụng hệ điều hành
android.
Sử dụng 3 bóng đèn 220VAC để chiếu sáng.
Sử dụng 1 chuông điện 220VAC báo để báo khi có việc khẩn cấp.
Đề tài chỉ xây dựng mô hình với ESP8266 NodeMCU Mini D1và Module
relay 5V để điều khiển các thiết bị.
Điều khiển hệ thống ở bất cứ đâu.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2
CHƯƠNG 1. TỔNG QUAN
1.5. BỐ CỤC
Chương 1: Tổng quan.
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội
dung nghiên cứu, các giới hạn thông số và bố cục đồ án.
Chương 2: Cơ Sở Lý Thuyết.
Chương này trình bày những khái niệm cơ bản về những thiết bị được sử
dụng để làm mạch điều khiển.
Chương 3: Tính Toán Thiết Kế.
Chương này trình bày việc thiết kế phần mềm, mạch điều khiển, tính toán
dòng điện tiêu thụ của mạch điều khiển.
Chương 4: Thi Công Hệ Thống.
Chương này trình bày việc thi công hệ thống bao gồm những phần: xây dựng
ứng dụng điều khiển, xây dựng ứng dụng trên điện thoại, thi công phần cứng.
Chương 5: Kết Quả Và Nhận Xét.
Chương này trình bày những kết quả thực tế mà hệ thống thực hiện được, từ
đó có những nhận xét và đánh giá đúng đắn về hệ thống.
Chương 6: Kết Luận Và Hướng Phát Triển.
Chương này kết luận tính thực tiễn của đề tài cũng như những hướng phát
triển trong tương lai.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Chương 2. CƠ SỞ LÝ THUYẾT
2.1 NGƯỜI CAO TUỔI
Người cao tuổi thường là những người thuộc độ tuổi từ 60 tuổi trở lên, nhóm
người ở độ tuổi này bắt đầu xuất hiện những vấn đề về sức khỏe, tính nhạy cảm cao,
bị hạn chế trong một số công việc, Đặc biệt là họ muốn tự chủ trong một số sinh
hoạt cá nhân, muốn chứng tỏ với những người xung quanh – nhất là con cái, rằng
mình vẫn còn sức khỏe, còn khả năng làm những việc cụ thể nào đó, không muốn trở
thành một thứ gánh nặng vô hình cho con cái, muốn con cái yên tâm về họ, như đã
nói ở trên người ở nhóm này rất nhạy cảm nên dễ dàng thấy họ rất muốn làm những
việc nhỏ nhặt nhất trong giới hạn sức khỏe của mình.
2.2 LỊCH SỬ HỆ ĐIỀU HÀNH ANDROID
Ban đầu, Android được phát triển bởi tổng công ty Android, với sự hỗ trợ tài
chính từ Google và sau này được chính Google mua lại vào năm 2005. Android ra
mắt vào năm 2007 cùng với tuyên bố thành lập liên minh thiết bị cầm tay mở: một
hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh
các tiêu chuẩn mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android
được bán vào năm 2008.
Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh
phổ biến nhất thế giới, vượt qua Symbian OS vào quý 4 năm 2010, và được các công
ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh
chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu. Kết quả
là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất
hiện trên TV, máy chơi game và các thiết bị điện tử khác. Bản chất mở của Android
cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng
mã nguồn mở để tạo ra những dự án do cộng đồng quản lý. Những dự án này bổ sung
các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các
thiết bị ban đầu chạy hệ điều hành khác[8].
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Android chiếm 87,7% thị phần điện thoại thông minh trên toàn thế giới vào
thời điểm quý 2 năm 2017, với tổng cộng 2 tỷ thiết bị đã được kích hoạt và 1,3 triệu
lượt kích hoạt mỗi ngày. Sự thành công của hệ điều hành cũng khiến nó trở thành
mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là
"cuộc chiến điện thoại thông minh" giữa các công ty công nghệ.
Android là hệ điều hành điện thoại di động mở nguồn mở miễn phí do Google
phát triển dựa trên nền tảng của Linux. Bất kỳ một hãng sản xuất phần cứng nào cũng
đều có thể tự do sử dụng hệ điều hành Android cho thiết bị của mình, miễn là các
thiết bị ấy đáp ứng được các tiêu chuẩn cơ bản do Google đặt ra (có cảm ứng chạm,
GPS, 3G,...)
Các nhà sản xuất có thể tự do thay đổi phiên bản Android trên máy của mình
một cách tự do mà không cần phải xin phép hay trả bất kì khoản phí nào nhưng phải
đảm bảo tính tương thích ngược (backward compatibility) của phiên bản chế riêng
đó.
Android là nền tảng cho thiết bị di động bao gồm một hệ điều hành, midware
và một số ứng dụng chủ đạo. Bộ công cụ Android SDK cung cấp các công cụ và bộ
thư viên các hàm API cần thiết để phát triển ứng dụng cho nền tảng Android sử dụng
ngôn ngữ lập trình java.
Những tính năng mà nền tảng Android hỗ trợ:
Application framework: Cho phép tái sử dụng và thay thế các thành phần sẳn
có của Android.
Dalvik virtual machine: Máy ảo java được tối ưu hóa cho thiết bị di động.
Intergrated browser: Trình duyệt web tích hợp được xây dựng dựa trên WebKit
engine.
Optimized graphics: Hỗ trợ bộ thư viện 2D và 3D dự vào đặc tả OpenGL ES
1.0.
SQLite: DBMS dùng để lưu trữ dữ liệu có cấu trúc.
Hổ trở các định dạng media phổ biến như: MPEG4, H.264, MP3, AAC, ARM,
JPG, PNG, GIF.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
Hổ trợ thoại trên nền tảng GSM (Phụ thuộc vài phần cứng thiết bị).
Bluetooth, EDGE, 3G và WiFi (Phụ thuộc vài phần cứng thiết bị).
Camera, GPS, la bàn và cảm biến (Phụ thuộc vài phần cứng thiết bị).
Bộ công cụ phát triển ứng dụng mạnh mẽ.
Từ tháng 4 năm 2009, phiên bản Android được phát triển dưới tên mã là chủ đề
bánh kẹo và phát hành theo thứ tự bảng chữ cái: Cupcake (1.5), Donut (1.6), Eclair
(2.0–2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6), Ice
Cream Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), KitKat (4.4), Lollipop (5.0-5.1.1),
Marshmallow (6.0), Nougat(7.0), Oreo(8.0)[9] .
Hình 2.1: Các phiên bản của hệ điều hành Android.
2.3 KHÁI NIỆM VỀ WEAR OS
Google ra mắt hệ điều hành riêng cho các smartwatch là Android Wear vào
năm 2014. Android Wear cũng từng có mã nguồn mở như Android và chính vì vậy
đã thúc đẩy sự phát triển của những hãng sản xuất phụ kiện có thể đeo được. Tháng
3/2018, Android Wear đã được đổi lại thành tên đầy đủ là Wear OS by Google. Wear
OS là phiên bản hệ điều hành mở Android của Google thiết kế cho đồng hồ thông
minh và thiết bị đeo khác. Bằng cách kết nối với điện thoại thông minh chạy Android
phiên bản 4.3+, Android Wear sẽ tích hợp chức năng Google Now và thông báo di
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
động trên hình thức đồng hồ thông minh. Nền tảng đã được công bố vào ngày 18
tháng 3 năm 2014, cùng với việc phát hành một bản phát triển. Các công ty như
Motorola, Samsung, LG, HTC và Asus đã công bố là đối tác chính thức. Trong năm
2014, đã có 720.000 thiết bị Android Wear được bán ra của các hãng LG, Motorola
và Samsung[3].
Hình 2.2: Thiết bị sử dụng Wear OS.
Wear OS vẫn dựa trên core Linux của người anh em smartphone và các nhà
phát triển sẽ phải cần đến Android Studio và các bộ SDK để viết app cho nó hay sửa
lỗi cho những gì đang có sẵn. Nói cách khác, Wear giống như 1 phiên bản thu nhỏ
của hệ điều hành Android để chạy trên 1 thiết bị có màn hình nhỏ hơn. Nó cũng làm
việc hiệu quả và ít lỗi hơn so với Android trên smartphone, đi kèm những cải tiến
trong phiên bản mới Wear 2.0.
Điểm đáng nhắc đến nhất của hệ điều hành Wear OS có thể chính là sự đồng
nhất của nó. Không như người anh em Android trên smartphone được tùy biến giao
diện đa dạng, Wear OS hầu như có giao diện giống nhau trên hầu hết các chiếc smart-
watch cùng hệ điều hành. Điều này cũng giúp nó l... - Nhấp đúp chuột vào biểu tượng để mở chương trình.
- Chọn Start a new Android Studio project để tạo một project mới.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 31
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.5: Cửa sổ “Welcome to Android Studio”.
Màn hình Create Android Project xuất hiện gồm có:
+ Application name: Phần đặt tên cho ứng dụng.
+ Company domain: Tên miền của người lập trình. Hệ thống sẽ sử dụng
Application name và Company domain để tạo một package đưa ứng
dụng lên Google Play.
+ Project location: Địa chỉ lưu trữ project
+ Package name: Tên gói.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 32
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.6: Màn hình Create Android Project.
Màn hình Target Android Devices: Chọn thiết bị và phiên bản cho thiết bị.
+ Phone and Tablet: Ứng dụng cho điện thoại thông minh và máy tính bảng.
+ Wear: Ứng dụng cho đồng hồ thông minh.
Hình 4.7: Màn hình Target Android Devices.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 33
CHƯƠNG 4. THI CÔNG HỆ THỐNG
+ Lưu ý:
Chúng ta sẽ phải chọn phiên bản API phù hợp với thiết bị sử dụng.
Add an Activity : Lựa chọn màn hình hiển thị cho ứng dụng. Ở đây, chúng ta
cần một màn hình trắng để thêm các button, switch, textview,...
Hình 4.8: Màn hình Add an Activity to Wear.
Configure Activity: Cấu hình cho màn hình Activity mà mình mới lựa chọn:
+ Activity Name: tên của giao diện Activity.
+ Layout Name: tên của Layout mình muốn đặt.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.9: Màn hình Configure Activity.
Sau khi nhấn Finish, phần mềm sẽ tiến hành tạo project, tiến trình sẽ diễn ra từ
30 giây đến 1 phút.
Khi project đã được tạo, cửa sổ lập trình sẽ xuất hiện, thẻ MainActivity.java
sẽ hiện ra đầu tiên.
Thẻ MainActivity.java là nơi để viết chương trình chính cho phần mềm.
Hình 4.10: Màn hình thẻ MainActivity.java.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Thẻ AndroidManifest.xml nơi hiện các quyền và cấp quyền cho ứng dụng
truy cập phần cứng trên điện thoại.
Hình 4.11: Màn hình thẻ AndroidManifest.xml.
- Thẻ app nơi khai báo các gói dịch vụ sẽ sử dụng trong ứng dụng :
Hình 4.12: Màn hình thẻ app.
Màn hình thẻ activity_main.xml:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36
CHƯƠNG 4. THI CÔNG HỆ THỐNG
+ Thẻ con Design cho phép chỉnh sửa trực tiếp ứng dụng bằng cách kéo
thả các biểu tượng, chỉnh sửa thông số của các biểu tượng:
Hình 4.13: Màn hình thẻ con Design.
+ Thẻ con Text sẽ cho phép thiết kế giao diện bằng các tập lệnh.
Hình 4.14: Màn hình thẻ con Text.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Cơ sở dữ liệu firebase, các bước để thêm firebase vào ứng dụng Android:
Firebase là nền tảng phát triển ứng dụng dành cho thiết bị di động và web
được phát triển bởi Firebase, Inc. Firebase cung cấp cơ sở dữ liệu thời gian thực và
chương trình phụ trợ. Cơ sở dữ liệu thời gian thực Firebase là cơ sở dữ liệu được lưu
trữ trên đám mây. Dữ liệu được lưu trữ dưới dạng JSON và được đồng bộ hóa theo
thời gian thực cho mọi thiết bị được kết nối.
Cách bước để tạo một project firebase:
- Trước tiên truy cập vào địa chỉ https://firebase.google.com/ giao diện hiển thị
như hình dưới:
Hình 4.15: Giao diện hiển thị của Firebase.
- Tiếp theo ta nhấn vào nút LOG IN bên phải màn hình và đăng bằng tài khoản
Gmail bất kì, sau đó Chọn “GET STARTED” → “Add project” và đặt tên
cho Project trên Firebase, chọn quốc gia “Vietnam” → Chọn “CREATE
PROJECT”.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.16: Cửa sổ Add a project.
Add Firebase to your Android application
Hình 4.17: Điền thông tin package của ứng dụng.
Android package name ta sẽ lấy tên package trong ứng dụng android qua, nhấn Save
app.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.18: Tải tập tin google-services.json.
Bạn download file google-services.json và thêm vào chương trình android như hướng
dẫn hình trên.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.19: Các dòng lệnh cần thiết.
Thêm các dòng lệnh như hình vào chương trình android của bạn. Nhấn following tới
đây việc add firebase coi như xong.
Hình 4.20: Cửa sổ Security rules for Realtime Database.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Vào Database chọn First steps ở Realtime Database → tích chọn Start in test mode để
cho phép đọc ghi → Activate.
Hình 4.21: Giao diện làm việc Database.
Như vậy là database đã sẵn sàng ghi đọc dữ liệu từ ứng dụng android mà ta xây dựng.
4.2.2 Lưu đồ và lập trình ứng dụng trên đồng hồ
Lưu đồ điều khiển:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BẮT ĐẦU
SAI
SW L1 ĐÓNG
ĐÚNG
ĐẶT GIÁ TRỊ ĐẶT GIÁ TRỊ
FIREBASE tat FIREBASE sang
SAI
SW L2 ĐÓNG
ĐÚNG
ĐẶT GIÁ TRỊ ĐẶT GIÁ TRỊ
FIREBASE tat FIREBASE sang
SAI
SW L3 ĐÓNG
ĐÚNG
ĐẶT GIÁ TRỊ ĐẶT GIÁ TRỊ
FIREBASE tat FIREBASE sang
B A
Hình 4.22: Lưu đồ ứng dụng khi được khởi động.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43
CHƯƠNG 4. THI CÔNG HỆ THỐNG
A
SAI
NHẤN NÚT BELL
ĐÚNG
NHẤN NÚT OFF ĐẶT GIÁ TRỊ
FIREBASE on
ĐÚNG
ĐẶT GIÁ TRỊ
FIREBASE off
SAI NHẤN NÚT SOS
B ĐÚNG
ĐẶT GIÁ TRỊ FIREBASE
yes
KẾT THÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Lập trình cho ứng dụng:
- Sau khi đã tạo một project như các bước phía trên đã hướng dẫn, ta tiến hành
lập trình cho ứng dụng theo như lưu đồ đã viết và giao diện đã thiết kế:
+ Đầu tiên, ta chuyển tới thẻ activity_main.xml để tiến hành tạo giao diện cho
ứng dụng như đã thiết kế:
Tại thẻ con Text ta tiến hành tạo các switch và button cần thiết:
<Switch
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="30dp"
android:text="L1" />
<Switch
android:id="@+id/switch2"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="70dp"
android:text="L2" />
<Switch
android:id="@+id/switch3"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_marginTop="110dp"
android:text="L3" />
<ImageButton
android:id="@+id/bell"
android:layout_width="87dp"
android:layout_height="58dp"
android:layout_gravity="right"
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45
CHƯƠNG 4. THI CÔNG HỆ THỐNG
android:background="@drawable/button_img"
android:scaleType="fitCenter"
android:src="@drawable/chuong_on"
android:text="Bell" />
<ImageButton
android:id="@+id/off"
android:layout_width="87dp"
android:layout_height="58dp"
android:layout_gravity="right"
android:layout_marginTop="60dp"
android:background="@drawable/button_img"
android:src="@drawable/chuong_off"
android:scaleType="fitCenter"
android:text="OFF" />
<Button
android:id="@+id/sent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginTop="125dp"
android:background="@drawable/sos_img"
android:text="SOS" />
Theo như thiết kế ta sẽ hiện thị thời gian trên ứng dụng bằng các dòng lệnh.
<DigitalClock
android:id="@+id/digitalClock1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="150dp"
android:text="DigitalClock" />
Ta chọn Digitalclock là hiển thi giao diện đồng hồ số giúp dễ dàng quan sát hơn, giao
diện ứng dụng sẽ như sau:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.23: Giao diện của ứng dụng.
+ Sau khi đã tạo giao diện ứng dụng, ta sẽ chuyển sang thẻ Activity_Main.java
để tiến hành lập trình cho các nút nhấn và switch đã được tạo ở thẻ
activity_main.xml.
myswitch1.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean
isChecked) {
if(isChecked)
{myfirebase.child("den11").child("trangthai").setValue("sang");}
else {myfirebase.child("den11").child("trangthai").setValue("tat");}
}
});
Do các switch có chức năng tương tự nhau nên nhóm em chỉ trình bày chương
trình của một 1 switch.
Khi các switch được kích hoạt bằng cách gạt qua phải thì hàm isChecked được
gọi, tín hiệu sẽ được gửi lên firebase thông qua mạng wifi, sau đó firebase sẽ tiến hành
thay đổi trạng thái của các “child” tương ứng với các switch đã cài đặt lần lượt là:
den11, den12, den13 từ “tat” sang “sang” và ngược lại.
mysent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47
CHƯƠNG 4. THI CÔNG HỆ THỐNG
myfirebase.child("SENT").setValue("yes");
}
});
mybell.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myfirebase.child("bell").child("trangthai").setValue("sang");
}
});
offbell.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myfirebase.child("bell").child("trangthai").setValue("tat");
}
});
Tương tự như các switch, khi các nút nhấn được kích hoạt bằng cách chạm vào
biểu tượng thì hàm onClick được gọi, tín hiệu sẽ được gửi lên firebase, sau đó
firebase sẽ tiến hành thay đổi trạng thái của các “child” tương ứng với các nút nhấn đã
được cài đặt lần lượt là: bell từ “tat” sang “bat”, SENT từ “no” sang “yes”.
4.3 XÂY DỰNG ỨNG DỤNG KHẨN CẤP SOS TRÊN ĐIỆN THOẠI
Với các yêu cầu đã đặt ra trong thiết kế ta sẽ tiến hành tạo một ứng dụng trên
điện thoại bằng phần mềm Android Studio đã trình bày ở phần thi công trên điện
thoại.
Tạo project Android cho điện thoại tương tự như các bước tạo project trên
đồng hồ, sau đó ta tạo Layout Resource File với tên start_activity.xml:
Ta sẽ sử dụng LinearLayout để cho phép bố trí các view theo chiều dọc và chiều
ngang. Xếp các view theo chiều dọc và căn giữa với lệnh:
android:orientation="vertical"
android:gravity="center"
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Và giờ ta sẽ thêm thêm một EditText để nhập số điện thoại khẩn cấp:
<EditText
android:id="@+id/edt_nhap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Enter the emergency number"/>
Hình 4.24: Giao diện nhập số điện thoại khẩn cấp.
Nút nhấn xác nhận số điện thoại sẽ được tạo như sau:
<Button
android:id="@+id/btnstart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="confirm"
android:layout_gravity="center"
/>
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.25: Giao diện xác nhận số điện thoại khẩn cấp.
Thẻ activity_main.xml sẽ gồm một TextView hiển thị số điện thoại đã nhập và
một TextView hiển thị báo hiệu ứng dụng đang chạy được tạo bằng code như sau:
<TextView
android:gravity="center"
android:text="SDT:"
android:textSize="20sp"
android:textStyle="bold"
android:id="@+id/tvsdt"
android:layout_width="match_parent"
android:layout_height="50dp"
/>
<TextView
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SOS is running...."
/>
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.26: Giao diện thông báo SOS đang hoạt động.
Tới đây thì phần giao diện và hiển thị coi như xong, và vì ứng dụng sẽ gửi tin
nhắn, gọi điện và sử dụng định vị nên ta cần phải cấp các quyền này cho ứng dụng
bằng cách mở thẻ Androidmanifest.xml và thêm các dòng sau vào phần khai báo:
<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"/>
Tương ứng với hai giao giao diện start_activity.xml và activity_main.xml sẽ
là thẻ chương trình xử lý là startActivity.java và MainActivity.java
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Lưu đồ startActivity.java
Hình 4.27: Lưu đồ startActivity.java.
Khi nhấn nút xác nhận chuỗi số điện thoại ta nhâp sẽ được ghi nhận lại bằng
phương thức:
String sdt = edt_sdt.getText().toString();
Tiếp theo ta sẽ chuyển qua MainActivity và truyền chuỗi số điện thoại qua:
Intent intent = new Intent(startActivity.this, MainActivity.class);
intent.putExtra(SDT, sdt);
startActivity(intent);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Lưu đồ MainActivity.java
Hình 4.28: Lưu đồ MainActivity.java.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Xử lý trong handler:
Hình 4.29: Lưu đồ xử lý trong handler.
Chương trình handler:
Handler j = new Handler();
j.postDelayed(new Runnable() {
@Override
public void run() {
myfirebase.child("SENT").setValue("no");
call(sdt);
}
}, 5000);
Khởi tạo một trình xếp lịch chạy mới thời gian delay là 5000 mili giây.
Khi hết thời gian delay thì chạy hai dòng lệnh bên trong là
myfirebase.child(“SENT”).setValue(“no”); có chức năng đặt giá trị nhánh
“SENT” của Firebase thành chuỗi “no”. call(sdt) có chức năng gọi chương
trình gọi điện call và truyền vào chương trình này chuỗi sdt.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Lưu đồ xử lý các chương trình con:
Hình 4.30: Lưu đồ hoạt động của chương trình gửi tin nhắn.
Chương trình gửi tin nhắn với phoneNo được gán bằng chuỗi sdt.
String phoneNo = sdt;
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNo, null, message, null, null);
Toast.makeText(getApplicationContext(), "SMS sent.",
Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "SMS faild, please try again.",
Toast.LENGTH_LONG).
show();
e.printStackTrace();
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.31: Lưu đồ khởi tạo số điện thoại khẩn cấp.
Hành động gọi điện được thực thi bằng lệnh sau:
Intent it = new Intent(Intent.ACTION_CALL);
it.setData(Uri.parse("tel:" + phoneNumber));
startActivity(it);
Với phoneNumber được gán bằng chuỗi sdt.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.32: Lưu đồ hoạt động của chương trình vị trí.
Chương trình con location:
private void location() {
locationManager = (LocationManager)
getSystemService(LOCATION_SERVICE);
locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57
CHƯƠNG 4. THI CÔNG HỆ THỐNG
myfirebase.child("toa do").setValue((+location.getLatitude() + " ," +
location.getLongitude()));
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
Intent intent = new
Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
};
if (ActivityCompat.checkSelfPermission(this,
android.Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(this,
android.Manifest.permission.ACCESS_COARSE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[]
permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the
documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
locationManager.requestLocationUpdates("gps", 60000, 0, locationListener);
}
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58
CHƯƠNG 4. THI CÔNG HỆ THỐNG
4.4 THI CÔNG MẠCH ĐIỀU KHIỂN ĐÈN, CHUÔNG
Bảng 4.1. Danh sách các linh kiện được sử dụng.
STT Số lượng Tên linh kiện Giá trị
1 1 Module 4 relay 5V 800mA
2 1 Module Wifi ESP8266 NodeMCU Mini D1 170mA
3 2 Bóng đèn led 5W 5W, 550lm
4 1 Bóng đèn led 9W 9W, 900lm
5 1 Chuông điện 220VAC/50Hz
Với yêu cầu thiết kế mô hình nhỏ gọn và tiện dụng, nhóm em quyết định thiết
kế và thi công mô hình trên cùng một bảng mạch như sau:
Hình 4.33: Thiết kế bản vẽ PCB và sau khi thi công.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.34: Mạch điều khiển hoàn chỉnh.
Phần mềm lập trình cho vi điều khiển Arduino IDE:
Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng đa nền tảng
được viết bằng Java, và từ IDE này sẽ được sử dụng cho Ngôn ngữ lập trình xử lý
(Processing programming language) và project Wiring. Nó được thiết kế để dành cho
những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một
chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace
matching, và tự động canh lề, cũng như compile(biên dịch) và upload chương trình lên
board chỉ với 1 cú nhấp chuột. Một chương trình hoặc code viết cho Arduino được gọi
là một sketch.
Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một
thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các thao
tác input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo ra
một chương trình vòng thực thi (cyclic executive) có thể chạy được:
● setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết
lập các cài đặt
● loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Ví dụ: Chương trình điều khiển led nhấp nháy:
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage
level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage
LOW
delay(1000); // wait for a second
}
- Cách cài đặt và tạo project arduino IDE: Truy cập vào trang web:
https://www.arduino.cc/en/Main/Software tải về chương trình arduino IDE phù hợp
với hệ điều hành của máy tính đang dùng. Giải nén file .rar vừa tải về ta được thư mục
như hình.
Sau đó nhấn vào biểu tượng arduino (Application) để khởi chạy phần
mềm.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.35: Cửa sổ lập trình của Arduino.
● Arduino Toolbar: có một số button và chức năng của chúng như sau :
○ Verify : kiểm tra code có lỗi hay không .
○ Upload: nạp code đang soạn thảo vào Arduino .
○ New, Open, Save : Tạo mới, mở và Save sketch .
○ Serial Monitor : Đây là màn hình hiển thị dữ liệu từ Arduino gửi lên
máy tính hoặc tổ hợp phím CTRL + SHIFT + M
● Arduino Menu :
○ File menu : Trong file menu chúng ta quan tâm tới mục Examples đây là
nơi chứa code mẫu ví dụ như: cách sử dụng các chân digital, analog,
sensor.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62
CHƯƠNG 4. THI CÔNG HỆ THỐNG
○ Sketch menu :
■ Verify/ Compile : chức năng kiểm tra lỗi code.
■ Show Sketch Folder : hiển thị nơi code được lưu.
■ Add File : thêm vào một Tab code mới.
■ Include Library : thêm thư viện cho IDE.
- Cài đặt driver:
Để máy tính và boad arduino giao tiếp được với nhau ta phải cài driver, đầu tiên ta
chạy file arduino-1.8.5-windows\arduino-1.8.5\drivers\dpinst-amd64 từ thư mục giải
nén. Cửa sổ “Device Driver Installation Wizard” hiện ra, ta chọn Next để tiếp tục.
Hình 4.36: Cửa sổ tính hành cài đặt Driver Arduino.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Quá trình cài đặt mất khoảng 10s sau đó ta bấm “Finish” để hoàn tất.
Hình 4.37: Cửa sổ hoàn thành quá trình cài đặt Driver Arduino.
- Thêm thư viện cho Arduino:
Hình 4.38: Thêm thư viện cho Arduino.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Vào Sketch → Include Library → Manage Libraries.. sau đó gõ vào thanh tìm
kiếm thư viện cần cài đặt và nhấn Install ở góc phải.
Hình 4.39: Cửa sổ Library Manager.
Sau khi cài thành công thư viện ta sẽ thấy chữ INSTALLED như trên hình.
Với yêu cầu điều khiển đã nêu như ở trên ta thiết lập được lưu đồ hệ thống như sau:
Hình 4.40: Lưu đồ điều khiển của vi điều khiển.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Ta sử dụng vi điều khiển để đọc dữ liệu từ firebase thông qua mạng wifi nên
cần phải khai báo hai thư viện liên quan.
#include
#include
Các ngõ ra được sử dụng của của vi điều khiển và các biến sẽ được định nghĩa
và khai báo như sau:
#define DEN1 D4
#define DEN2 D3
#define DEN3 D2
#define BELL D1
String IDden1 = "den11";
String IDden2 = "den12";
String IDden3 = "den13";
String IDbell = "bell";
int onlyt1=1,onlys1=1;
int onlyt2=1,onlys2=1;
int onlyt3=1,onlys3=1;
int onlyt4=1,onlys4=1;
Các ngõ vào ra D4, D3, D2, D1 lần được định nghĩa trong trương trình là
DEN1, DEN2, DEN3 và BELL. Và khai báo các chuỗi các biến sử dụng..
Tiếp theo đó hàm void setup() sẽ được gọi một lần duy nhất để thiết lập các giá
trị ban đầu, rồi đến hàm void loop() sẽ được lặp đi lặp lại cho đến khi ngừng cấp điện
hoặc reset.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Lưu đồ xử lý hàm void setup().
Hình 4.41: Lưu đồ xử lý hàm void setup().
Chương trình hàm void setup():
void setup() {
pinMode(DEN1, OUTPUT);
pinMode(DEN2, OUTPUT);
pinMode(DEN3, OUTPUT);
pinMode(BELL, OUTPUT);
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67
CHƯƠNG 4. THI CÔNG HỆ THỐNG
WiFi.mode(WIFI_OFF);
delay(50);
Serial.begin(115200);
delay(10);
setupWifi();
setupFirebase();
}
DEN1, DEN2, DEN3, BELL là các thiết bị mà ta sẽ điều khiển nên phải khai
báo là ngõ ra. Sử dụng Serial với tốc độ baud bằng 115200 để kết nối hiển thị lên máy
tính các thông tin tiến trình mà ta muốn giúp tiện theo dõi trong quá trình build
chương trình.
Kết nối wifi cho ESP: Phải đảm bảo đã khai báo thư viện wifi như bên trên đã
nêu. Trong hàm setupWifi thêm vào dòng lệnh sau :
WiFi.begin(wifiName, wifiPass);
Serial.println("Hey i 'm connecting...");
while (WiFi.status() != WL_CONNECTED) {
Serial.println(".");
delay(500);
Khởi động wifi với wifiName và wifiPass lần lượt là địa chỉ SSID và mật khẩu
wifi mà ta muốn kết nối. Sau đó in ra màn hình thông báo kết nối, in kí tự dấu chấm
cho đến khi kết nối thành công.
Kết nối esp8266 với firebase:
Trước tiên ta đảm bảo rằng thư viện đã được thêm.
#include
Tiếp theo ta thiết đặt kết nối Firebase trong chương trình Arduino bằng các lệnh:
#define firebaseURl "android-vanba.firebaseio.com"
#define authCode "0a4VRqqXeo7r9BaWJ3beDMbJy1w00gwVYcQrf8hf"
void setupFirebase() {
Firebase.begin(firebaseURl, authCode);
}
Trong hàm setupFirebas(): Ta có lệnh Firebase.begin(firebaseURl, authCode)
để khởi tạo esp với dữ liệu thông tin trong tài khoản firebase đã tạo.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68
CHƯƠNG 4. THI CÔNG HỆ THỐNG
firebaseURl: Máy chủ lưu trữ database firebase của bạn, trong ứng dụng này là:
android-vanba.firebaseio.com. Bạn lấy địa trên tại giao diện Firebase như hình dưới.
Hình 4.42: Giao diện Database.
authCode: Đây là mã riêng của bạn, các bước lấy mã như hình dưới:
Hình 4.43: Lấy authCode của Firebase.
Hàm void loop() sẽ lặp đi lặp lại với hàm getData() bên trong. Hàm getData
chính là nơi đọc dữ liệu firebase về để điều khiển ngõ ra. Dữ liệu đọc về lần lượt tại
các nhánh đích là IDden1, IDden2, IDden3, IDbell. Quy trình đọc dữ liệu và xử lý tại
các nhánh là như nhau, nhóm sẽ trình bày chi tiết lưu đồ xử lý tại nhánh đích là
IDden1.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.44: Lưu đồ hàm voidloop().
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Chương trình đọc dữ liệu về từ IDden1 xử lý điều khiển ngõ ra:
FirebaseObject object = Firebase.get(IDden1);
String trangthai = object.getString("trangthai");
Serial.println("TRANG THAI DEN: ");
Serial.println(trangthai);
if(trangthai!="\0")
{
if(trangthai=="sang")
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71
CHƯƠNG 4. THI CÔNG HỆ THỐNG
{ if(onlys1==1)
{
Firebase.setString(IDden1+"/TT","sang");
onlys1=0;
onlyt1=1;
};
digitalWrite(DEN1,LOW);
}else
{
if(onlyt1==1)
{
Firebase.setString(IDden1+"/TT","tat");
onlyt1=0;
onlys1=1;
};
digitalWrite(DEN1,HIGH);
}
}
Bắt đầu ta chọn nhánh đích làm việc từ firebase ở đây là IDden1 mà trong phần
định nghĩa ta đã định nghĩa nó là “den11”. Sau đó ta sẽ giá trị nhánh “trang thai”
thuộc IDden1. Giao diện thực tế firebase như sau:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.45: Giao diện firebase thực tế.
Ta chỉ xử lý tiếp khi giá trị trạng thái khác rỗng. Ta sẽ có hai biến onlys1 và
onlyt1 là hai biến tương đồng với trạng thái ngõ ra quy định onlys1 bằng 1 đèn sáng,
onlyt1 bằng 1 đèn tắt, hai biến này giúp phản hồi là thiết bị ở trạng thái bật hay tắt. Cụ
thể như sau: Ban đầu ta đã gán onlys1 và onlyt1 bằng 1.
Nếu đọc được trạng thái là “sang” thì sẽ đặt nhánh phản hồi “TT” với giá trị là
“sang” và gán onlys1 bằng 0, onlyt1 bằng 1, để nếu vòng lặp quay lại mà không thay
đổi giá trị đọc về thì ta sẽ không cần phản hồi lại. Sau đó xuất mức thấp ra chân DEN1
cho phép đèn 1 sáng.
Ngược lại nếu đọc được trạng thái khác “sang” thì phương thức xử lý cũng
tương tự như trên, phản hổi “TT” sẽ là “tat”, onlyt1 bằng 0, onlys1 bằng 1. Sau đó
xuất mức cao ra chân DEN1 điề khiển đèn 1 tắt.
4.5 HƯỚNG DẪN SỬ DỤNG, THAO TÁC
Bước 1: Đảm bảo đồng hồ và điện thoại được kết nối với nhau, kết nối wifi,
cấp nguồn cho mạch điều khiển và thiết bị điện. Nếu là lần đầu sử dụng đồng hồ, truy
cập https://www.asus.com/vn/support/FAQ/1009103/ và làm theo hướng dẫn để tiến
hành kết nối 2 thiết bị.
Bước 2: Khởi động các ứng dụng trên điện thoại và đồng hồ từ biểu tượng ứng
dụng.
- Trên giao diện điện thoại, ta mở ứng dụng SOS_FIREBASE .
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.46: Màn hình đầu tiên của ứng dụng.
Sau khi mở ứng dụng ta sẽ thấy giao như trên. Bạn nhập số điện thoại cần gửi
tin nhắn khẩn cấp vào vị trí “Enter the emergency number” sau đó nhấn CONFIRM để
tiếp tục.
Hình 4.47: Màn hình thứ hai của ứng dụng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 74
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Bây giờ số điện thoại bạn vừa nhập sẽ hiện trên màn hình, bạn chỉ cần nhập
một lần đầu khi khởi động ứng dụng và để ứng dụng luôn chạy. Những thao tác tiếp sẽ
thực hiện trên đồng hồ, nên đến đây thao tác ứng dụng điện thoại coi như xong.
- Mở ứng dụng DONGHO3 trên đồng hồ:
Hình 4.48: Màn hình của ứng dụng trên đồng hồ.
+ Chức năng các button, switch:
L1: Bật tắt đèn 1.
L2: Bật tắt đèn 2.
L3: Bật tắt đèn 3.
: Bật chuông báo khẩn cấp, khi cần sự trợ giúp của người xung
quanh.
: Tắt chuông báo khẩn cấp.
: Gửi tin nhắn với nội dung “ Tôi cần sự giúp đỡ”, thực hiện
cuộc gọi và gửi tọa độ hiện tại tới số điện thoại mặc định đã chọn trước.
Bước 3: Ta có thể truy cập trực tiếp vào địa chỉ https://firebase.google.com/
làm theo hướng dẫn bên dưới để theo dõi trạng thái các thiết bị và điều khiển trực tiếp
tại đây.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 75
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.49: Giao diện Firebase.
Tiếp theo ta bấm nút GET STARTED sẽ hiện ra màn hình đăng nhập như sau:
Hình 4.50: Cửa sổ đăng nhập tài khoản Google.
Ta sử dụng tài khoản Gmail đăng ký trước đó để đăng nhập, mở dự án ra và chọn mục
database trong develop.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 76
CHƯƠNG 4. THI CÔNG HỆ THỐNG
Hình 4.51: Giao diện của project trên Firebase.
Khi này giao diện hiện ra như hình dưới, bạn tương tác điều khiển trực tiếp tại đây.
Hình 4.52: Giao diện làm việc của Database.
Trạng thái chuông được hiển thị tại bell--trangthai: “tat”, chữ tat ở đây có
nghĩa là chuông đang tắt. Để bật chuông bạn thay chữ tat bằng chữ bat nhập từ bàn
phím. Tương tự cho trạng thái den11, den12 và den13. Trạng thái tin nhắn và cuộc
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 77
CHƯƠNG 4. THI CÔNG HỆ THỐNG
gọi khẩn cấp được hiển thị tại SENT: “no”, chữ no có nghĩa là chưa cho phép kích
hoạt tin nhắn và cuộc gọi khẩn cấp, để kích hoạt ta thay chữ no bằng chữ yes. TT là
trạng thái phản hồi của phần cứng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 78
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
5.1 KẾT QUẢ
Sau một thời gian một tìm hiểu, nghiên cứu các tài liệu chuyên ngành, tìm hiểu thêm
qua mạng Internet, tổng hợp lại các kiến thức đã được học trong suốt 4 năm cũng như
được sự hướng dẫn của thầy GVHD Th.S Nguyễn Văn Hiệp. Nhóm chúng em cũng cơ
bản hoàn thành được đồ án tốt nghiệp với đề tài “HỆ THỐNG ỨNG DỤNG WEAR OS
TRONG VIỆC HỖ TRỢ NGƯỜI GIÀ”.
Sau đề tài đồ án này, nhóm em cũng đã nghiên cứu và tích lũy được thêm nhiều
hiểu biết, kiến thức mới như:
- Biết cách cài đặt, sử dụng phần mềm Android Studio xây dựng các ứng dụng
trên đồng hồ và điện thoại thông minh. Sử dụng được các hàm cơ bản, các
dịch vụ của Google trong lập trình ứng dụng android.
- Tìm hiểu và sử dụng được Firebase, theo dõi
Các file đính kèm theo tài liệu này:
- do_an_he_thong_ung_dung_wear_os_trong_viec_ho_tro_nguoi_gia.pdf