Đồ án Hệ thống ứng dụng wear os trong việc hỗ trợ người già

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

pdf117 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 368 | Lượt tải: 0download
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:

  • pdfdo_an_he_thong_ung_dung_wear_os_trong_viec_ho_tro_nguoi_gia.pdf
Tài liệu liên quan