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

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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à.

CHƢƠNG TỔNG QUAN CHƢƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Sự bùng nổ 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 q xa lạ với nhiều ngƣời Rất nhiều ngƣời nói trở thành kẻ thay đổi toàn cục diện thị trƣờng, cách khiến cho vật đƣợc kết nối với Ngày thấy có nhiều thành từ IoT mang lại Rất nhiều công ty dốc lực để phát triển thật mạnh IoT Chính tâm quan trọng nên nhóm chúng em định chọn đề tài liên quan tới IoT, để từ đồ án mà nhóm có thêm kinh nghiệm cho cơng việc tƣơng lai Cụ thể nhóm nhận thấy đƣợc tầm quan trọng việc điều khiển thiết bị điện gia đình, với tiện lợi mà Google Assistant (trợ lý ảo Google phát triển) mang lại, nên nhóm đị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ử dụng trợ lý ảo Google Assistant làm phƣơng tiện để điều khiển thiết bị điện giọng nói Đồng thời thiết kế phần mềm chạy điện thoại thông minh sử dụng hệ điều hành Android, giúp ngƣời sử dụng thao tác điều khiển quản lý trạng thái thiết bị cách dễ dàng nơi đâu có phủ sóng 3G WIFI Kèm theo tính nhƣ: điều chỉnh độ sáng đèn, giúp ngƣời sử dụng chỉnh độ sáng phù hợp theo nhu cầu sử dụng, hẹn để bật tắt thiết bị, giám sát nhiệt độ, độ ẩm cảnh báo 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ế thi công hệ thống điều khiển giám sát thiết bị nhà có hỗ trợ Google Assistant”, đề tài tốt nghiệp 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 thực đƣợc việc thiết kế phần cứng mạch điện thiết bị có sẵn, thiết kế website phần mềm điều khiển chạy hệ điều hành Android để điều khiển giám sát trạng thái thiết bị Nhóm chúng em cải tiến phát triển đề tài thông qua việc điều khiển độ sáng đèn giọng nói, hẹn bật tắt thiết bị Ngồi hệ thống có chức cảnh báo có ngƣời đột nhập vào nhà hiển thị nhiệt độ, độ ẩm App Android Dễ dàng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƢƠNG TỔNG QUAN cài đặt thông tin wifi kết nối ( tên mạng mật khẩu) cho đèn sử dụng wifi di chuyển tới nơi khác 1.2 MỤC TIÊU Đối với phần cứng nhóm thi cơng lại khối cơng suất đè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 điều khiển điện thoại qua Wifi Bên cạnh thiết kế mạch giám sát nhiệt độ, độ ẩm, chuyển động để ngƣời sử dụng giám sát đƣợc nhiệt độ, độ ẩm chuyển động vị trí đặt thơng qua app điện thoại Về phần mềm nhóm dụng Google Assistant (trợ lý ảo Google phát triển) để làm phƣơng tiện điều khiển thiết bị đèn bật tắt led cảm biến chuyển động thiết bị giám sát nhiệt độ, độ ẩm chuyển động Bên cạnh nhóm thiết kế phần mềm chạy điện thoại thông minh sử dụng hệ điều hành android Phần mềm nhận đƣợc phản hồi hiển thị trạng thái thiết bị đèn cách trực quan, nhanh chóng lên ứng dụng, cần điện thoại thiết bị đèn nhà đƣợc kết nối wifi 3G, giúp ngƣời sử dụng dễ dàng giám sát đƣợc tình trạng thiết bị khơng có nhà, đồng thời phần mềm điều khiển đƣợc việc bật/tắt, hẹn nhƣ độ sáng đè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 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 bóng đèn led trụ tròn (Led bulb) chiếu sáng thị trƣờng, cảm biến đo nhiệt độ, độ ẩm cảm biến phát chuyển động - NỘI DUNG 2: Các giải pháp thiết kế phần mềm phần cứng - NỘI DUNG 3: Thiết kế khối công suất, khối điều khiển đèn mạch giám sát nhiệt độ, độ ẩm phát hiển chuyển động - NỘI DUNG 4: Thiết kế phần mềm điều khiển hiển thị - NỘI DUNG 5: Thi cơng mơ hình - NỘI DUNG 6: Đánh giá kết thực BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƢƠNG 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 thiết bị độc lập cài đặt kết nối - Sử dụng cảm biến DHT11 để đo nhiệt độ, độ ẩm cảm biến PIR để phát chuyển động - Phần mềm điều khiển hỗ trợ điều khiển mô bóng đèn - Khoảng cách điều khiển đèn giám sát trạng thái thiết bị không giới hạn, cần nơi có sóng 3G wifi - Kiểm soát đƣợc hoạt động thiết bị phần mềm điều khiển, biết đƣợc đèn bật hay tắt, nhiệt độ, độ ẩm bao nhiêu, nhà có đột nhập vào khơng Tất đƣợ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ế tính tốn Chƣơng 4: Thi cơng hệ thống Chƣơng 5: Két quả, đánh giá nhận xét Chƣơng 6: Kết luận hƣớng phát triển - Chƣơng 1: Tổng quan Chƣơng đặt vấn đề, lý chọn đề tài, mục tiêu nội dung nghiên cứu, giới hạn thông số bố cục đồ án - Chƣơng 2: Cơ sở lý thuyết Chƣơng trình bày lý thuyết tảng để dựa lý thuyết thực đồ án - Chƣơng 3: Thiết kế tính tốn Chƣơng trình bày tính tốn thiết kế phần cứng mạch điện phần mềm chạy đ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 trình bày thi cơng hệ thống: thi cơng mơ hình, lập trình hệ thống, lập trình mơ 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 CHƢƠNG TỔNG QUAN - Chƣơng 5: Kết quả, nhận xét đánh giá Chƣơng trình bày kết đồ án mà nhóm làm đƣợc, nhận xét đánh giá kết làm đƣợc - Chƣơng 6: Kết luận hƣớng phát triển Chƣơng trình bày kết mà nhóm làm đƣợc so với mục tiêu đề hƣớng phát triển đề tài BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƢƠNG CƠ SỞ LÝ THUYẾT CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU Theo mong muốn đề tài điều khiển thiết bị điện thông qua trƣ lý ảo Google Assistant nhóm cần tìm hiểu nội dung sau: - Giới thiệu trợ lý ảo Google Assistant - Khái niệm sở liệu Firebase - Tổng quan vè hệ điều hành Android - Tổng quan Wifi 2.2 GIỚI THIỆU VỀ TRỢ LÝ ẢO GOOGLE ASSISTANT 2.2.1 Khái niệm Google Assistant trợ lý ảo thông minh tƣơng tự nhƣ Siri Apple, Bixby Samsung hay Cortana Microsoft Windows Google Assistant hỗ trợ nhiều tính thơng minh nhƣ tìm kiếm thơng tin hay thực u cầu mà ngƣời dùng đƣa nhƣ mở danh bạ, gọi điện cho ngƣời có tên danh bạ, đọc tin nhắn, mở nhạc… 2.2.2 Lịch sử phát triển Google Assistant trợ lý cá nhân ảo đƣợc phát triển Google đƣợc giới thiệu hội nghị nhà phát triển hãng vào tháng năm 2016 Google Assistant ban đầu đƣợc đƣa vào ứng dụng nhắn tin Google Allo, loa thông minh Google Home Sau thời gian có mặt hai điện thoại thông minh Pixel Pixel XL hãng, Google bắt đầu triển khai Assistant thiết bị Android khác vào tháng năm 2017, bao gồm điện thoại thông minh bên thứ ba thiết bị Android Wear, đƣợc phát hành dƣới dạng ứng dụng riêng biệt iOS vào tháng Cùng với mắt phát triển phần mềm vào tháng năm 2017, Assistant đƣợc tiếp tục mở rộng hỗ trợ cho lƣợng lớn thiết bị, bao gồm xe thiết bị nhà thơng minh Các chức Assistant đƣợc bổ sung nhà phát triển bên thứ ba BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƢƠNG CƠ SỞ LÝ THUYẾT 2.2.3 Ƣu điểm nhƣợc điểm a Ưu điểm - Khả nhận dạng Tiếng Việt Google Assistant 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 nhắn tin cho đó, hẹn giờ, đặt nhắc nhở, lên lịch hẹn… - Trợ lý Google làm tính, chuyển đổi đại lƣợng, tính tỷ giá trả lời 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 thiết bị thông minh nhà Tiếng Việt b Nhược điểm - Nhiều câu hỏi trợ lý ảo không đƣa câu trả lời trực tiếp mà gợi ý kết từ Google Seach - Mặc dù hỗ trợ Tiếng Việt, nhƣng với câu hỏi cho nhà thông minh, Assistant lại trả lời Tiếng Anh 2.3 GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU FIREBASE 2.3.1 Khái niệm Firebase dịch vụ API (giao diện lập trình ứng dụng) để lƣu trữ đồng liệu hai hay nhiều thiết bị với Firebase hoạt động dựa tảng đám mây đƣợc cung cấp Google nhằm giúp đỡ lập trình viên phát triển nhanh ứng dụng cách đơn giản hóa thao tác ứng dụng với sở liệu BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƢƠNG CƠ SỞ LÝ THUYẾT Hình 2.1 Trao đổi liệu FIREBASE với thiết bị 2.3.2 Lịch sử phát triển Firebase đƣợc thành lập Tamplin Lee Hai nhà sáng lập dựa vào dịch vụ API chat trực tuyến vào trang web đƣợc cung cấp Envolve, nhà phát triển sử dụng Envolve để đồng hóa liệu trạng thái trò chơi thời gian thực lên trang web Dựa vào yếu tố Tamplin Lee định tách riêng hệ thống chat kiến trúc thời gian thực để thành lập sở liệu firebasse riêng biệt vào tháng 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 Firebase [2] - Realtime Database – Cơ sở liệu thời gian thực Fire ase lƣu trữ liệu data ase dƣới dạng JSON thực đồng database tới tất client theo thời gian thực Chúng ta xây dựng đƣợc client đa tảng (cross-platform client) tất client sử dụng chung database đến từ Firebase tự động cập nhật liệu data ase đƣợc thêm sửa đổi - Firebase Authentication – Hệ thống xác thực Firebase Với Firebase dễ dàng tích hợp cơng nghệ xác thực Google, Facebook, Twitter, … hệ thống xác thực mà tạo từ ứng dụng tảng nhƣ Android, iOS Web - Firebase Hosting Chúng ta triển khai ứng dụng web với vài giây với hệ thống BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƢƠNG CƠ SỞ LÝ THUYẾT Firebase, liệu đƣợ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 Firebase a Ưu điểm - Triển khai ứng dụng cực nhanh - Tính bảo mật cao - Linh hoạt mở rộng ứng dụng dễ dàng - Tình ổn định cao, 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í đƣợc tối đa 100 thiết bị ngƣời truy cập có tính phí khơng giới hạn thiết bị 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 Android Android hệ điều hành có mã nguồn mở dựa tảng Linux đƣợc thiết kết dành cho thiết bị di động 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 Palo Alto, California vào tháng 10 năm 2003 Andy Rubin Vào năm 2005 Google mua lại công ty sau tới năm 2007 thức 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 để cải tiến hệ điều hành, bổ sung tính sửa lỗi lần phát hành trƣớc Mỗi nâng cấp đƣợc đặt tên lần lƣợt theo thứ tự bảng chữ cái, theo tên ăn tráng miệng BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP CHƢƠNG CƠ SỞ LÝ THUYẾT Hình 2.2 Các phiên hệ điều hành Android qua lần nâng cấp 2.4.3 Ƣu nhƣợc điểm 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ả đa nhiệm chạy lúc nhiều ứng dụng - Đa dạng nhiều sản phẩm phù hợp hầu hết thiết bị điện thoại máy tính bảng - Kho ứng dụng Google Play có nhiều ứng dụng hay mà ngƣời dùng lựa chọn tải sử dụng - Là hệ điều hành có khả tùy biến cao ngƣời dùng chỉnh sữa mà khơng có 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 thiết bị, hệ điều hành mắt ngƣời dùng khơng cập nhật đƣợc mà phải mua thiết bị khác có hệ điều hành - Khó kiểm soát chất lƣợng ứng dụng nhiều ứng dụng đƣợc tải lên - Dễ nhiễm mã độc gây hại thiết bị tính chất nguồn mở nên khơng có kiểm sốt - Sự phân cấp chất lƣợng sản phẩm lớn nhiều sản phẩm tiếng chất lƣợng nhƣ: Galaxy S10, Galaxy Note 9…, nhiều sản phẩm giá rẻ bình thƣờng khác BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP CHƢƠNG 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 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) Hoa kỳ) 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 radio Sóng wifi truyền phát tín hiệu tần số 2.4 GHz GHz Tần số cao so với tần số sử dụng cho điện thoại di động, thiết bị cầm tay truyền hình Tần số cao cho phép tín hiệu mang theo nhiều liệu 2.5.2 Các chuẩn wifi [3] - Wifi hay mạng 802.11 có chuẩn thơng dụng 802.11a, 802.11 , 802.11g, 802.11n, 802.11ac, 802.11ad - Chuẩn 802.11 : Đây phiên thị trƣờng Chuẩn có tốc độ truyền chậm phổ biến so với chuẩn khác Chuẩn 802.11 phát tín hiệu tần số 2.4 GHz, xử lý đến 11 Mbit/s 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 so với chuẩn 802.11 , tốc độ xử lý đạt 54 Mbit/s Chuẩn 802.11g nhanh sử dụng mã OFDM (orthogonal frequency-division multiplexing), cơng nghệ mã hóa hiệu - Chuẩn 802.11a: Phát tần số GHz đạt đến 54 Mbit/s Nó sử dụng mã OFDM - Chuẩn 802.11n: Phát tần số 2.4 GHz, nhƣng nhanh so với chuẩn 802.11a, tốc độ xử lý đạt 300 Mbit/s - Chuẩn 802.11ac: phát tần số GHz - Chuẩn 802.11ad: phát tần số 60 GHz WiFi hoạt động ba tần số nhảy qua lại tần số khác cách nhanh chóng Việc nhảy qua lại tần số giúp giảm thiểu nhiễu sóng cho phép nhiều thiết bị kết nối khơng dây lúc BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 10 PHỤ LỤC Hình 7.29 Vùng sở liệu để sử dụng Sau để đọc ghi đƣợc liệu từ ứng dụng chạy thiết bị điện thoại thơng minh ESP nhóm chúng em cần phải cấp quyền đọc ghi liệu cho thiết bị, để cấp quyền nhóm chúng em chọn “RULES” sau đổi “read : true” “write : true” nhƣ hình 7.30 Hình 7.30 Thay đổi cấp quyền đọc ghi liệu Và dựa theo địa tên vùng liệu tạo thiết bị điện thoại thơng minh đƣợc lập trình ứng dụng truy cập vào thơng qua hàm ghi đọc liệu hồn tồn đọc ghi liệu lên vùng liệu Địa dựa theo tên vùng liệu tạo: https://testdatn-12cd4.firebaseio.com/ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 107 PHỤ LỤC  Chƣơng trình mạch điều khiển độ sáng đèn bulb #include #include "Adafruit_MQTT.h" #include "Adafruit_MQTT_Client.h" #include #include #define FIREBASE_HOST "testdatn-12cd4.firebaseio.com" #define FIREBASE_AUTH "HszRBsnMPCl1Yc05DeHtErXk7IhNoVk8KJ10swB1" #define MQTT_SERV "io.adafruit.com" #define MQTT_PORT 1883 #define MQTT_NAME "masterpoke" #define MQTT_PASS "7b5c65d02b14449f945c55acfd4d20fe" WiFiClient client; Adafruit_MQTT_Client mqtt(&client, MQTT_SERV, MQTT_PORT, MQTT_NAME, MQTT_PASS); Adafruit_MQTT_Subscribe ds1 = Adafruit_MQTT_Subscribe(&mqtt, MQTT_NAME "/f/dosang1"); Adafruit_MQTT_Subscribe dsmax = Adafruit_MQTT_Subscribe(&mqtt, MQTT_NAME "/f/max"); Adafruit_MQTT_Subscribe light = Adafruit_MQTT_Subscribe(&mqtt, MQTT_NAME "/f/light1"); #define LEDpin D1 uint16_t a=0; int8_t dosang1; void setup(){ Serial.begin(115200); WiFiManager w; w.autoConnect("light 1"); Serial.println("connected "); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 108 PHỤ LỤC mqtt.subscribe(&ds1); mqtt.subscribe(&dsmax); mqtt.subscribe(&light); Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH); } void loop(){ MQTT_connect(); dosang1= Firebase.getInt("/light 1"); Adafruit_MQTT_Subscribe * subscription; while ((subscription = mqtt.readSubscription(1000))) { if (subscription == &ds1) { Serial.print("den muc: "); Serial.println((char*) ds1.lastread); if (!strcmp((char*) ds1.lastread, "0")) { dosang1 ; if( dosang1 < 1) dosang1=1; Firebase.setInt("/light 1",dosang1); } else { dosang1++; if( dosang1 > 10) dosang1=10; Firebase.setInt("/light 1",dosang1); } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 109 PHỤ LỤC if (subscription == &dsmax) { Serial.print("do sang max: "); Serial.println((char*) dsmax.lastread); if (!strcmp((char*) dsmax.lastread, "1")) { dosang1=10; Firebase.setInt("/light 1",dosang1); } } Serial.print("muc sang den 1: "); Serial.println(dosang1); /////////////////////////////////////////// if (subscription == &light) { Serial.print("do sang: "); Serial.println((char*) light.lastread); if (!strcmp((char*) light.lastread, "0")) Firebase.setInt("/den1", 1); else Firebase.setInt("/den1", 0); } } ////////////////////////////////////////////// if (Firebase.failed()) { analogWrite(LEDpin, a); } if (Firebase.getInt("/den1")==0) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 110 PHỤ LỤC { int b = Firebase.getInt("/light 1"); switch (b){ case 1: a=102; break; case 2: a=204; break; case 3: a=307; break; case 4: a=410; break; case 5: a=512; break; case 6: a=614; break; case 7: a=716; break; case 8: a=818; break; case 9: a=921; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 111 PHỤ LỤC break; case 10 : a=1023;break; } analogWrite(LEDpin, a); Firebase.setInt("/ttden1", 0); // } else { a=0; analogWrite(LEDpin, 0); Firebase.setInt("/ttden1", 1); } } void MQTT_connect() { int8_t ret; if (mqtt.connected()) { return; } Serial.print("Connecting to MQTT "); while ((ret = mqtt.connect()) != 0) { Serial.println(mqtt.connectErrorString(ret)); Serial.println("Retrying MQTT connection in seconds "); mqtt.disconnect(); delay(1000); // cho 1s } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 112 PHỤ LỤC Serial.println("MQTT Connected!"); }  Chƣơng trình mạch giám sát nhiệt độ,độ ẩm chuyển động #include #include "Adafruit_MQTT.h" #include "Adafruit_MQTT_Client.h" #include #include #include #define DHTTYPE DHT11 #define DHTPIN D4 #define FIREBASE_HOST "testdatn-12cd4.firebaseio.com" #define FIREBASE_AUTH "HszRBsnMPCl1Yc05DeHtErXk7IhNoVk8KJ10swB1" #define MQTT_SERV "io.adafruit.com" #define MQTT_PORT 1883 #define MQTT_NAME "masterpoke" #define MQTT_PASS "7b5c65d02b14449f945c55acfd4d20fe" WiFiClient client; Adafruit_MQTT_Client mqtt(&client, MQTT_SERV, MQTT_PORT, MQTT_NAME, MQTT_PASS); Adafruit_MQTT_Subscribe goout = Adafruit_MQTT_Subscribe(&mqtt, MQTT_NAME "/f/goout"); Adafruit_MQTT_Subscribe denngu = Adafruit_MQTT_Subscribe(&mqtt, MQTT_NAME "/f/denngu"); int powerPin = D7; // chọn chân NGUON int inputPin = D2; // chọn ngõ tín hiệu vào cho PIR int pirState = LOW; // Bắt đầu với khơng có báo động int pinSpeaker = D5; //chọn chân cho chuông có đột nhập int val=0; DHT dht(DHTPIN, DHTTYPE); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 113 PHỤ LỤC void setup() { pinMode(powerPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); pinMode(D0,OUTPUT); Serial.begin(115200); WiFiManager w; w.autoConnect("dht esp"); Serial.println("connected "); mqtt.subscribe(&goout); mqtt.subscribe(&denngu); Firebase.begin(FIREBASE_HOST,FIREBASE_AUTH); dht.begin(); } void loop() { MQTT_connect(); Adafruit_MQTT_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")) { digitalWrite(powerPin, LOW); Firebase.setInt("/ttpir", 1); } else BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 114 PHỤ LỤC { digitalWrite(powerPin, HIGH); Firebase.setInt("/ttpir", 0); 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); } } } if ( Firebase.getInt("/denngu")==0) digitalWrite(D0, HIGH); else digitalWrite(D0, LOW); float h = dht.readHumidity(); //Đọc độ ẩm float t = dht.readTemperature(); //Đọc nhiệt độ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 115 PHỤ LỤC 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); Firebase.setFloat ("/Humidity", h); if (t>=40) { digitalWrite(pinSpeaker, HIGH); Firebase.setInt ("/bao chay", 1); } else { digitalWrite(pinSpeaker, LOW); Firebase.setInt ("/bao chay", 0); } val = digitalRead(inputPin); if (val == HIGH) // đọc giá trị đầu vào // giá trị mức cao.(1) { digitalWrite(pinSpeaker, HIGH); if (pirState == LOW) { Serial.println("phat hien chuyen dong!"); Firebase.setInt ("/bao trom", 1); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 116 PHỤ LỤC pirState = HIGH; } } else { digitalWrite(pinSpeaker, LOW); if (pirState == HIGH) { Serial.println("ket thuc chuyen dong"); Firebase.setInt ("/bao trom", 0); pirState = LOW; } } } void MQTT_connect() { int8_t ret; if (mqtt.connected()) { return; } Serial.print("Connecting to MQTT "); while ((ret = mqtt.connect()) != 0) { Serial.println(mqtt.connectErrorString(ret)); Serial.println("Retrying MQTT connection in seconds "); mqtt.disconnect(); delay(1000); // cho 1s } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 117 PHỤ LỤC Serial.println("MQTT Connected!"); } BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP 118 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 Danh mục hình…………………………………………………………………… vii Danh mục bảng……………………………………………………………………viii Tóm tắt………………………………………………………………………… .ix CHƢƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU 2.2 GIỚI THIỆU VỀ TRỢ LÝ ẢO GOOGLE ASSISTANT 2.2.1 Khái niệm 2.2.2 Lịch sử phát triển 2.2.3 Ƣu điểm nhƣợc điểm 2.3 GIỚI THIỆU VỀ CƠ SỞ DỮ LIỆU FIREBASE 2.3.1 Khái niệm 2.3.2 Lịch sử phát triển 2.3.3 Các chức Firebase 2.3.4 Ƣu nhƣợc điểm Firebase 2.4 GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 2.4.1 Khái niệm Android 2.4.2 Lịch sử phát triển 2.4.3 Ƣu nhƣợc điểm hệ điều hành Android vi 2.5 GIỚI THIỆU VỀ CÁC CHUẨN GIAO TIẾP WIFI 10 2.5.1 Khái niệm wifi 10 2.5.2 Các chuẩn wifi 10 CHƢƠNG TÍNH TỐN VÀ THIẾT KẾ 11 3.1 TỔNG QUAN CỦA ĐỀ TÀI 11 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 12 3.2.1 Sơ đồ khối hoạt động hệ thống 12 3.2.2 Thiết kế sơ đồ khối phần cứng bóng đèn 13 3.2.3 Thiết kế sơ đồ khối mạch giám sát nhiệt độ, độ ẩm chuyển động 15 3.2.4 Tính tốn thiết kế mạch 17 3.2.5 Sơ đồ ngun lí tồn mạch 25 3.2.6 Thiết kề phần mềm chạy hệ điều hành android 29 CHƢƠNG THI CÔNG HỆ THỐNG 33 4.1 GIỚI THIỆU 33 4.2 THI CÔNG HỆ THỐNG 33 4.2.1 Thi công phần cứng: 33 4.2.2 Lắp ráp kiểm tra 37 4.3 THI CÔNG MƠ HÌNH 41 4.4 LẬP TRÌNH MẠCH ĐIỀU KHIỂN ĐỘ SÁNG ĐÈN BULB 45 4.4.1 Lƣu đồ giải thuật 45 4.4.2 Chƣơng trình cho mạch điều khiển độ sáng đèn bulb 46 4.5 LẬP TRÌNH CHO MẠCH GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM VÀ CHUYỂN ĐỘNG 53 4.5.1 Lƣu đồ giải thuật 53 4.5.2 Chƣơng trình cho mạch giám sát nhiệt độ, độ ẩm chuyển động 54 4.6 LẬP TRÌNH ỨNG DỤNG ANDROID 61 4.7 VIẾT TÀI LIỆU HƢỚNG DẪN SỬ DỤNG 71 CHƢƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 75 5.1 KẾT QUẢ ĐẠT ĐƢỢC 75 5.1.1 Phần cứng 75 5.1.2 Phần mềm 75 5.1.3 Một số hình ảnh kết đạt đƣợc đề tài 76 5.2 NHẬN XÉT_ĐÁNH GIÁ 81 5.2.1 Phần cứng 81 5.2.2 Phần mềm 82 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 84 6.1 KẾT LUẬN 84 6.2 HƢỚNG PHÁT TRIỂN 84 TÀI LIỆU THAM KHẢO 86 PHỤ LỤC 87 ... dụng điện thoại nên yêu cầu điện thoại kết nối Wifi 3G Sau thiết bị kết nối thành công với Wifi, việc điều khiển thiết bị thông qua điện thoại cách - Cách 1: Ta sử dụng trợ lý ảo Google (Google Assistant) ... thiệu trợ lý ảo Google Assistant - Khái niệm sở liệu Firebase - Tổng quan vè hệ điều hành Android - Tổng quan Wifi 2.2 GIỚI THIỆU VỀ TRỢ LÝ ẢO GOOGLE ASSISTANT 2.2.1 Khái niệm Google Assistant trợ. .. đặt thơng qua app điện thoại Về phần mềm nhóm dụng Google Assistant (trợ lý ảo Google phát triển) để làm phƣơng tiện điều khiển thiết bị đèn bật tắt led cảm biến chuyển động thiết bị giám sát

Ngày đăng: 08/01/2020, 16:11

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan