Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant

CHƢƠNG 1. TỔNG QUAN CHƢƠNG 1. TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Sự bùng nổ về cuộc cách mạng 4.0 đã khiến cụm từ Interner Of Things hay vạn vật kết nối internet trở nên không còn quá xa lạ với nhiều ngƣời. Rất nhiều ngƣời nói rằng nó có thể sẽ trở thành kẻ thay đổi toàn bộ cục diện của thị trƣờng, bằng cách khiến cho mọi vật đều đƣợc kết nối với nhau. Ngày nay chúng ta thấy có rất nhiều thành quả từ chính IoT mang lại. Rất nhiều công ty hiện nay đã và đang dốc hết sức lực để phát

pdf121 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 379 | Lượt tải: 0download
Tóm tắt tài liệu Đồ án Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
triển thật mạnh IoT. Chính vì tâm quan trọng đó nên nhóm chúng em quyết định chọn đề tài liên quan tới IoT, để từ đồ án này mà nhóm có thêm kinh nghiệm cho công việc trong tƣơng lai. Cụ thể hơn nhóm nhận thấy đƣợc tầm quan trọng của việc điều khiển các thiết bị điện trong gia đình, cùng với sự tiện lợi mà Google Assistant (trợ lý ảo do Google phát triển) mang lại, nên nhóm quyết định chọn đề tài “ Điều khiển thiết bị điện thông qua trợ lý ảo Google Assistant”. Nhóm sẽ sử dụng trợ lý ảo Google Assistant làm phƣơng tiện để điều khiển các thiết bị điện bằng giọng nói. Đồng thời sẽ thiết kế một phần mềm chạy trên điện thoại thông minh sử dụng hệ điều hành Android, giúp ngƣời sử dụng có thể thao tác điều khiển và quản lý trạng thái của các thiết bị một cách dễ dàng ở bất cứ nơi đâu có phủ sóng 3G hoặc WIFI. Kèm theo đó là các tính năng nhƣ: điều chỉnh độ sáng của từng đèn, giúp ngƣời sử dụng có thể chỉnh độ sáng phù hợp theo nhu cầu sử dụng, hẹn giờ để bật tắt các thiết bị, giám sát nhiệt độ, độ ẩm và cảnh báo khi có ngƣời lạ đột nhập vào nhà. Đề tài mà nhóm sinh viên trƣớc đó đã làm có tên “ Thiết kế và thi công hệ thống điều khiển và giám sát thiết bị nhà có hỗ trợ Google Assistant”, đây là đề tài tốt nghiệp của nhóm sinh viên trƣờng đại học Sƣ Phạm Kỹ Thuật thành phố Hồ Chí Minh. Nhóm đề tài này đã thực hiện đƣợc việc thiết kế phần cứng mạch điện trên thiết bị có sẵn, thiết kế website và phần mềm điều khiển chạy trên hệ điều hành Android để điều khiển và giám sát trạng thái của các thiết bị. Nhóm chúng em sẽ cải tiến và phát triển đề tài này thông qua việc điều khiển độ sáng của các đèn bằng giọng nói, hẹn giờ bật tắt các thiết bị. Ngoài ra hệ thống còn có chức năng cảnh báo có ngƣời đột nhập vào nhà và hiển thị nhiệt độ, độ ẩm trên App Android. Dễ dàng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 1 CHƢƠNG 1. TỔNG QUAN cài đặt thông tin của wifi kết nối ( tên mạng và mật khẩu) cho các đèn sử dụng wifi khi di chuyển tới một nơi khác. 1.2 MỤC TIÊU Đối với phần cứng thì nhóm sẽ thi công lại khối công suất của các đèn chiếu sáng nhằm mục đích phù hợp với yêu cầu điều khiển, thiết bị đèn có thể điều khiển bằng điện thoại qua Wifi. Bên cạnh đó thiết kế mạch giám sát nhiệt độ, độ ẩm, và chuyển động để ngƣời sử dụng có thể giám sát đƣợc nhiệt độ, độ ẩm và chuyển động tại vị trí đặt thông qua app điện thoại. Về phần mềm nhóm sẽ sự dụng Google Assistant (trợ lý ảo do Google phát triển) để làm phƣơng tiện điều khiển các thiết bị đèn và bật tắt led và cảm biến chuyển động trên thiết bị giám sát nhiệt độ, độ ẩm và chuyển động. Bên cạnh đó nhóm sẽ thiết kế một phần mềm chạy trên điện thoại thông minh sử dụng hệ điều hành android. Phần mềm có thể nhận đƣợc phản hồi và hiển thị trạng thái của các thiết bị đèn một cách trực quan, nhanh chóng lên ứng dụng, chỉ cần điện thoại và các thiết bị đèn trong nhà đƣợc kết nối wifi hoặc 3G, nó giúp ngƣời sử dụng có thể dễ dàng giám sát đƣợc tình trạng của các thiết bị khi không có ở nhà, đồng thời phần mềm cũng có thể điều khiển đƣợc việc bật/tắt, hẹn giờ cũng nhƣ độ sáng của các đèn. Giao diện phần mềm dễ dàng thao tác cho ngƣời sử dụng. Ứng dụng dễ dàng cập nhật mà không ảnh hƣởng đến các dữ liệu đã cài đặt trƣớc đó. 1.3 NỘI DUNG NGHIÊN CỨU - NỘI DUNG 1: Khảo sát lựa chọn các bóng đèn led trụ tròn (Led bulb) chiếu sáng trên thị trƣờng, cảm biến đo nhiệt độ, độ ẩm và cảm biến phát hiện chuyển động. - NỘI DUNG 2: Các giải pháp thiết kế phần mềm và phần cứng. - NỘI DUNG 3: Thiết kế khối công suất, khối điều khiển của đèn và mạch giám sát nhiệt độ, độ ẩm và phát hiển chuyển động. - NỘI DUNG 4: Thiết kế phần mềm điều khiển và hiển thị. - NỘI DUNG 5: Thi công mô hình. - NỘI DUNG 6: Đánh giá kết quả thực hiện. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 2 CHƢƠNG 1. TỔNG QUAN 1.4 GIỚI HẠN - Đèn chiếu sáng có công suất 30W. - Mỗi đèn chiếu sáng là một thiết bị độc lập có thể cài đặt kết nối. - Sử dụng cảm biến DHT11 để đo nhiệt độ, độ ẩm và cảm biến PIR để phát hiện chuyển động. - Phần mềm điều khiển hỗ trợ điều khiển mô phỏng 2 bóng đèn. - Khoảng cách điều khiển đèn và giám sát trạng thái của các thiết bị không giới hạn, chỉ cần nơi đó có sóng 3G hoặc wifi. - Kiểm soát đƣợc hoạt động của các thiết bị trên phần mềm điều khiển, biết đƣợc đèn đang bật hay tắt, nhiệt độ, độ ẩm hiện tại là bao nhiêu, nhà có ai đột nhập vào không. Tất cả đƣợc hiển thị lên phần mềm. 1.5 BỐ CỤC Chƣơng 1: Tổng quan Chƣơng 2: Cơ sở lý thyết Chƣơng 3: Thiết kế và tính toán Chƣơng 4: Thi công hệ thống Chƣơng 5: Két quả, đánh giá và nhận xét Chƣơng 6: Kết luận và hƣớng phát triển - Chƣơng 1: Tổng quan Chƣơng này đặt vấn đề, 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 các lý thuyết nền tảng để dựa trên lý thuyết này thực hiện đồ án. - Chƣơng 3: Thiết kế và tính toán Chƣơng này trình bày tính toán thiết kế phần cứng mạch điện và phần mềm chạy trên điện thoại thông minh sử dụng hệ điều hành Android. - Chƣơng 4: Thi công hệ thống Chƣơng này trình bày về thi công hệ thống: thi công mô hình, lập trình hệ thống, lập trình mô phỏng và viết tài liệu hƣớng dẫn lập trình thao tác. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3 CHƢƠNG 1. TỔNG QUAN - Chƣơng 5: Kết quả, nhận xét và đánh giá Chƣơng này trình bày về những kết quả đồ án mà nhóm làm đƣợc, nhận xét và đánh giá các kết quả làm đƣợc. - Chƣơng 6: Kết luận và hƣớng phát triển Chƣơng này trình bày những kết quả mà nhóm làm đƣợc so với mục tiêu đề ra và hƣớng phát triển của đề tài. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT CHƢƠNG 2. CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU Theo mong muốn đề tài là điều khiển thiết bị điện thông qua trƣ lý ảo Google Assistant thì nhóm cần tìm hiểu các nội dung sau: - Giới thiệu về trợ lý ảo Google Assistant. - Khái niệm về cơ sở dữ liệu Firebase. - Tổng quan vè hệ điều hành Android. - Tổng quan về Wifi. 2.2 GIỚI THIỆU VỀ TRỢ LÝ ẢO GOOGLE ASSISTANT. 2.2.1 Khái niệm Google Assistant là một trợ lý ảo thông minh tƣơng tự nhƣ Siri của Apple, Bixby của Samsung hay Cortana của Microsoft trên Windows. Google Assistant hỗ trợ nhiều tính năng thông minh nhƣ tìm kiếm thông tin hay thực hiện yêu cầu mà ngƣời dùng đƣa ra nhƣ mở danh bạ, gọi điện cho ngƣời có tên trong danh bạ, đọc tin nhắn, mở nhạc 2.2.2 Lịch sử phát triển Google Assistant là một trợ lý cá nhân ảo đƣợc phát triển bởi Google và đƣợc giới thiệu tại hội nghị nhà phát triển của hãng vào tháng 5 năm 2016. Google Assistant ban đầu đƣợc đƣa vào ứng dụng nhắn tin Google Allo, và loa thông minh Google Home. Sau một thời gian chỉ có mặt trên hai chiếc điện thoại thông minh Pixel và Pixel XL của hãng, Google bắt đầu triển khai Assistant trên các thiết bị Android khác vào tháng 2 năm 2017, bao gồm cả các điện thoại thông minh bên thứ ba và các thiết bị Android Wear, và đƣợc phát hành dƣới dạng ứng dụng riêng biệt trên iOS vào tháng 5. Cùng với sự ra mắt một bộ phát triển phần mềm vào tháng 4 năm 2017, Assistant đã và đang đƣợc tiếp tục mở rộng hỗ trợ cho một lƣợng lớn thiết bị, bao gồm cả xe hơi và các thiết bị nhà thông minh. Các chức năng của Assistant cũng có thể đƣợc bổ sung bởi các nhà phát triển bên thứ ba. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT 2.2.3 Ƣu điểm và nhƣợc điểm a. Ưu điểm - Khả năng nhận dạng Tiếng Việt trên Google Assistant rất tốt. - Ngƣời dùng thao tác mà không cần chạm vào điện thoại nhƣ yêu cầu gọi điện hoặc nhắn tin cho một ai đó, hẹn giờ, đặt nhắc nhở, lên lịch hẹn - Trợ lý của Google có thể làm tính, chuyển đổi đại lƣợng, tính tỷ giá... trả lời các câu hỏi liên quan đến thể thao, du lịch, tìm nhà hàng, trạm xăng... - Google Assistant cho phép ngƣời dùng điều khiển các thiết bị thông minh trong nhà bằng Tiếng Việt. b. Nhược điểm - Nhiều câu hỏi trợ lý ảo không đƣa ra câu trả lời trực tiếp mà chỉ gợi ý các kết quả từ Google Seach. - Mặc dù đã hỗ trợ Tiếng Việt, nhƣng với các câu hỏi cho nhà thông minh, Assistant lại trả lời bằng Tiếng Anh. 2.3 GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU FIREBASE 2.3.1 Khái niệm Firebase là một dịch vụ API (giao diện lập trình ứng dụng) để lƣu trữ và đồng bộ dữ liệu giữa hai hay nhiều thiết bị với nhau. Firebase hoạt động dựa trên nền tảng đám mây đƣợc cung cấp bởi Google nhằm giúp đỡ các lập trình viên phát triển nhanh ứng dụng bằng cách đơn giản hóa các thao tác ứng dụng với cơ sở dữ liệu BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2.1. Trao đổi dữ liệu giữa FIREBASE với các thiết bị 2.3.2 Lịch sử phát triển Firebase đƣợc thành lập bởi Tamplin và Lee . Hai nhà sáng lập này đã dựa vào một dịch vụ API chat trực tuyến vào trang web đƣợc cung cấp bởi Envolve, các nhà phát triển sử dụng Envolve để đồng bộ hóa dữ liệu các trạng thái trò chơi trong thời gian thực lên trang web. Dựa vào yếu tố này Tamplin và Lee đã quyết định tách riêng hệ thống chat và kiến trúc thời gian thực để thành lập một cơ sở dữ liệu firebasse riêng biệt vào tháng 4 năm 2012. Vào ngày 21 tháng 10 năm 2014 Google đã mua lại Firebase. 2.3.3 Các chức năng chính của Firebase [2] - Realtime Database – Cơ sở dữ liệu thời gian thực Fire ase lƣu trữ dữ liệu data ase dƣới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực. Chúng ta có thể xây dựng đƣợc client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sử dụng chung 1 database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong data ase đƣợc thêm mới hoặc sửa đổi. - Firebase Authentication – Hệ thống xác thực của Firebase Với Firebase chúng ta có thể dễ dàng tích hợp các công nghệ xác thực của Google, Facebook, Twitter, hoặc một hệ thống xác thực mà chúng ta mình tạo ra từ trong ứng dụng ở bất kì nền tảng nào nhƣ Android, iOS hoặc Web. - Firebase Hosting Chúng ta có thể triển khai một ứng dụng nền web chỉ với vài giây với hệ thống BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 7 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT Firebase, và các dữ liệu sẽ đƣợc lƣu trữ đám mây đồng thời đƣợc bảo mật thông qua giao thức truy cập SSL. 2.3.4 Ƣu nhƣợc điểm của Firebase a. Ưu điểm - Triển khai ứng dụng cực nhanh. - Tính bảo mật cao. - Linh hoạt và mở rộng ứng dụng dễ dàng. - Tình ổn định cao, ít khi gặp trƣờng hợp sập server. - Ngƣời đăng ký đƣợc sử dụng miễn phí 1GB dung lƣợng lƣu trữ. b. Nhược điểm Đăng ký tài khoản miễn phí thì chỉ đƣợc tối đa 100 thiết bị hoặc ngƣời truy cập trong khi có tính phí thì không giới hạn thiết bị hoặc ngƣời truy cập. 2.4 GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 2.4.1 Khái niệm về Android. Android là một hệ điều hành có mã nguồn mở dựa trên nền tảng Linux đƣợc thiết kết dành cho các thiết bị di động và máy tính bảng. 2.4.2 Lịch sử phát triển Tổng công ty Android (Android, Inc.) đƣợc thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin. Vào năm 2005 Google mua lại công ty này sau đó tới năm 2007 chính thức ra mắt hệ điều hành Android. Từ năm 2008, hệ điều hành Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điều hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trƣớc. Mỗi bản nâng cấp đƣợc đặt tên lần lƣợt theo thứ tự bảng chữ cái, theo tên của một món ăn tráng miệng. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 8 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2.2. Các phiên bản hệ điều hành Android qua các lần nâng cấp 2.4.3 Ƣu nhƣợc điểm của hệ điều hành Android [1] a. Ưu điểm - Thân thiện dễ sử dụng với ngƣời dùng. - Khả năng đa nhiệm chạy cùng lúc nhiều ứng dụng. - Đa dạng nhiều sản phẩm phù hợp hầu hết các thiết bị điện thoại và máy tính bảng. - Kho ứng dụng Google Play có rất nhiều ứng dụng hay mà ngƣời dùng có thể lựa chọn tải về sử dụng. - Là hệ điều hành có khả năng tùy biến cao ngƣời dùng có thể chỉnh sữa mà không có sự cấm cản từ nhà sản xuất. b. Nhược điểm - Không tự động cập nhật hệ điều hành với tất cả thiết bị, khi một hệ điều hành mới ra mắt ngƣời dùng có thể không cập nhật đƣợc mà phải mua một thiết bị khác có hệ điều hành đó. - Khó kiểm soát chất lƣợng ứng dụng khi quá nhiều ứng dụng đƣợc tải lên. - Dễ nhiễm mã độc gây hại thiết bị do tính chất nguồn mở nên không có sự kiểm soát. - Sự phân cấp chất lƣợng sản phẩm lớn khi nhiều sản phẩm nổi tiếng chất lƣợng nhƣ: Galaxy S10, Galaxy Note 9, vẫn còn rất nhiều sản phẩm giá rẻ bình thƣờng khác. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 9 CHƢƠNG 2. CƠ SỞ LÝ THUYẾT 2.5 GIỚI THIỆU VỀ CÁC CHUẨN GIAO TIẾP WIFI 2.5.1 Khái niệm về wifi Wi-Fi viết tắt từ Wireless Fidelity hay mạng 802.11( bắt nguồn từ viện IEEE (Institute of Electrical and Electronics Engineers) của Hoa kỳ) là hệ thống mạng không dây sử dụng sóng vô tuyến, giống nhƣ điện thoại di động, truyền hình và radio. Sóng wifi truyền và phát tín hiệu ở tần số 2.4 GHz hoặc 5 GHz. Tần số này cao hơn so với các tần số sử dụng cho điện thoại di động, các thiết bị cầm tay và truyền hình. Tần số cao hơn cho phép tín hiệu mang theo nhiều dữ liệu hơn. 2.5.2 Các chuẩn của wifi [3] - Wifi hay mạng 802.11 có 6 chuẩn thông dụng nhất đó là 802.11a, 802.11 , 802.11g, 802.11n, 802.11ac, 802.11ad. - Chuẩn 802.11 : Đây là phiên bản đầu tiên trên thị trƣờng. Chuẩn này có tốc độ truyền chậm và ít phổ biến hơn so với các chuẩn khác. Chuẩn 802.11 phát tín hiệu ở tần số 2.4 GHz, nó có thể xử lý đến 11 Mbit/s và sử dụng mã CCK (complimentary code keying). - Chuẩn 802.11g: Cũng phát ở tần số 2.4 GHz, nhƣng nhanh hơn so với chuẩn 802.11 , tốc độ xử lý đạt 54 Mbit/s. Chuẩn 802.11g nhanh hơn vì nó sử dụng mã OFDM (orthogonal frequency-division multiplexing), một công nghệ mã hóa hiệu quả hơn. - Chuẩn 802.11a: Phát ở tần số 5 GHz và có thể đạt đến 54 Mbit/s. Nó cũng sử dụng mã OFDM. - Chuẩn 802.11n: Phát ở tần số 2.4 GHz, nhƣng nhanh hơn so với chuẩn 802.11a, tốc độ xử lý đạt 300 Mbit/s. - Chuẩn 802.11ac: phát ở tần số 5 GHz - Chuẩn 802.11ad: phát ở tần số 60 GHz. WiFi có thể hoạt động trên cả ba tần số và có thể nhảy qua lại giữa các tần số khác nhau một cách nhanh chóng. Việc nhảy qua lại giữa các tần số giúp giảm thiểu sự nhiễu sóng và cho phép nhiều thiết bị kết nối không dây cùng một lúc. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 10 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ 3.1 TỔNG QUAN CỦA ĐỀ TÀI Trong đề tài này, nhóm chúng em thiết kế các bóng đèn có thể điều chỉnh đƣợc độ sáng bằng giọng nói thông qua Google assistant hoặc thao tác trên app Android. Ngoài ra còn thiết kế mạch giám sát nhiệt độ, độ ẩm và chuyển động để ngƣời dùng có thể biết đƣợc nhiệt độ, độ ẩm và chuyển động tại vị trí đặt hiện tại thông qua app trên điện thoại. Cụ thể nhƣ: - Phần cứng Phần cứng của đề tài đƣợc xây dựng gồm 2 phần: Phần cứng của mạch giám sát nhiệt độ, độ ẩm và chuyển động và phần cứng mạch điều khiển độ sáng đèn. Đối với phần cứng của mạch giám sát nhiệt độ, độ ẩm và chuyển động thì phải đo đƣợc nhiệt độ, độ ẩm và giám sát chuyển động khi đƣợc ngƣời dùng kích hoạt. Báo động khi nhiệt độ vƣợt ngƣỡng cho phép hoặc phát hiện chuyển động. Mạch có kích thƣớc nhỏ gọn. Đối với phần cứng của mạch điều khiển độ sáng đèn thì có thể điều khiển đƣợc độ sáng. Mạch điều khiển có kích thƣớc nhỏ gọn phù hợp với không gian đèn. - Phần mềm Phần mềm đƣợc xây dựng chạy trên nền tảng Android phiên bản 5.1 trở lên, kích thƣớc màn hình 5.1 inch, độ phân giải 1440 x 2560 pixel hoặc lớn hơn. Phần mềm xây dựng gồm 3 Activity gồm: Giao diện điều khiển và hiển thị trạng thái các thiết bị đèn, giao diện hiển thị giá trị nhiệt độ, độ ẩm, cảnh báo trộm, giao diện điều khiển hẹn giờ bật, tắt các thiết bị. - Cơ sở dữ liệu Lƣu trữ dữ liệu mà các thiết bị thu thập và đƣa lên, từ đó các thiết bị có thể đọc về hoặc điện thoại có thể lấy về để hiển thị lên app ngƣời dùng. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 11 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ 3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 3.2.1 Sơ đồ khối hoạt động của hệ thống a. Sơ đồ khối Hình 3.1 Sơ đồ khối tổng quan của hệ thống b. Nguyên lý hoạt động Để hệ thống hoạt động đƣợc trƣớc tiên các thiết bị phải kết nối đƣợc với sóng sóng Wifi. Riêng Google assistant, phần mềm điện thoại là các ứng dụng trên điện thoại nên yêu cầu điện thoại kết nối Wifi hoặc 3G. Sau khi các thiết bị đã kết nối thành công với Wifi, việc điều khiển thiết bị sẽ thông qua điện thoại bằng 2 cách. - Cách 1: Ta sẽ sử dụng trợ lý ảo Google (Google Assistant) để ra lệnh điều khiển thiết bị bằng giọng nói. Dữ liệu đó sẽ đƣợc các thiết bị đèn nhận xử lý để điều khiển độ sáng đèn sau đó đƣa dữ liệu đó lên Firebase, riêng mạch giám sát nhiệt độ, độ ẩm và chuyển động ta chỉ điều khiển bật tắt cảm biến chuyển động và đèn led ngủ. - Cách 2: Ta sẽ sử dụng đã App Android để điều khiển bằng cách gửi dữ liệu thông qua Firebase, bộ phận xử lý của đèn sẽ nhận dữ liệu đó và điều khiển đèn. Ngoài tính năng điều khiển thì phần mềm còn có chức năng hiển thị các trạng thái của đèn, giá trị nhiệt độ, độ ẩm, cánh báo cháy trộm thông qua việc đọc dữ liệu trên Firebase do bộ phận xử lý của đèn và bộ phận xử lý nhiệt độ, độ ẩm gửi lên. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 12 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ 3.2.2 Thiết kế sơ đồ khối phần cứng bóng đèn a. Yêu cầu - Đóng mở qua App Android hoặc Google Assistant thông qua Wifi hoặc 3G. - Điều chình đƣợc độ sáng dùng App Android hoặc Google Assistant thông qua Wifi hoặc 3G. - Hẹn giờ đóng mở đèn bằng App Android thông qua Wifi hoặc 3G. - Lắp đặt dựa vào cách đi dây hiện tại của ngôi nhà. b. Phƣơng án thiết kế - Chọn các bóng đèn led trụ tròn( đèn bulb ) 30W thông dụng trên thị trƣờng để đảm bảo tính thẩm mỹ. - Dùng ESP8266 ESP-12E làm vi điều khiển trung tâm để tạo xung PWM, và kết nối Wifi để nhận lệnh điều khiển từ điện thoại. - Dùng Mosfet để điều chỉnh điện áp từ nguồn công suất cấp cho tấm led của đèn. c. Sơ đồ khối mạch điều khiển độ sáng đèn bulb. - Khối nguồn công suất - Khối nguồn điều khiển - Khối xử lý trung tâm - Khối cống suất - Khối cơ sở dữ liệu - Khối thực thi điều khiển và hiển thị BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 13 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Hình 3.2 Sơ đồ khối hệ thống điều khiển đèn bulb chiếu sáng d. Chức năng từng khối - Khối nguồn công suất Đây là nguồn có sẵn của đèn nguồn này cung cấp điện áp cho khối công suất và cho đèn hoạt động. - Khối nguồn điều khiển Đây là nguồn xung nhỏ gọn điện áp ngõ ra 5VDC dòng khoảng 700mA cung cấp nguồn cho mạch xử lý trung tâm (ESP8266 ESP-12E NodeMCU) - Khối xử lý trung tâm (ESP8266 ESP-12E NodeMCU) Khối này cập nhật dữ liệu từ cơ sở dữ liệu sau đó xử lý điều khiển khối công suất. - Khối cơ sở dữ liệu Đây là nơi lƣu trữ dữ liệu giữa khối xử lý trung tâm và khối thực thi điều khiển. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 14 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ - Khối công suất Nhiệm vụ khối này là điều khiển độ sáng của đèn hoặc tắt mở đèn thông qua lệnh điều khiển của khối xử lý trung tâm. - Khối thực thi điều khiển và hiển thị Đây là ứng dụng đƣợc viết trên điện thoại hệ điều hành android dùng để gửi dữ liệu lên cơ sở dữ liệu và lấy dữ liệu về để hiển thị. 3.2.3. Thiết kế sơ đồ khối mạch giám sát nhiệt độ, độ ẩm và chuyển động a. Yêu cầu - Đo chính xác nhiệt độ, độ ẩm với sai số nhỏ. - Bật tắt đƣợc cảm biến chuyển động . - Báo động khi nhiệt độ vƣợt ngƣỡng cho phép hoặc khi phát hiện chuyển động. - Đƣa các dữ liệu thu thập lên cơ sở dữ liệu. - Board mạch nhỏ gọn. b . Phƣơng án thiết kế - Chọn ESP8266 ESP-12E làm vi điều khiển trung tâm để giao tiếp với các cảm biến và xử lí tín hiệu. Kết nối Wifi để đƣa dữ liệu lên cơ sỏ dữ liệu. - Dùng cảm biến DHT11 để đo nhiệt độ, độ ẩm và cảm biến PIR AM312 để phát hiện chuyển động. - Dùng Buzzer để báo động. c. Sơ đồ khối mạch giám sát nhiệt độ, độ ẩm và chuyển động. - Khối nguồn điều khiển - Khối xử lý trung tâm - Khối cảm biến - Khối cơ sở dữ liệu - Khối thực thi điều khiển và hiển thị - Khối báo động BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 15 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Hình 3.3 Sơ đồ khối mạch giám sát nhiệt độ, độ ẩm và chuyển động d. Chức năng từng khối - Khối nguồn điều khiển Đây là nguồn xung nhỏ gọn điện áp ngõ ra 5VDC dòng khoảng 700mA cung cấp nguồn cho toàn mạch. - Khối xử lý trung tâm (ESP8266 ESP-12E NodeMCU) Khối này đọc giá trị từ khối cảm biến, xử lý để đƣa ra khối báo động và cập nhật dữ liệu lên cơ sở dữ liệu. - Khối cơ sở dữ liệu Đây là nơi lƣu trữ dữ liệu giữa khối xử lý trung tâm và khối thực thi điều khiển và hiển thị. - Khối cảm biến Dùng cảm biến DHT11 đo nhiệt độ, độ ẩm và cảm biến PIR AM312 giám sát chuyển động, sau đó gửi dữ liệu đến khối xử lí trung tâm. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 16 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ - Khối báo động Dùng buzzer báo động khi phát hiện chuyển động hoặc nhiệt độ tăng cao vƣợt ngƣỡng cho phép. - Khối thực thi điều khiển và hiển thị Đây là ứng dụng đƣợc viết trên điện thoại hệ điều hành android dùng để gửi dữ liệu lên cơ sở dữ liệu và lấy dữ liệu về để hiển thị. 3.2.4 Tính toán và thiết kế mạch a. Thiết kế khối xử lý trung tâm Do khối xử lí trung tâm của 2 mạch : mạch điều khiển độ sáng đèn và mạch giám sát nhiệt độ, độ ẩm và chuyển động tƣơng tự nhau nên các linh kiện lựa chọn sẽ giống nhau. Nên chúng em tính toán và thiết kế nhƣ sau: Bảng 3.1. Bảng tiêu thụ dòng ở các chế độ khác nhau của ESP8266 NodeMCU Dựa vào bảng tiêu thụ dòng của ESP8266 ở các chế độ khác nhau, để ESP8266 hoạt động tốt trong những chế độ đó thì dòng tiêu thụ phải lớn hơn 170mA cho nên nhóm chúng em chọn dòng tiêu thụ ESP8266 là 300mA để đảm bảo ESP8266 hoạt động tốt ở mọi chế độ tránh trƣờng hợp thiếu dòng hay sụt áp sẽ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 17 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ làm ESP8266 khởi động lại chƣơng trình. Nguồn cung cấp cho ESP8266 hoạt động là từ 3~3.6VDC xét về mức dòng và áp thì IC ổn áp tuyển tính AMS1117 phù hợp với ESP8266. Vì AMS1117 tạo ra điện áp 3.3VDC và dòng có thể tạo ra gần 800mA. Để ngõ ra nguồn 3.3 VDC ổn định và phẳng hơn nhóm em sử dụng tụ phân cực 100uF lọc nguồn bởi vì để ESP8266 hoạt động theo chế độ pwm khi không truyền nhận dữ liệu nhƣng vẫn duy trì kết nối để tiết kiệm năng lƣợng thì ESP8266 sẽ chạy ở chế độ Modem-sleep với dòng tiêu thụ 15mA. Ta có thông số sau: Độ gợn sóng nguồn vào r%=6%=0.06 (3.1) Tần số f=2x f0=2 x 50 =100 (3.2) = = = 220Ω (3.3) Công thức tính điện dung của tụ sau: C= = = 109 uF , vậy ta chọn 100uF (3.4) √ √ Tụ không phân cực 104 để lọc cao tần. Do các đƣờng truyền dữ liệu ở mạch nạp CP2102 có ngõ ra điện áp 5 VDC vì vậy để an toàn cho ESP8266 phải chắn diode zener 3.3VDC. Để hạn chế dòng cao chạy thẳng vào ESP8266 ở các đƣờng truyền dữ liệu phải đƣợc nối tiếp với trở 1.8K. Sử dụng trở 1.8k bởi vì theo datasheet ở chế Standby dòng tiêu thụ khoảng 0.9mA để đảm bảo an toàn và tiết kiệm năng lƣợng trong quá trình nạp chƣơng trình. Ta có : R = = = 1.88k, chọn 1k8 Ω (3.5) Theo datasheet mức điện áp để ESP8266 hiểu là mức cao là từ 0.75VCCVCC+0.3. để tiết kiệm năng lƣợng và ESP8266 hoạt động an toàn dòng bé hơn 0.9mA và điện áp mức cao là 2V vậy ta có: R = = = 4.333k, chọn R = 4k7Ω (3.6) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 18 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ  Sơ đồ nguyên lý mạch xử lý trung tâm điều khiển đèn bulb chiếu sáng (ESP8266 ESP-12E NodeMCU) Hình 3.4 Sơ đồ nguyên lý mạch xử lí trung tâm điều khiển đèn bulb chiếu sáng Trong đó, chân xuất PWM của ESP để điều khiển là chân D1 (GPIO5). Tƣơng tự, ta có sơ đồ nguyên lý mạch xử lí trung tâm của mạch giám sát nhiệt độ, độ ẩm và chuyển động. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 19 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ  Sơ đồ nguyên lý mạch xử lý trung tâm giám sát nhiệt độ, độ ẩm và chuyển động (ESP8266 ESP-12E NodeMCU) Hình 3.5 Sơ đồ nguyên lý mạch xử lí trung tâm giám sát nhiệt độ, độ ẩm và chuyển động Trong đó, chân D5 (GPIO14) kết nối đến chân 1 của opto trong khối báo động, chân D7 ( GPIO13) kết nối đến chân 1 của opto trong mạch kết nối cảm biến PIR AM312, chân D1 (GPIO5) kết nối đến jump kết nối led ngủ, chân D2 ( GPIO4) kết nối với chân data trong mạch kết nối cảm biến PIR, chân D4 (GPIO2) kết nối chân data của cảm biến DHT11. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 20 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ b. Thiết kế khối công suất Do khối xử lí trung tâm xuất xung với tần số 1khz nên ta có chu kì xung T = 1ms, với chu kì này thì opto PC817 vẫn đáp ứng đƣợc. Để có điện áp mở cổng Mosfet IRF830 với Vgs ≤ 20VDC và nguồn cấp vào opto PC817 phải nhỏ hơn hoặc bằng 35VDC nên ta sử dụng điện áp 5V từ module nguồn điều khiển để kích vào chân G của Mosfet IRF830. Chúng em chọn opto PC817 vì để đảm bảo cách ly về điện giữa khối công suất và khối xử lý trung tâm và opto vẫn hoạt động tốt với áp và dòng điện trong mạch. Ta có: dòng lớn nhất mà ESP xuất ra là Imax = 12mA,điện áp mức cao do ESP xuất ra là 0.8xVdd = 0.8x3.3= 2.64V, điện áp cho phép đặt vào diode quang của opto VF từ 1.2-1.4V. Do đó ta chọn điện trở: R = = = 103,33 Ω , chọn R=100Ω (3.7) Chúng em chọn Mosfet IRF830 vì nó có điện áp đánh thủng là 500V, dòng tải tối đa là 5.9A, công suất 125W. Trong khi đó điện áp đặt vào đèn tối đa là 109,7 VDC, dòng tiêu thụ tối đa của đèn là 266,6 mA, công suất 30W. Do đó Mosfet này đáp ứng đƣợc, không bị nóng. Hình 3.6 Sơ đồ khối công suất mạch đèn. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 21 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ c. Khối nguồn công suất Đây là nguồn sẵn có của bóng đèn. Sau khi đo điện áp ngõ ra khi không có tải là 210VDC, với điện áp ngõ vào là 220VAC. Hình 3.7 Mạch nguồn công suất d. Khối nguồn điều khiển Đối với mạch điều khiển độ sáng đèn bulb thì dòng tiêu thụ tối đa của mạch xử lý trung tâm (ESP8266 ESP-12E NodeMCU) là: ESP8266 ESP-12E NodeMCU là 170mA + led báo là 10mA + opto PC817 là 50mA và thêm một số linh kiện điện tử khác (điện trở, tụ điện). Vậy dòng tổng của khối xử lý trung tâm này khoảng 300mA. Đối với mạch giám sát nhiệt độ, độ ẩm và chuyển động thì dòng tiêu thụ tối đa của mạch xử lý trung tâm (ESP8266 ESP-12E NodeMCU) là: ESP8266 ESP-12E NodeMCU là 170mA + led báo là 10mA + opto PC817 là 50mA + DHT11 là 2.5mA + PIR AM312 là 0.1mA và thêm một số linh kiện điện tử khác (điện trở, tụ điện). Vậy dòng tổng của khối xử lý trung tâm này khoảng 300mA. Dựa vào các thông số dòng tiêu thụ của hai mạch xử lý trung tâm trên thì ta cần phải có nguồn với điện áp ngõ ra +5VDC và dòng phải lớn hơn 300mA. Xét các yếu tố kết hợp với yêu cầu mạch nguồn phải nhỏ gọn mà dòng thì lớn hơn 300mA thì nhóm chúng em thấy trên thị trƣờng có bán một mạch nguồn đáp ứng đƣợc các yêu cầu trên giá thành lại hợp lý nên nhóm chúng em chọn mua mạch nguồn loại này. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 22 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Hình 3.8 Module nguồn điều khiển  Thông số kỹ thuật - Mạch rất thích hợp cho các hệ thống tiêu thụ điện năng thấp ,nhỏ gọn, an toàn. - Điện áp ngõ vào : 90VAC – 230VAC - Dòng ngõ vào : 14mA ( 220VAC) - Điện áp ngõ ra : 5VDC - Dòng ngõ ra : 0 – 700mA, maximum lên đến 750mA. - Hiệu suất : 80%. - Độ gợn sóng ( răng cƣa) : 6% e. Khối cảm biến  Cảm biến DHT11 Dùng cảm biến DHT11 để đo nhiệt độ, độ ẩm môi trƣờng xung quanh , 2 chân nguồn kết nối với 5V và GND của mạch, chân DATA kết nối với chân GPIO 2 của ESP8266 ESP-12E NodeMCU. Hình 3.9 Sơ đồ kết nối DHT11 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 23 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ  Thiết kế mạch kết nối cảm biến PIR AM312 Mạch thiết kế để điều khiển nguồn vào cho cảm biến PIR, bật tắt nguồn khi ngƣời dùng yêu cầu. Điện áp ra 1 chân GPIO của ESP8266 ESP-12E NodeMCU là 3.3V nên ta phải dùng thêm opto PC817 để cấp nguồn 5V cho PIR . Chân DATA kết nối với GPIO 4 của ESP8266 ESP-12E NodeMCU. Trên mạch có led báo nguồn khi bật với điện trở hạn dòng R = = 200, chọn R=220Ω. (3.8) Chúng em chọn opto PC817 vì để đảm bảo cách ly về điện giữa khối công suất và khối xử lý trung tâm và opto vẫn hoạt động tốt với áp và dòng điện trong mạch. Ta có: dòng lớn nhất mà ESP xuất ra là Imax = 12mA,điện áp mức cao do ESP xuất ra là 0.8xVdd = 0.8x3.3= 2.64V, điện áp cho phép đặt vào diode quang của opto VF từ 1.2-1.4V. Do đó ta chọn điện trở: R = = = 103,33 Ω , chọn R=100Ω (3.9) Hình 3.10 Sơ đồ kết nối cảm biến PIR BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 24 CHƢƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ f. Thiết kế mạch báo động Điện áp hoạt động của Buzzer là 5V, trong khi điện áp ra của ESP8266 ESP-12E NodeMCU chỉ đƣợc 3.3V, do đó ta cần dùng thêm opto PC817 để cấp nguồn 5V cho Buzzer. Chân xuất tín hiệu ra là GPIO14. Chúng em chọn opto PC817 vì để đảm bảo cách ly về điện giữa khối công suất và khối xử lý trung tâm và opto vẫn hoạt động tốt với áp và dòng điện trong mạch. Ta có: dòng lớn nhất mà ESP xuất ra là Imax = 12mA,điện áp mức cao do ESP xuất ra là 0.8xVdd = 0.8x3.3= 2.64V, điện áp cho phép đặt vào diode quang của opto VF từ 1.2-1.4V. Do đó ta chọn điện trở: R = = = 103,33 Ω , chọn R=100Ω (3.10) Hinh 3.11 Sơ đồ kết nối mạch báo động 3.2.5 Sơ đồ nguyên lí toàn mạch Đối với mạch điều khiển độ sáng đèn bulb sơ đồ nguyên lý toàn mạch bao gồm hai khối chính: Khối xử lý trung tâm (ESP ESP8266 ESP-12E NodeMCU), khối công suất. Nhƣ sơ đồ bên dƣới IC AMS1117 tạo ng...TT_Subscribe * subscription; while ((subscription = mqtt.readSubscription(1000))) { if (subscription == &goout) { Serial.print("bat pir: "); Serial.println((char*) goout.lastread); if (!strcmp((char*) goout.lastread, "0")) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 57 CHƢƠNG 4. THI CÔNG HỆ THỐNG digitalWrite(powerPin, LOW); else { digitalWrite(powerPin, HIGH); Firebase.setInt("/den1", 1); Firebase.setInt("/den2", 1); Firebase.setInt("/denngu", 1); } } if (subscription == &denngu) { Serial.print("den ngu: "); Serial.println((char*) denngu.lastread); if (!strcmp((char*) denngu.lastread, "0")) { digitalWrite(D0, LOW); Firebase.setInt("/denngu", 1); } else { digitalWrite(D0, HIGH); Firebase.setInt("/denngu", 0); } } } Tạo 1 con trỏ *subscription cho Adafruit với câu lệnh: Adafruit_MQTT_Subscribe * subscription; Trong vòng lặp while ((subscription = mqtt.readSubscription(1000))) thì subscription đọc dữ liệu từ Adafruit và lƣu kết quả vào sau đó đôi chiếu với các địa chỉ goout,denngu. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 58 CHƢƠNG 4. THI CÔNG HỆ THỐNG  Nếu bằng goout, dữ liệu đọc đƣợc là „0‟ thì tắt cảm biến PIR bằng câu lệnh digitalWrite(powerPin, LOW); còn dữ liệu đọc đƣợc là „1‟ thì bật cảm biến PIR và gửi biến các giá trị 1 lên Firebase theo các đƣờng dẫn tƣơng ứng bằng các câu lệnh : Firebase.setInt("/den1", 1); Firebase.setInt("/den2", 1); Firebase.setInt("/denngu", 1);  Nếu bằng denngu, dữ liệu đọc về là „0‟ thì tắt đèn ngủ bằng câu lệnh digitalWrite(D0, LOW); và gửi giá trị 1 lên Firebase theo lệnh Firebase.setInt("/denngu", 1); , ngƣợc lại bật đèn ngủ và gửi giá trị 0 lên Firebase theo lệnh digitalWrite(D0, HIGH); Firebase.setInt("/denngu", 0); Tiếp theo là chƣơng trình đọc cảm biến DHT11 và cảm biến PIR.  Trong chƣơng trình đọc cảm biến DHT11 float h = dht.readHumidity(); //Đọc độ ẩm float t = dht.readTemperature(); //Đọc nhiệt độ if (isnan(h) || isnan(t)) { Serial.println(F("loi doc cam bien!")); return; } Serial.println("nhiet do:"); Serial.println(t); Serial.println("do am:"); Serial.println(h); Firebase.setFloat ("/Temp", t); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 59 CHƢƠNG 4. THI CÔNG HỆ THỐNG Firebase.setFloat ("/Humidity", h); if (t>=40) { digitalWrite(pinSpeaker, HIGH); Firebase.setInt ("/bao chay", 1); } else { digitalWrite(pinSpeaker, LOW); Firebase.setInt ("/bao chay", 0); } Đầu tiên đọc nhiệt độ, độ ẩm, nếu đọc không đƣợc thì in ra màn hình “loi doc cam bien”, nêú đọc đƣợc thì in ra màn hình nhiệt độ, độ ẩm và gửi 2 giá trị đó lên Firebase bằng câu lệnh Firebase.setFloat ("/Temp", t); Firebase.setFloat ("/Humidity", h); sau đó đem giá trị nhiệt độ so sánh với giá trị đặt trƣớc nếu lớn hơn hoặc bằng thì bật buzzer và gửi lên Firebase giá trị 1 theo lệnh Firebase.setInt ("/bao chay", 1); ngƣợc lại tắt buzzer và gửi giá trị 0.  Trong chƣơng trình đọc cảm biến PIR. val = digitalRead(inputPin); // đọc giá trị đầu vào. if (val == HIGH) // nếu giá trị ở mức cao.(1) { digitalWrite(pinSpeaker, HIGH); if (pirState == LOW) { Serial.println("phat hien chuyen dong!"); Firebase.setInt ("/bao trom", 1); pirState = HIGH; } } else { digitalWrite(pinSpeaker, LOW); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 60 CHƢƠNG 4. THI CÔNG HỆ THỐNG if (pirState == HIGH) { Serial.println("ket thuc chuyen dong"); Firebase.setInt ("/bao trom", 0); pirState = LOW; } } Nếu val = HIGH thì bật Buzzer và pirState = LOW thì gửi lên Firebase giá trị 1theo lệnh Firebase.setInt ("/bao trom", 1); và gán pirState =HIGH. Ngƣợc lại val = LOW thì tắt Buzzer và pirState = HIGH thì gửi lên Firebase giá trị 0 theo lệnh Firebase.setInt ("/bao trom", 0); và gán pirState =LOW. 4.6 LẬP TRÌNH ỨNG DỤNG ANDROID. a. Cách kết nối giữa project và firebase Để project của Android Studio truyền nhận đƣợc dữ liệu với firebase ta thực hiện các bƣớc nhƣ sau: Đầu tiên ta tiến hành tạo một project mới ta đƣợc giao diện nhƣ sau: Hình 4.18 Giao diện ứng dụng android studio Tiếp theo ta vào giao diện android vào file → Settings → Geneal → Auto Import chọn vào hai ô Add unambiguous import on the fly và Optimize import on the fly → Apply → OK. Sau đó truy cập firebase.google.com để tạo một vùng cơ sở dữ liệu mới ( cách tạo đã đƣợc trình bày ở mục 4.5/b) ta đƣợc giao diện nhƣ sau: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 61 CHƢƠNG 4. THI CÔNG HỆ THỐNG Hình 4.19 Giao diện cơ sở dữ liệu sau khi tạo Tiếp đến ta chọn vào testdatn ta đƣợc giao diện nhƣ hình: Hình 4.20 Chọn hệ điều hành lập trình Ta chọn vào biểu tƣợng mũi tên nhƣ trên hình và đƣợc giao diện mới [Hình 4.21], tại giao diện ta sẽ điền vào tên của Android Package sau đó chọn vào “ Lƣu ứng dụng” . Tiếp đến ta sẽ tiến hành tải file “ google- services.json” [ Hình 4.23] chọn tiếp theo. Ta copy file vừa tải, vào ứng dụng android [Hình 4.24] nhấn chuột phải vào app chọn Show in Explorer, xuất hiện giao diện [Hình 4.25] ta sẽ lƣu file google-services.json vào đó. Sau đó ta sẽ thêm SDK Firebase nhƣ hình [4.26] chọn tiếp theo. Bƣớc cuối cùng trên giao diện ta chọn tool → Firebase → Realtime Database → Connect your app to firebase → Add the realtime database to your app nếu hiển thị nhƣ hình 4.27 là ta đã kết nối thành công. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 62 CHƢƠNG 4. THI CÔNG HỆ THỐNG Hình 4.21 Giao diện điền tên Android Package Hình 4.22 Giao diện tải file google- services.json BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 63 CHƢƠNG 4. THI CÔNG HỆ THỐNG Hình 4.23 Chọn vị trí lưu google- services.json Hình 4.24 Vị trí lưu google- services.json BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 64 CHƢƠNG 4. THI CÔNG HỆ THỐNG Hình 4.25 Thêm SDK Firebase Hình 4.26 Giao diện sau khi kết nối thành công app android và firebase b. Viết chƣơng trình hệ thống. Phần mềm sẽ liên tục cập nhật các giá trị nhận đƣợc từ firebase và cho ra kết quả hiển thị lên giao diện phần mềm một cách trực quan giúp ngƣời sử dụng quản lý các thiết bị trong nhà cũng nhƣ tình trạng của ngôi nhà một cách dễ dàng nhất. Ngoài ra BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 65 CHƢƠNG 4. THI CÔNG HỆ THỐNG phần mềm cũng có thể điều khiển đƣợc việc bật/tắt thiết bị cũng nhƣ điều khiển đƣợc độ sáng của các đèn một cách dễ dàng. Do chƣơng trình thiết kế bao gồm nhiều tính năng nên chƣơng trình viết lập trình sẽ dài nên nhóm chúng em xin phép sẽ trình bày một số phần chính trong chƣơng trình .  Giao diện điều khiển và hiển thị. Giao diện hiển thị bao gồm việc hiển thị trạng thái bật/tắt của hai đèn, trạng thái của hai switch, hai thanh seekBar (Hình 4.28) ngoài ra còn hiển thị nhiệt độ, độ ẩm, cảnh báo cháy, cảnh báo trộm (Hình 4.29). Giao diện điều khiển gồm việc điều khiển bật tắt đèn bằng các switch, điều khiển độ sáng đèn bằng hai thanh seekBar (Hình 4.28). Ngoài ra còn tính năng điều khiển bật tắt đèn thông qua việc hẹn giờ (Hình 4.30). Hình 4.27 Giao diện hiển thị và điều khiển đèn. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 66 CHƢƠNG 4. THI CÔNG HỆ THỐNG Hình 4.28 Giao diện hiển thị nhiệt Hình 4.29 Giao diện hẹn giờ tắt/bật đèn độ, đ ộ ẩm, cảnh báo cháy, trộm. Hình 4.30 Cơ sở dữ liệu Realtime Database Khi mở ứng dụng phần mềm, điện thoại cho phép truy cập wifi hoặc 3g phần mềm sẽ đọc dữ liệu từ cơ sở dữ liệu thời gian thực FIREBASE và sẽ cập nhật toàn bộ trạng thái của các đèn, kèm theo đó là độ sáng hiện tại, nhiệt độ, độ ẩm, cảnh báo cháy, trộm. Khi ngƣời dùng thao tác điều khiển thì dữ liệu sẽ đƣợc ghi lên cơ sở dữ liệu thời gian thực FIREBASE, từ đây thiết bị đèn sẽ đọc dữ liệu này về và xử lý. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 67 CHƢƠNG 4. THI CÔNG HỆ THỐNG Ví dụ ta muốn đọc nhiệt độ trên cơ sở dữ liệu firebase[ Hình 4.31] đầu tiên ta phải chỉ dẫn tới đúng vùng dữ liệu cần thao tác. FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("Nhiệt độ"); Sau khi đã chỉ dẫn tới đúng vùng dữ liệu cần thao tác ta tiến hành cập nhật giá trị nhiệt độ bằng cách sử dụng lệnh sau. myRef.addValueEventListener(new ValueEventListener() { public void onDataChange(@NonNull DataSnapshot dataSnapshot) { nhietdo = dataSnapshot.getValue(float.class); } public void onCancelled(@NonNull DatabaseError databaseError) { } }); Muốn hiển thị nhiệt độ lên app android bằng cách: textViewnd.setText(nhietdo + "°C"); Đối với các giá trị còn lại trên cơ sở dữ liệu firebase ta muốn lấy dữ liệu về và hiển thị thì ta làm tƣơng tự nhƣ nhiệt độ. Ví dụ để điều khiển độ sáng của đèn 1 “ ánh sáng 1” [Hình 4.28] thông qua ứng dụng thì ta cần điều khiển các giá trị của “ ánh sáng 1” thông qua việc thay đổi cơ sở dữ liệu của nó bằng cách: DatabaseReference mData = FirebaseDatabase.getInstance().getReference(); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if(progress < 10){ mData.child("ánh sáng 1").setValue(0); dosang = 0; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 68 CHƢƠNG 4. THI CÔNG HỆ THỐNG } else if ( 10 <= progress && progress < 20){ mData.child("ánh sáng 1").setValue(1); dosang = 10; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 20 <= progress && progress < 30){ mData.child("ánh sáng 1").setValue(2); dosang = 20; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 30 <= progress && progress < 40){ mData.child("ánh sáng 1").setValue(3); dosang = 30; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 40 <= progress && progress < 50){ mData.child("ánh sáng 1").setValue(4); dosang = 40; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 50 <= progress && progress < 60){ mData.child("ánh sáng 1").setValue(5); dosang = 50; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 60 <= progress && progress < 70){ mData.child("ánh sáng 1").setValue(6); dosang = 60; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 70 <= progress && progress < 80){ mData.child("ánh sáng 1").setValue(7); dosang = 70; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 80 <= progress && progress < 90){ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 69 CHƢƠNG 4. THI CÔNG HỆ THỐNG mData.child("ánh sáng 1").setValue(8); dosang = 80; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if ( 90 <= progress && progress < 100){ mData.child("ánh sáng 1").setValue(9); dosang = 90; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } else if(progress == 100) { mData.child("ánh sáng 1").setValue(10); dosang = 100; textView_dosang1.setText("ĐỘ SÁNG ĐÈN 1 LÀ :" + dosang + "%"); } } public void onStartTrackingTouch(SeekBar seekBar) { } public void onStopTrackingTouch(SeekBar seekBar) { } }); Đối với việc điều khiển độ sáng của thiết bị đèn muốn hiển thị độ sáng hiện tại là bao nhiêu ra giao diện phần mềm thì ta sử dụng lệnh: seekBar.setProgress(seekBar.getProgress()*0 + ds_den1*10); Muốn hiển thị trạng thái sáng/ tắt của thiết bị đèn bằng cách: den1.setImageResource(R.drawable.den1_sang); // đèn sáng den1.setImageResource(R.drawable.den1_tat); đèn tắt Để hẹn giờ bật tắt thiết bị điện ta làm nhƣ sau: Timer timer; MyTimeTask myTimeTask; if(timer != null) timer.cancel(); timer = new Timer(); myTimeTask = new MyTimeTask(); if(optSingleshot.isChecked()){ timer.schedule(myTimeTask, 1000); } else { timer.schedule(myTimeTask, 1000, 100); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 70 CHƢƠNG 4. THI CÔNG HỆ THỐNG } class MyTimeTask extends TimerTask { public void run() { Calendar calendar = Calendar.getInstance(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm"); SimpleDateFormat simpleDateFormat5 = new SimpleDateFormat("HH:mm:ss"); final String strData1 = simpleDateFormat5.format(calendar.getTime()); final String strData = simpleDateFormat.format(calendar.getTime()); final String laychuoi = strData; final String s1 = edt_hengio.getText().toString(); final String s2 = edt_tatden.getText().toString(); final String s3 = editText_moden2.getText().toString(); final String s4 = editText_tatden2.getText().toString(); runOnUiThread(new Runnable() { public void run() { hhmmss.setText("THỜI GIAN: " + strData1); if(s1.equals(laychuoi)){ mData.child("den1").setValue(1); } if (s2.equals(laychuoi)){ mData.child("den1").setValue(0); } if(s3.equals(laychuoi)){ mData.child("den2").setValue(1); } if(s4.equals(laychuoi)){ mData.child("den2").setValue(0); } } }); } } 4.7 VIẾT TÀI LIỆU HƢỚNG DẪN SỬ DỤNG Bƣớc 1: Cấp nguồn cho thiết bị đèn, thiết bị đèn sử dụng nguồn 220V AC, thiết bị đèn sẽ có một đèn màu đỏ sáng báo hiệu đã có nguồn, sau đó thiết bị đèn wifi sẽ phát ra một mạng wifi tƣơng ứng với tên thiết bị đèn. Bƣớc 2: Cấp nguồn cho thiết bị giám sát nhiệt độ, đô ẩm và chuyển động, khi có nguồn đèn led sẽ nhấp nháy 1 lần để báo có nguồn, và mạch sẽ phát Wifi tƣơng ứng với tên thiết bị. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 71 CHƢƠNG 4. THI CÔNG HỆ THỐNG Bƣớc 3: Dùng điện thoại kết nối với kết nối với wifi do thiết bị phát ra. Sau đó vào trang 192.168.4.1 tiến hành cài đặt wifi cho thiết bị. Bƣớc 4: Kích hoạt Google Assistant trên thiết bị Android. - Truy cập CH Play trên thiết bị android và cập nhật google phiên bản mới nhất. - Truy cập vào ứng dụng Google, chọn vào mục "thêm" ở góc phải màn hình > chọn Cài đặt > Trợ lý Google. - Tại danh mục này, ngƣời dùng chọn tab "Trợ lý" > Ngôn ngữ > và lựa chọn tiếng Việt trong danh sách các ngôn ngữ đƣợc hỗ trợ. Google sẽ yêu cầu ngƣời dùng đọc 4 lần cụm từ "Ok Google" để nhận dạng giọng nói. Sau khi đã thực hiện các bƣớc trên, cô trợ lý ảo Google đã chính thức đƣợc kích hoạt sử dụng. Sau này ngƣời dùng chỉ cần ấn giữ nút home để mở tính năng hoặc một số mẫu máy khác dùng nút nguồn để mở tính năng, trình hỏi đáp bằng giọng nói sẽ đƣợc kích hoạt sử dụng ngay lập tức. Bƣớc 5: Mở ứng dụng để quan sát và điều khiển: - Sau khi đã kích hoạt Google Assistant để điều khiển thiết bị bằng giọng nói ta sử dụng các lệnh nhƣ sau: • Đèn 1: Bật đèn 1, tắt đèn 1, tăng độ sáng đèn 1, giảm độ sáng đèn 1, đèn 1 sáng tối đa.  Đèn 2: Bật đèn 2, tắt đèn 2, tăng độ sáng đèn 2, giảm độ sáng đèn 2, đèn 2 sáng tối đa.  Đèn ngủ: Bật đèn ngủ, tắt đèn ngủ.  Bật/ tắt cảm biến chuyển động: coi nhà giúp tôi, tôi đã quay lại nhà. - Đối với việc điều khiển thông qua ứng dụng thì ta làm nhƣ sau: Ban đầu khi mở ứng dụng ta sẽ có giao diện nhƣ sau: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 72 CHƢƠNG 4. THI CÔNG HỆ THỐNG Hình 4.31 Giao diện điều khiển đèn thông qua ứng dụng Để điều khiển bật tắt đèn ta sử dụng tay thao tác lên ứng dụng bằng việc thay đổi trạng thái của hai switch. Đối với việc điều khiển độ sáng đèn ta chỉ việc giữ và di chuyển dấm chấm đỏ trên hai thanh seekBar. Hình 4.32 Giao diện chuyển đổi sang hẹn giờ và xem nhiệt độ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 73 CHƢƠNG 4. THI CÔNG HỆ THỐNG Để hẹn giờ bật/ tắt đèn 1, đèn 2 ta chọn vào dấu 3 chấm trên giao diện chính và chọn hẹn giờ, xuất hiện giao diện mới nhƣ sau: Hình 4.33 Giao diện hẹn giờ bật tắt đèn Để hẹn giờ ta làm nhƣ sau: Trên giao diện sẽ có 4 khung để nhập giá trị giờ cài đặt, 2 khung đầu sẽ là bật tắt đèn 1, hai khung sau sẽ bật tắt đèn 2. Sau khi nhập giá trị cài đặt ta tiến hành chọn vào “HẸN GIỜ ĐÈN 1” và “ HẸN GIỜ ĐÈN 2”. Cuối cùng để quan sát đƣợc nhiệt độ , độ ẩm, báo cháy, báo trộm trên giao diện bất kỳ ta chọn vào dấu 3 chấm, chọn nhiệt độ [Hình 4.35]. Hình 4.34 Giao diện hiển thị nhiệt độ, độ ẩm, báo cháy và báo trộm. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 74 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Ả ĐẠT ĐƢỢC Sau khoảng 20 tuần nghiên cứu và thực thi đề tài nhóm chúng em đã đƣợc học hỏi rất nhiều kiến thức liên quan đến đề tài. 5.1.1 Phần cứng - Đã biết đƣợc phần cứng mạch điện bên trong đèn bulb bán trên thị trƣờng. - Biết cách kết nối mạch điện để điều khiển độ sáng đèn bulb. - Biết cách kết nối ESP giao tiếp các cảm biến DHT11 và PIR. - Biết vẽ mạch nguyên lý và PCB trên phần mềm Altium. - Biết thêm kỹ năng bố trí linh kiện trên PCB. - Nâng cao kỹ năng hàn linh kiện dán. - Biết cách sử dụng ESP8266 ESP-12E ( cách nạp chƣơng trình và ứng dụng). 5.1.2 Phần mềm - Đã biết tạo các dự án trên Adafruit. - Biết cách tạo liên kết giữa Google assistant với Adafruit và các câu thoại trên IFTTT. - Đã biết cách tạo và sử dụng cơ sở dữ liệu thời gian thực trên Firebase. - Nâng cao kỹ năng lập trình trên phần mềm lập trình ứng dụng cho các thiết bị chạy hệ điều hành Android. - Đã biết lập trình ứng dụng sử dụng cơ sở dữ liệu thời gian thực FIREBASE chạy trên điện thoại thông minh sử dụng hệ điều hành Android. - Biết cách sử dụng Google assistant để điều khiển thiết bị cho đề tài. - Nâng cao kỹ năng lập trình trên phần mềm Arduino IDE. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 75 CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.1.3 Một số hình ảnh kết quả đạt đƣợc của đề tài a. Về phần cứng Mạch điều khiển các thiết bị đèn đã đƣợc thi công 2 lớp và đƣợc hàn nhiều linh kiện dán để đảm bảo kích thƣớc và thẩm mỹ của mạch. Hình 5.1 Mặt trước và sau của mạch điều khiển thiết bị đèn. Mạch giám sát nhiệt độ, độ ẩm, cảm biến PIR đƣợc thi công 2 lớp và sử dụng nhiều linh kiện dán để giảm kích thƣớc và đảm bảo tính thẩm mỹ của mạch. Hình 5.2 Mặt trước và sau của mạch giám sát nhiệt độ, độ ẩm và chuyển động. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 76 CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Các mạch điện đƣợc lắp ráp đầy đủ vào thiết bị đèn Hình 5.3 Các mạch điện được láp ráp đầy đủ vào đèn. Mạch giám sát nhiệt độ, độ ẩm, cảm biến PIR đƣợc lắp vào khung. Hình 5.4 Mạch giám sát nhiệt độ, độ ẩm chuyển động được gắn vào khung. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 77 CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Các thiết bị đèn, và mạch giám sát nhiệt độ, độ ẩm, cám biến PIR đƣợc lắp ráp hoàn chỉnh. Hình 5.5 Đèn được láp ráp hoàn chỉnh Hình 5.6 Hộp đo nhiệt độ, độ ẩm và chuyển động hoàn chỉnh. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 78 CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ b. Về phần mềm Đối với trợ lý ảo Google Assistant ta sẽ dùng lệnh “ Ok Google” để kích hoạt ứng dụng và ra các câu lệnh đã đƣợc cài đặt sẵn. Lƣu ý mỗi lần thực hiện ra lệnh chúng ta phải sử dụng từ khóa “ Ok Google”. Hình 5.7 Giao diện Google Assistant sau khi ra lệnh điều khiển. Phần mềm android sẽ chia thành 3 giao diện gồm giao diện hiển thị, điều khiển đèn, giao diện hiển thị nhiệt độ, độ ẩm, cảnh báo cháy, trộm và giao diện hẹn giờ điều khiển tắt, mở đèn. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 79 CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.8 Giao diện hiển thị và điều Hình 5.9 Giao diện hiển thị nhiệt độ, khiển đèn. độ ẩm, cảnh báo cháy, trộm. Hình 5.10 Giao diện hẹn giờ điều khiển bật tắt đèn BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 80 CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.2 NHẬN XÉT_ĐÁNH GIÁ 5.2.1 Phần cứng  Mạch điều khiển độ sáng đèn: Thiết bị đèn hoạt động ổn định nhƣ yêu cầu thiết kế. - Thử nghiệm 2 thiết bị đèn hoạt động 5 tiếng thì 2 thiết bị đèn này vẫn hoạt động ổn định. Nhóm chúng em chƣa thử nghiệm trên thời gian lâu hơn nên chƣa có kết luận chính xác về độ bền lâu của thiết bị đèn. - Các mạch điện đƣợc gắn vào bên trong thiết bị đèn nên rất an toàn cho ngƣời sử dụng khi chạm vào vỏ đèn trong quá trình sử dụng. - Tính thẩm mỹ đƣợc đảm bảo do nhóm chúng em không có thay đổi nhiều trên bề mặt ngoài của thiết bị đèn. - Đối với thiết bị đèn sử dụng sóng wifi thì không giới hạn điện thoại thông minh chạy ứng dụng điều khiển điều khiển thiết bị đèn. - Đèn có kích thƣớc hơi lớn. - Mạch bắt Wifi với khoảng cách không đƣợc xa. Bảng 5.1 Kết quả thực tế về điện áp và dòng tiêu thụ ở các mức PWM Phần trăm PWM (%) Điện áp (V) Dòng điện tiêu thụ (mA) 10 64.8 49.7 20 69.7 74.6 30 73.4 94.8 40 77.7 114.5 50 81.4 134.2 60 84.4 154.1 70 87.1 173.2 80 89.3 192.4 90 92.6 220.1 100 95.2 243.8 Từ bảng kết quả thực tế, ta tính đƣợc công suất đèn ở chế độ 100% PWM BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 81 CHƢƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ P = UI = 95.2 x 0.2438 = 23.2 W. (5.1) Nhƣ vậy chỉ đạt hiệu suất khoảng 80% so với ban đầu. Bảng 5.2 Kết quả thực nghiệp khoảng cách bắt Wifi của thiết bị đèn Khoảng cách Tình trạng 1m Bắt đƣợc tín hiệu 2m Bắt đƣợc tín hiệu 3m Tín hiệu yếu 3.5m Mất kết nối  Thiết bị giám sát nhiệt độ, độ ẩm và chuyển động - Thiết bị giám sát nhiệt độ độ ẩm và chuyển động hoạt động khá ổn định và chính xác. - Dữ liệu thu thập đƣợc chuyển lên Firebase nhanh chóng để hiển thị lên app điện thoại. - Board mạch đặt trong hộp nhỏ gọn, đảm bảo tính thẩm mỹ. - Tầm bắt Wifi của mạch không đƣợc xa. Bảng 5.3 Kết quả thực nghiệp khoảng cách bắt Wifi của thiết bị giám sát nhiệt độ, độ ẩm và chuyển động. Khoảng cách Tình trạng 1m Bắt đƣợc tín hiệu 2m Bắt đƣợc tín hiệu 2.5m Mất kết nối 5.2.2 Phần mềm - Phần mềm có thể hoạt động đƣợc trên các điện thoại thông minh phiên bản hệ điều hành Android 5.1 trở lên. - Phần mềm có thể hiển thị đầy đủ các tính năng điều khiển hoặc các thông tin nếu phần mềm hoạt động trên điện thoại có kích thƣớc màn hình 5.1 inch với độ phân giải 720 x 1280 pixel hoặc các điện thoại có kích thƣớc màn hình và độ phân giải lớn hơn. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 82 CHƢƠNG 4. THI CÔNG HỆ THỐNG - Ứng dụng chiếm 10.6 MB bộ nhớ sau khi cài đặt. Khi hoạt động thì ứng dụng chiếm 51 MB tới 57 MB RAM của điện thoại. - Khảo sát mức tiêu thụ pin của ứng dụng trên điện thoại SAMSUNG GALAXY S6 với cấu hình RAM 3G, pin 2550mAh. Nhóm sử dụng phần mềm AccuBattery để kiểm tra mức độ tiêu thụ pin của ứng dụng và cho ra kết quả nhƣ sau: Bảng 5.2 Kết quả khảo sát mức độ tiêu thụ pin của ứng dụng khi chạy trên điện thoại. Thời gian khảo sát ( phút) Dung lƣợng pin sử dụng (mAh) 5 17.3 10 25.6 15 36.1 20 48.3 25 62.4 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 83 CHƢƠNG 6. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CHƢƠNG 6. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau khi thực hiện xong đề tài, nhóm chúng em đã đạt đƣợc kết quả phù hợp với mục tiêu mà nhóm đề ra ( đề tài đã đƣợc đƣợc 90 % so với mục tiêu đề ra). Nhóm đã điều khiển đƣợc các thiết bị điện thông qua trợ lý ảo Google Assistant, đặc biệt nhóm đã nghiên cứu cải tiến phần cứng mạch điện của các đèn chiếu sáng để phù hợp với mục đích điều khiển đề ra ( thiết kế thi công mạch điều khiển và mạch công suất phù hợp để bố trí vào khoảng không gian bên trong thiết bị đèn) và điều khiển đƣợc việc tăng giảm độ sáng của các đèn này bằng Google Assistant. Bên cạnh việc điều khiển đèn nhóm cũng đã thiết kế thêm mạch giám sát giá trị nhiệt độ, độ ẩm, cảnh báo khi có sự cố cháy, trộm phù hợp với nhu cầu sử dụng của con ngƣời. Thiết kế lập trình phần mềm điều khiển và hiển thị trên điện thoại thông minh sử dụng hệ điều hành android điều điều khiển các thiết bị điện, giám sát nhiệt độ, độ ẩm, báo cháy, báo trộm. Phần mềm có điều điều khiển tắt mở, độ sáng của từng thiết bị đèn, có thể cài đặt hẹn giờ bật tắt thiết bị cũng nhƣ phát ra chuông cảnh báo khi có sự cố xảy ra. Thiết bị đèn sử dụng điện áp 220 VAC, chạy ổn định,dễ lắp đặt, tuổi thọ cao không có bức xạ hồng ngoại. Phần mềm điều khiển hiển thị dễ cài đặt, dễ sử dụng. Mức độ tiêu thụ pin của điện thoại thấp. Bên cạnh những ƣu điểm thì cũng có những khuyết điểm nhƣ: kích thƣớc của thiết bị đèn tƣớng đối lớn, thời gian thực thi các thiết bị còn phụ thuộc vào tốc độ mạng. Phần mềm chỉ hoạt động với điện thoại android phiên bản 5.1 trờ lên. Thiết bị không có nút điều khiển bên ngoài nên khi không có điện thoại thì ngƣời sử dụng chỉ có thể tắt bằng cách ngắt nguồn điện cung cấp. 6.2 HƢỚNG PHÁT TRIỂN - Tạo ra phần mềm có thể chạy trên hệ điều hành IOS. - Có thể điều khiển bằng trợ lí ảo Siri . - Có thể kết hợp với Google home để tiện lợi cho ngƣời dùng trong việc điều khiển BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 84 CHƢƠNG 6. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN - Thiết kế thiết bị đèn nhỏ gọn hơn - Thiết kế mạch bắt Wifi tốt hơn. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 85 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Tiếng việt [1] Huỳnh Đoàn Bảo Duy, chủ đề “tìm hiểu về hệ điều hành android” trong mục “kinh nghiệm hay” từ trang web , “dienmayxanh.com” năm 2015. [2] Trang web , “vtcacademy.edu.vn” trong mục “tin tức”với chủ đề “nhận diện 5 lợi ích của của Firebase”. [3] Trang web , “smartshop.vn” trong mục “tin tức công nghệ” với chủ đề “ tìm hiểu công nghệ thu phát sóng wifi” ngày 28 tháng 7 năm 2015. Sách tham khảo [4] Trần Thị Hà,Trƣơng Thị Bích Ngà, Nguyễn Thị Lƣỡng,Giáo trình: Điện tử cơ bản, Xuất bản: Đại học Quốc gia Tp. HCM, 2013. [5] Nguyễn Văn Hiệp – Đinh Quang Hiệp, “Lập trình android cơ bản ”, Nhà xuất bản ĐH Quốc Gia, Tp.HCM, 2015. Tiếng anh [6] Datasheet ESP8266 12EX [7] Datasheet OptoPC817 [8] Datasheet IRF830 [9] Datasheet DHT11 [10] Datasheet PIR AM312 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 86 PHỤ LỤC PHỤ LỤC  GIỚI THIỆU TỔNG QUAN VỀ PHẦN CỨNG  Thiết bị đầu vào a. Cảm biến DHT11 [9] DHT11 Là cảm biến nhiệt độ, độ ẩm rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1-wire ( giao tiếp digital 1-wire truyền dữ liệu duy nhất). Cảm biến đƣợc tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về đƣợc chính xác mà không cần phải qua bất kỳ tính toán nào.  Đặc điểm: o Điện áp hoạt động : 3V - 5V (DC) o Dải độ ẩm hoạt động : 20% - 90% RH, sai số ±5%RH o Dải nhiệt độ hoạt động : 0°C ~ 50°C, sai số ±2°C o Tần số lấy mẫu tối đa: 1 Hz o Khoảng cách truyền tối đa: 20m  Sơ đồ chân Cảm biến DHT11 gồm 2 chân cấp nguồn, và 1 chân tín hiệu. Hiện nay, thông dụng ngoài thị trƣờng có hai loại đóng gói cho DHT11: 3 chân và 4 chân. Xem các hình dƣới. Hình 7.1 Sơ đồ chân của DHT11 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 87 PHỤ LỤC b. Module cảm biến chuyển động PIR AM312 [10] Cảm biến thân nhiệt chuyển động PIR (Passive infrared sensor) PIR AM312 đƣợc sử dụng để phát hiện chuyển động của các vật thể phát ra bức xạ hồng ngoại (con ngƣời, con vật, các vật phát nhiệt). Hình 7.2 Module cảm biến PIR AM312 o Thông số kỹ thuật: - Điện áp làm việc: DC 2.7-12V - Tiêu thụ điện : <0,1mA - Thời gian trễ: 2 giây - Thời gian chặn: 2 giây - Kích hoạt: có thể đƣợc lặp đi lặp lại - Phạm vi cảm biến: 3 mét, góc hình nón ≤100 độ - Nhiệt độ làm việc: -20 - + 60oC  Thiết bị điều khiển trung tâm o Mạch wifi ESP8266 ESP- 12 E NodeMCU [6] ESP8266 ESP - 12E NodeMCU là module truyền nhận WiFi sử dụng chip ESP8266EX SoC (System on Chip), với lõi vi xử lý 32 bit hoạt động với tần số 80MHz và có thể đạt tới tốc độ tối đa 160MHz, 64KB RAM và 512KB Flash. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 88 PHỤ LỤC Chúng ta có thể dùng nó để đƣa những dự án kết nối đến Internet. Đơn giản nó sử dụng ngõ giao thức nối tiếp với tốc độ Baud 9600(mặc định). Kết nối mạng không dây, giống nhƣ một máy chủ hoặc một cầu nối trung gian. Hình 7.3. Chip ESP8266EX o Tính năng của Chip ESP8266EX  Hổ trợ 3 chuẩn 802.11 b /g/n.  Tích hợp MCU 32 it có công suất thấp.  Tích hợp10-bit ADC.  Tích hợp chuẩn giao thức TCP/IP.  Tích hợp TR switch, alun, LNA, khuếch đại công suất và mạng lƣới.  Hỗ trợ anten thu sóng.  WiFi 2.4 GHz, hổ trợ chuẩn ảo mật WPA/WPA2.  Hỗ trợ các chế độ STA/AP/STA+AP.  SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO.  STBC, 1x1 MIMO, 2x1 MIMO.  Chế độ tiết kiệm năng lƣợng <10uA, Dòng rò khi ở chế độ nghỉ < 5uA.  Thời gian đánh thức đến khi truyền gói tin là < 2ms.  Công suất tiêu thụ ở chế độ (DTIM3)< 1.0mW.  Ở chế độ 802.11 POUT +20dBm.  Nhiệt độ hoạt động -40C ~ 125C. o Ứng dụng chính  Những ứng dụng IoT chính bao gồm:  Thiết bị điện trong nhà. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 89 PHỤ LỤC  Nhà tự động.  Ổ cắm thông minh và đèn thông minh.  Mạng lƣới mạng internet.  Điều khiển không dây trong công nghiệp. o Chức năng từng chân chip ESP8266 ESP - 12E NodeMCU Hình 7.4. Sơ đồ chân mạch ESP8266 ESP – 12E NodeMCU Bảng 7.1. Bảng chức năng từng chân mạch ESP8266 ESP – 12E NodeMCU Chân Tên chân Thể loại Chức năng 1 EXT –RSTB I Thiết lập lại tín hiệu ( khi điện áp xuống mức thấp) 2 ADC I Đọc điện áp ngõ vào 3 EN I Cho phép chip hoạt động khi mức cao 4 GPIO15 I/O GPIO15, HSPI_CS, UART0_RTS 5 GPIO14 I/O GPIO14, HSPI_CLK 6 GPIO12 I/O GPIO12, HSPI_MISO 7 GPIO13 I/O GPIO13; HSPI_MOSI; UART0_CTS 8 VCC P Cấp nguồn 3V3 cho chip 9 CS0 I/O Kết nối tới SD_CMD (Series R: 200Ω); SPI_CS0; GPIO11 10 MISO I/O Kết nối tới SD_D0 (Series R: 200Ω); SPI_MSIO; GPIO7 11 GPIO9 I/O Kết nối tới SD_D2 (Series R: 200Ω); SPIHD; HSPIHD; GPIO9 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 90 PHỤ LỤC 12 GPIO10 I/O Kết nối tới SD_D3 (Series R: 200Ω); SPIWP; HSPIWP; GPIO10 13 GPIO8 I/O Kết nối tới SD_D1 (Series R: 200Ω); SPI_MOSI; GPIO8 14 GPIO6 I/O Kết nối tới SD_C

Các file đính kèm theo tài liệu này:

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