Ứng dụng chatbot vào điều khiển nhà thông minh

95 8 0
Ứng dụng chatbot vào điều khiển nhà thông minh

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH GVHD: NGUYỄN MẠNH HÙNG SVTH: NGUYỄN MINH HÙNG MSSV: 14141139 SKL006493 Tp Hồ Chí Minh, tháng 06/2018 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 CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH GVHD: TS Nguyễn Mạnh Hùng SVTH: Nguyễn Minh Hùng MSSV: 14141139 Tp Hồ Chí Minh - 06/2018 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: ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH GVHD: TS Nguyễn Mạnh Hùng SVTH: Nguyễn Minh Hùng Tp Hồ Chí Minh - 06/2018 MSSV: 14141139 i TRƢỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o Tp HC tháng NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viê n: Ch uyê n ngà nh: Hệ đào tạo: Kh óa: Nguyễn Minh Hùng Kỹ thuật Điện Tử Truyền Thông Đại học quy 2014 MSSV: 14141139 Mã ngành: 14141 Mã hệ: Lớp: 14141DT3B I TÊN ĐỀ TÀI: ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH II NHIỆM VỤ Các số liệu ban đầu: chatbot đƣợc tạo tảng Dialogflow - kit raspberry Pi3 B - Mạch dimmer điều khiển độ sáng bóng đèn - Module Relay 5V kênh điều khiển đóng/mở đèn, quạt - động servo MG90S điều khiển đóng/mở cửa - Module cảm biến nhiệt độ, độ ẩm DHT11 Nội dung thực hiện: - Tìm hiểu tảng Dialogflow tạo chatbot dựa tảng - Tìm hiểu kit Raspberry Pi ngơn ngữ lập trình Python - - - - Tạo webhook để nhận liệu từ Dialogflow, xử lí liệu để trả lại đồng thời điều khiển thiết bị nhà Thiết kế thi công mạch điều khiển dimmer Tìm hiểu cách điều khiển động servo, cảm biến nhiệt độ, độ ẩm DHT11 Thi công mô hình nhà thơng minh, kết nối module lại với III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: 28/06/2018 V HỌ VÀ TÊN CÁN BỘ HƢỚNG DẪN: TS Nguyễn Mạnh Hùng CÁN BỘ HƢỚNG DẪN BM ĐIỆN TỬ CƠNG NGHIỆP – Y SINH ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Minh Hùng Lớp: 14141DT3B MSSV: 14141139 Tên đề tài: Ứng dụng chatbot điều khiển nhà thông minh Tuần 10 Tuần 11 Tuần 12 Tuần 13 Tuần 14 Tuần 15 iv LỜI CAM ĐOAN -  - Tơi xin cam đoan cơng trình nghiên cứu riêng đƣợc hƣớng dẫn khoa học Ts Nguyễn Mạnh Hùng Các nội dung nghiên cứu, kết đề tài tự thực dựa vào số tài liệu trƣớc khơng chép từ tài liệu hay cơng trình có trƣớc Những thơng tin phục vụ cho đề tài đƣợc tác giả thu thập từ nguồn khác có ghi rõ phần tài liệu tham khảo Tôi xin chịu trách nhiệm cơng trình nghiên cứu riêng mình! Sinh viên thực Nguyễn Minh Hùng v LỜI CẢM ƠN -  - Trong thời gian làm đồ án tốt môn học, em nhận đƣợc nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình thầy cơ, gia đình bạn bè Em xin gửi lời cảm ơn chân thành đến Ts Nguyễn Mạnh Hùng, giảng viên Bộ môn Điện Tử Công Nghiệp – Y Sinh - Trƣờng ĐH Sƣ Phạm Kỹ Thuật TP.HCM, ngƣời tận tình hƣớng dẫn, bảo em suốt trình làm đồ án Em xin chân thành cảm ơn thầy cô giáo trƣờng ĐH Sƣ Phạm Kỹ Thuật TP.HCM nói chung, thầy cô Bộ môn Điện Tử Công Nghiệp – Y Sinh nói riêng dạy dỗ cho em kiến thức môn đại cƣơng nhƣ môn chuyên ngành, giúp em có đƣợc sở lý thuyết vững vàng tạo điều kiện giúp đỡ em suốt trình học tập Cuối cùng, em xin chân thành cảm ơn gia đình bạn bè, ln tạo điều kiện, quan tâm, giúp đỡ, động viên em suốt q trình học tập hồn thành đồ án môn học Sinh viên thực Nguyễn Minh Hùng vi M Trang bìa Nhiệm vụ đồ án Lịch trình Cam đoan Lời cảm ơn Mục lục Liệt kê hình vẽ Liệt kê bảng vẽ Tóm tắt 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 TỔNG QUAN VỀ CHATBOT 2.1.1 K 2.1.2 P 2.1.3 X 2.2 TỔNG QUAN VỀ API 2.2.1 K 2.2.2 M 2.2.3 C 2.3 WEBHOOK 2.3.1 K 2.3.2 H 2.4 TỔNG QUAN VỀ DIALOGFLOW 2.4.1 G 2.4.2 C a Agent v CHƢƠNG THI CÔNG HỆ THỐNG Tƣơng tự ngƣời dùng yêu cầu mở cửa Hình 4.41: u cầu điều khiển đóng mở cửa Hình 4.42: Thực mở cửa BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 CHƢƠNG THI CÔNG HỆ THỐNG Và trả lời thông tin nhiệt độ, độ ẩm đƣợc ngƣời dùng yêu cầu Hình 4.43: Truy vấn thông tin nhiệt độ 4.7 TÀI LIỆU HƢỚNG DẪN, THAO TÁC 4.7.1 Tài liệu hƣớng dẫn sử dụng - Bƣớc 1: Cấp nguồn cho hệ thống, hệ thống hoạt động sử dụng nguồn 220V AC - Bƣớc 2: Sau khởi động hệ thống, tiến hành mở ứng dụng chatbot trị chuyện với chatbot thơng qua text message - Bƣớc 3: Trò chuyện yêu cầu điều khiển thiết bị chatbot 4.7.2 Quy trình thao tác Để giúp ngƣời sử dụng dễ dàng thao tác, dƣới lƣu đồ quy trình vận hành hệ thống: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 CHƢƠNG THI CƠNG HỆ THỐNG Hình 4.44: Lƣu đồ hƣớng dẫn sử dụng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 CHƢƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Chƣơng KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Để thực yêu cầu đề tài, nhóm em tập trung ghiên cứu hồn thiện đề tài đƣợc giao Q trình nghiên cứu đƣợc thực 15 tuần, q trình nhóm em khơng biết đƣợc nhiều kiến thức mà cịn ơn lại nhiều kiến thức cũ qn Dƣới kiến thức mà chúng em học đƣợc 5.1 DIALOGFLOW 5.1.1 Dialogflow Biết đƣợc cách sử dụng khai thác sức mạnh Dialogflow cung cấp cho ngƣời lập trình để tạo chatbot thơng minh Biết đƣợc ý nghĩa phần Dialogflow nhƣ:  Agent  Intents  Contexts  Events  Training Phrases  Action and parameters  Responses  Fulfillment  Entities  Integrations  Training  History  Analytics  Prebuilt Agents 5.1.2 Các khái niệm liên quan BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 CHƢƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hiểu đƣợc khái niệm nhƣ API, webhook, định dạng file Json cách trích xuất liệu từ định dạng file Json để phục vụ cho yêu cầu đề tài 5.2 RASPBERRY PI 5.2.1 Raspberry Pi Biết cách cài đặt hệ điều hành cho raspberry, thiết lập IP tĩnh cho mạng Lan để điều khiển raspberry qua VNC raspberry pi khơng có kết nối mạng Thực cài đặt, cập nhật gói (package) cần thiết cho raspberry Sử dụng ngơn ngữ Python để lập trình, cài đặt thƣ viện Python cần thiết để lập trình phục vụ đề tài Biết cách sử dụng hàm thƣ viện nhƣ: GPIO.setwarnings() GPIO.setmode() GPIO.setup() GPIO.PWM() Hiểu đƣợc điện áp cấp từ Raspberry Pi nhƣ ý nghĩa chân Raspberry, chẳng hạn nhƣ chân Raspberry đọc đƣợc Input tín hiệu Digital, khơng có chân đọc Analog nhƣ Arduino Cũng nhƣ tìm hiểu chuẩn giao tiếp Raspberry 5.2.2 Công cụ ngrok Biết cách sử dụng ngrok để public server, thực xem xét quản lí tác vụ thực server 5.3 PHẦN CỨNG 5.3.1 Mạch điều khiển dimmer Tìm hiểu ngun lí dimmer từ thực hành làm mạch mô dimmer để điều khiển thiết bị Từ đó, ơn lại kiến thức linh kiện nhƣ Triac, Mosfet Biết cách sử dụng phần mềm Altium Designer để vẽ mạch PBC phục vụ cho đề tài BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƢƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Biết cách hoàn thiện mạch điện tử qua nhiều công đoạn khác 5.3.2 Động Servo Tìm hiểu ngun lí điều khiển động servo PWM để từ thực yêu cầu điều khiển góc quay để đóng mở cửa 5.3.3 Module Relay kênh 5V Hiểu đƣợc cách hoạt động module Relay, tính tốn đƣợc dịng cần thiết để kích hoạt Relay Từ thực tác vụ điều khiển thiết bị 5.3.4 Module cảm biến DHT11 Biết cách sử dụng module cảm biến nhiệt độ, độ ẩm DHT11 để cung cấp liệu nhiệt độ, độ ẩm cho đề tài 5.4 NHẬN XÉT VÀ ĐÁNH GIÁ Nhóm thực đề tài hồn thành u cầu đề tài đặt ra, đồ án nghiên cứu có ƣu điểm nhƣ:  Đề tài có tính thực tế cao, đặc biệt năm gần việc ứng dụng lĩnh vực liên quan đến AI, Machine Learning vào lĩnh vực đời sống ngày nhiều đem lại hiệu cao  Chi phí xây dựng hệ thống khơng cao, tƣơng đối dễ sử dụng vận hành Qúa trình bảo trì hệ thống đơn giản  Giao diện chatbot dễ sử dụng, đặc biệt tích hợp với tảng nhắn tin nhƣ Facebook message, Skype, Slack, để tăng tính thiết thực, gần gũi với ngƣời dùng  Hệ thống điều khiển thời gian thực, có u cầu điều khiển ngƣời dùng điều khiển thiết bị nhà  Dựa lịch sử chat, ngƣời dùng xem xét lịch sử đóng mở thiết bị nhà Tuy nhiên, hệ thống có hạn chế nhƣ: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 CHƢƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ  Hệ thống điều khiển thơng qua internet nên u cầu phải có đƣờng truyền mạng ổn định trì lâu dày  Tính bảo mật hệ thống khơng cao, có link trị chuyện trị chuyện đƣợc với chatbot  Hệ thống sử dụng API Dialogflow google để lập trình, google ngƣng cung cấp API hệ thống khơng hoạt động  Sử dụng ngrok cho địa url khác nên lần thay đổi cần phải cung cấp địa webhook phần fulfillment Dialogflow  Độ trễ hệ thống phụ thuộc vào tốc độ độ ổn định đƣờng truyền BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Chƣơng KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Từ yêu cầu đặt chƣơng 1, nhóm thực đề tài nhận xét hệ thống hoạt động ổn định đáp ứng yêu cầu đề tài đặt Đó hệ thống thơng qua việc trị chuyện với chatbot để điều khiển thiết bị nhà với giao diện đơn giản, dễ sử dụng trị chuyện với ngƣời dùng Mơ hình thiết kế nhà thơng minh đơn giản, dễ nhìn giúp dễ dàng hình dung hình ảnh ngơi nhà ngồi thực tế Việc bố trí module nhƣ thiết bị hợp lí Tính an tồn hệ thống đƣợc đảm bảo, an tồn cho ngƣời sử dụng Tuy nhiên, hệ thống cịn có hạn chế phụ thuộc vào đƣờng truyền internet, tính bảo mật chƣa đƣợc cao, chatbot trò chuyện với ngƣời dùng câu trò chuyện đơn giản, không thông minh yêu cầu ngƣời dùng phức tạp, khó hiểu 6.2 HƢỚNG PHÁT TRIỂN Tích hợp chatbot vào tảng nhắn tin để thân thiện tiện lợi cho ngƣời dùng Đồng thời, việc trị chuyện đơn giản với ngƣời dùng tích hợp thêm nhiều API khác để chatbot thông minh trả lời đƣợc hết đoạn thoại ngƣời dùng nhƣ ngƣời thật Đó API thời tiết, API đọc báo, API mua sắm, vv đặc biệt tích hợp API simsimi ứng dụng chatbot nhắn tin tiếng Từ đó, chatbot đƣợc xem nhƣ trợ lí ngơi nhà, trị chuyện, hỗ trợ mua sắm, cung cấp thơng tin, báo chí cho ngƣời dùng Có thể tích hợp thêm API Voice để chatbot giao tiếp với ngƣời dùng lời nói thay nhắn tin text thơng thƣờng Có thể linh hoạt mở rộng thêm nhiều thiết bị cần điều khiển ngơi nhà, dự án khác BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Trần Thu Hà, “Giáo trình điện tử bản”, NXB ĐH Quốc Gia Tp.HCM, 2013 [2] Hồng Ngọc Văn, “Giáo trình thực hành điện tử công suất”, Trƣờng ĐH Sƣ Phạm Kỹ Thuật Tp.HCM, 2015 [3] Matt Richardson and Shawn Wallace, “Getting Started with Raspberry Pi”, Pushlished by O’Reilly Media, Inc., 2012 [4] Cao Văn Tiến Nguyễn Văn Nghĩa, “Điều khiển thiết bị qua internet dùng raspberry pi thông qua wifi”, Trƣờng ĐH SPKT Tp.HCM, 2016 [5] Nick Quinlan, “What’s a webhook”, www.sendgrid.com, 2014 [6] Sachin Kumar, “How to create a chatbot using Dialogflow Enterprise Edition and Dialogflow API V2”, 2018 [7] Jestin Cubetech, “Safe and simple AC pwm dimmer for Arduino/ Raspberry pi”, 2013 [8] Tài liệu website Dialogflow: https://dialogflow.com/docs/getting-started [9] Trang chủ Raspberry : https://www.raspberrypi.org [10] Website datasheet linh kiện: alldatasheet.com BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 PHỤ LỤC PHỤ LỤC #!/usr/bin/env python import urllib import json import os import RPi.GPIO as GPIO import Adafruit_DHT GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(16, GPIO.OUT) GPIO.setup(23, GPIO.OUT) GPIO.setup(24, GPIO.OUT) GPIO.setup(25, GPIO.OUT) GPIO.setup(18, GPIO.OUT) pwm = GPIO.PWM(18, 500) pwm.start(100) GPIO.setup(13, GPIO.OUT) pwm1 = GPIO.PWM(13, 50) from flask import Flask from flask import request from flask import make_response # Flask app should start in global layout app = Flask( name ) @app.route('/webhook', methods=['POST']) def webhook(): req = request.get_json(silent=True, force=True) print("Request:") print(json.dumps(req, indent=4)) res = makeWebhookResult(req) res = json.dumps(res, indent=4) print(res) #t = str(res["speech"]) r = make_response(res) #t= str(r.decode('utf-8')) print("*") print (r) #print ("*") r.headers['Content-Type'] = 'application/json' return r def makeWebhookResult(req): #if req.get("queryResult").get("action") != "on-off": # return {} #if req.get("queryResult").get("action") != "on-off.condition": # return {} sp1="" sp2="" sp3="" BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71 PHỤ LỤC sp4="" sp5="" sp6="" sp7="" sp8="" sp9="" sp10="" sp11="" sp12="" sp13="" sp14="" result = req.get("queryResult") parameters = result.get("parameters") val = parameters.get("on-off") val2 = parameters.get("led") val3 = parameters.get("status") val4 = parameters.get("percentage") val5 = parameters.get("status-door") val6 = parameters.get("temperature") val7 = parameters.get("unit-temperature") val8 = parameters.get("humidity") val9 = parameters.get("room") val10 = parameters.get("hot-cold") if req.get("queryResult").get("action") == "on-off": if len(val)==len(val2): for i in range (0, len(val)): for j in range (0, len(val2)): if i == j: if val[i] =="on": if val2[j] == "all": GPIO.output(16, GPIO.HIGH) GPIO.output(23, GPIO.HIGH) GPIO.output(24, GPIO.HIGH) GPIO.output(25, GPIO.HIGH) sp11 = "turn on all" if val2[j] == "led 1": GPIO.output(16, GPIO.HIGH) sp1 = val[i] + " " + val2[j] if val2[j] == "led 2": GPIO.output(23, GPIO.HIGH) sp2 = val[i] + " " + val2[j] if val2[j] == "led 3": GPIO.output(24, GPIO.HIGH) sp3 = val[i] + " " + val2[j] if val2[j] == "fan": GPIO.output(25, GPIO.HIGH) sp4 = val[i] + " " + val2[j] if val[i] =="off": if val2[j] == "all": GPIO.output(16, GPIO.LOW) GPIO.output(23, GPIO.LOW) GPIO.output(24, GPIO.LOW) GPIO.output(25, GPIO.LOW) sp12 = "turn off all" if val2[j] == "led 1": GPIO.output(16, GPIO.LOW) sp5 = val[i] + " " + val2[j] if val2[j] == "led 2": GPIO.output(23, GPIO.LOW) sp6 = val[i] + " " + val2[j] if val2[j] == "led 3": BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72 PHỤ LỤC GPIO.output(24, GPIO.LOW) sp7 = val[i] + " " + val2[j] if val2[j] == "fan": GPIO.output(25, GPIO.LOW) sp8 = val[i] + " " + val2[j] else: for i in range (0,len(val)): for j in range (0, len(val2)): if val[i] =="on": if val2[j] == "led 1": GPIO.output(16, GPIO.HIGH) sp1 = val[i] + " " + val2[j] if val2[j] == "led 2": GPIO.output(23, GPIO.HIGH) sp2 = val[i] + " " + val2[j] if val2[j] == "led 3": GPIO.output(24, GPIO.HIGH) sp3 = val[i] + " " + val2[j] if val2[j] == "fan": GPIO.output(25, GPIO.HIGH) sp4 = val[i] + " " + val2[j] if val[i] =="off": if val2[j] == "led 1": GPIO.output(16, GPIO.LOW) sp5 = val[i] + " " + val2[j] if val2[j] == "led 2": GPIO.output(23, GPIO.LOW) sp6 = val[i] + " " + val2[j] if val2[j] == "led 3": GPIO.output(24, GPIO.LOW) sp7 = val[i] + " " + val2[j] if val2[j] == "fan": GPIO.output(25, GPIO.LOW) sp8 = val[i] + " " + val2[j] speech = "OKK, " + sp1 + " " + sp2 + " " + sp3 + " " + sp4 + " " + sp5 + " " + sp6 + " " + sp7 + " " + sp8 + " " + sp11 + " " + sp12 elif req.get("queryResult").get("action") == "on-off:condition": if val3 if if if #if if val3 if if if #if speech BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73 PHỤ LỤC elif req.get("queryResult").get("action") == "action.dimmer": a="" for i in val4: if i =="%": break a=a+i #print a dc = 100.0 - float(a) pwm.ChangeDutyCycle(dc) speech = "OK, dimmer " + a + "%" elif req.get("queryResult").get("action") == "action.door": if val5 == "open": pwm1.start(5) if val5 == "close": pwm1.start(10) speech = "OK, " + val5 + " door" elif req.get("queryResult").get("action") == "action.temperature": if val6 == "temperature": if val7 == "C": humidity, temperature = Adafruit_DHT.read_retry(11, 27) sp9 = "temperature is " + str(temperature) + " C" if val7 == "F": humidity, temperature = Adafruit_DHT.read_retry(11, 27) temperature1 = temperature*1.8 + 32 sp10 = "temperature is " + str(temperature1) + " F" speech = sp9 + " " + sp10 elif req.get("queryResult").get("action") == "action.humidity": if val8 == "humidity": humidity, temperature = Adafruit_DHT.read_retry(11, 27) speech = "the humidity is " + str(humidity) + "%" elif req.get("queryResult").get("action") == "action.dht11": if val6 == "temperature" and val8 == "humidity": humidity, temperature = Adafruit_DHT.read_retry(11, 27) speech = " The temperature is " + str(temperature) + " C and the humidity is " + str(humidity) + "%" elif req.get("queryResult").get("action") == "action.fan": if val10 == "hot": GPIO.output(25, GPIO.HIGH) sp13 = "i turn on fan" if val10 == "cold": GPIO.output(25, GPIO.LOW) sp14 = "i turn off fan" speech = "OK, " + sp13 + " " + sp14 else: return {} print("Response:") print(speech) return { "fulfillmentText": speech, #"fulfillmentMessages": speech , #"data": {}, #"contextOut": [], #"source": "BankRates" } if name == ' main ': port = int(os.getenv('PORT', 5000)) print("Starting app on port %d" %(port)) app.run(debug=True, port=port, host='0.0.0.0') BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 74 PHỤ LỤC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 75 ... định chọn chatbot làm đối tƣợng nghiên cứu ứng dụng cụ thể vào điều khiển nhà thông minh Nhà thông minh đƣợc thiết kế sử dụng Raspberry Pi cho việc điều khiển giám sát thiết bị nhà thông qua... với chatbot nhƣ trợ lí ảo giúp ngƣời dùng quản lí điều khiển hoạt động ngơi nhà Vì lý đó, nhóm sinh viên định thực đề tài ? ?Ứng dụng chatbot vào điều khiển nhà thông minh? ?? 1.2 MỤC TIÊU Tạo đƣợc chatbot. .. TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG CHATBOT VÀO ĐIỀU KHIỂN NHÀ THÔNG MINH GVHD: TS Nguyễn Mạnh Hùng SVTH: Nguyễn Minh Hùng Tp Hồ Chí Minh - 06/2018 MSSV: 14141139 i TRƢỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA

Ngày đăng: 25/12/2021, 23:18

Hình ảnh liên quan

Hình 2.4: Các phần của Dialogflow - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.4.

Các phần của Dialogflow Xem tại trang 27 của tài liệu.
Hình 2.5: Các mục trong một Intent Giao diện intent có các phần nhƣ sau: - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.5.

Các mục trong một Intent Giao diện intent có các phần nhƣ sau: Xem tại trang 28 của tài liệu.
Hình 2.6: Hình ảnh mục context - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.6.

Hình ảnh mục context Xem tại trang 29 của tài liệu.
Hình 2.8: Hình ảnh mục Training Phrases - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.8.

Hình ảnh mục Training Phrases Xem tại trang 30 của tài liệu.
Hình 2.10: Hình ảnh mục Responses - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.10.

Hình ảnh mục Responses Xem tại trang 32 của tài liệu.
Hình 2.13: Các nền tảng tích hợp trong Integrations - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.13.

Các nền tảng tích hợp trong Integrations Xem tại trang 35 của tài liệu.
Hình 2.14: Board RaspberryPi - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.14.

Board RaspberryPi Xem tại trang 36 của tài liệu.
Hình 2.15: Phần cứng của RaspberryPi - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.15.

Phần cứng của RaspberryPi Xem tại trang 37 của tài liệu.
Hình 2.23: Module Relay 2 channel 5V - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 2.23.

Module Relay 2 channel 5V Xem tại trang 46 của tài liệu.
Hình 3.3: Sơ đồ các khối điều khiển động lực - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 3.3.

Sơ đồ các khối điều khiển động lực Xem tại trang 52 của tài liệu.
Hình 4.4: Thực hiện tạo mới Entities - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.4.

Thực hiện tạo mới Entities Xem tại trang 57 của tài liệu.
Hình 4.6: Hình ảnh entities led - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.6.

Hình ảnh entities led Xem tại trang 58 của tài liệu.
Hình 4.7: Tạo mới intents - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.7.

Tạo mới intents Xem tại trang 59 của tài liệu.
Hình 4.8: Bảng Action và Parameters - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.8.

Bảng Action và Parameters Xem tại trang 60 của tài liệu.
Hình 4.13: Giao diện trò chuyện chatbot - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.13.

Giao diện trò chuyện chatbot Xem tại trang 62 của tài liệu.
Hình 4.15: Thêm mới entities status - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.15.

Thêm mới entities status Xem tại trang 63 của tài liệu.
Hình 4.14: Thêm mới entities room - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.14.

Thêm mới entities room Xem tại trang 63 của tài liệu.
Hình 4.16: Thêm mới Intent on-off:condition - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.16.

Thêm mới Intent on-off:condition Xem tại trang 64 của tài liệu.
Hình 4.17: Kết quả thao tác trên Intent mới - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.17.

Kết quả thao tác trên Intent mới Xem tại trang 64 của tài liệu.
Hình 4.18: Kết quả hoàn thành Intent - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.18.

Kết quả hoàn thành Intent Xem tại trang 65 của tài liệu.
Hình 4.19: Kết quả hoàn thành Entities - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.19.

Kết quả hoàn thành Entities Xem tại trang 65 của tài liệu.
Hình 4.21: Giao diện Python 3 IDLE - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.21.

Giao diện Python 3 IDLE Xem tại trang 68 của tài liệu.
Ví dụ kết quả sau khi chạy port 5000 nhƣ hình dƣới: - Ứng dụng chatbot vào điều khiển nhà thông minh

d.

ụ kết quả sau khi chạy port 5000 nhƣ hình dƣới: Xem tại trang 72 của tài liệu.
Hình 4.28: Sơ đồ linh kiện 3D Dƣới đây là danh sách các linh kiện: - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.28.

Sơ đồ linh kiện 3D Dƣới đây là danh sách các linh kiện: Xem tại trang 73 của tài liệu.
Hình 4.34: Kết nối đèn với mạch dimmer - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.34.

Kết nối đèn với mạch dimmer Xem tại trang 77 của tài liệu.
Hình 4.37: Kết nối với RaspberryPi - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.37.

Kết nối với RaspberryPi Xem tại trang 79 của tài liệu.
Hình 4.39: Điều khiển thiết bị thông qua giao diện - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.39.

Điều khiển thiết bị thông qua giao diện Xem tại trang 80 của tài liệu.
Hình 4.41: Yêu cầu điều khiển đóng mở cửa - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.41.

Yêu cầu điều khiển đóng mở cửa Xem tại trang 81 của tài liệu.
Hình 4.43: Truy vấn thông tin nhiệt độ - Ứng dụng chatbot vào điều khiển nhà thông minh

Hình 4.43.

Truy vấn thông tin nhiệt độ Xem tại trang 82 của tài liệu.

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

Tài liệu liên quan