Đăng ký Đăng nhập
Trang chủ Điều khiển thiết bị bằng giọng nói...

Tài liệu Điều khiển thiết bị bằng giọng nói

.PDF
38
1
83

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỒNG NAI BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG NÓI Mã số: TR:2020-29/KCN-SV Chủ nhiệm đề tài: Võ Minh Hưng Đồng Nai, tháng 5 năm 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỒNG NAI BÁO CÁO TỔNG KẾT ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG ĐIỀU KHIỂN THIẾT BỊ BẰNG GIỌNG NÓI Mã số: TR:2020-29/KCN-SV Chủ nhiệm đề tài Võ Minh Hưng Đồng Nai, tháng 5 năm 2021 DANH SÁCH THÀNH VIÊN THAM GIA NGHIÊN CỨU ĐỀ TÀI STT Họ và tên Chức vụ 1 Võ Minh Hưng Sinh viên 2 Võ Thanh Tùng Giảng viên 3 Nguyễn Thị Hiền Giảng viên 1 MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT ................................................................................. 3 DANH MỤC HÌNH ẢNH ...............................................................................................4 THÔNG TIN KẾT QUẢ NGHIÊN CỨU .......................................................................5 CHƯƠNG 1: TỔNG QUAN ........................................................................................... 6 1.1 Tổng quan về lĩnh vực nghiên cứu ............................................................................ 6 1.2 Tính cấp thiết ............................................................................................................. 6 1.3 Mục tiêu ..................................................................................................................... 6 1.4 Cách tiếp cận .............................................................................................................. 6 1.5 Phương pháp nghiên cứu ........................................................................................... 6 1.6 Đối tượng và phạm vi nghiên cứu ............................................................................. 6 1.7 Nội dung nghiên cứu ................................................................................................. 7 1.8 Kế hoạch thực hiện đề tài .......................................................................................... 7 CHƯƠNG 2: GIỚI THIỆU CÁC THIẾT BỊ ĐƯỢC LỰA CHỌN ................................8 2.1 Module Node MCU ESP8266 ................................................................................... 8 2.2 App Blynk .................................................................................................................. 9 2.3 Google Assistant..................................................................................................... 9 2.4 Sự kết hợp của Blynk, Google assistant và bo MCU esp8266 ................................ 11 CHƯƠNG 3: THIẾT KẾ LẮP ĐẶT .............................................................................13 3.1 Lắp đặt phần cứng ................................................................................................ 13 3.2 Cài đặt phần mềm .................................................................................................... 13 3.2.1 Hướng dẫn cài đặt ESP8266 và kết nối với Blynk .......................................13 3.2.2 Cài đặt điều khiển thiết bị bằng giọng nói thông qua Google Assistant ...... 17 3.3 Kết quả thực hiện ..................................................................................................... 24 KẾT LUẬN ...................................................................................................................35 TÀI LIỆU THAM KHẢO .............................................................................................36 2 DANH MỤC CÁC TỪ VIẾT TẮT IFTTT: If This Then That Nếu việc này xảy ra thì thực hiện việc kia Applets HMI: Human Machine Interface Blynk Các tác vụ do người dùng tạo ra Giao diện người - máy Ứng dụng trên điện thoại thông minh 3 DANH MỤC HÌNH ẢNH Hình 2.1: Module NodeMCU 0.9 Hình 2.2: Chân chức năng của Node MCU Hình 2.3: Mô phỏng cách sử dụng Google Assistant Hình 2.4: Sơ đồ thể hiện sự kết hợp giữa Blynk, Google assistant và bo MCU esp8266 Hình 2.5: Nguyên lý hoạt động của mạch điều khiển thiết bị bằng giọng nói Hình 3.1: Sơ đồ mạch nguyên lý Hình 3.2: Thủ tục 1 để cập nhật phần mềm cho Arduino IDE Hình 3.3: Thủ tục 2 để cập nhật phần mềm cho Arduino IDE Hình 3.4: Thủ tục 3 để cập nhật phần mềm cho Arduino IDE Hình 3.5: Thủ tục tạo tài khoản trên Blynk Hình 3.6: Thủ tục tạo một dự án trên Blynk Hình 3.7: Thủ tục chèn một nút nhấn vào giao diện Hinh 3.8: Chọn chân Hình 3.9: Cấu trúc IFTTT Hình 3.10: Sự kết nối giữa google assistant và vi xử lý Hình 3.11: Chọn đăng nhập vào IFTTT Hình 3.12: Chọn tạo một applets mới Hình 3.13: Cách chọn thêm một câu lệnh Hình 3.14: Tìm kiếm và chọn Google assistant Hình 3.15: Chọn thêm một yêu cầu Hình 3.16: Tìm kiếm và chọn Webhook Hình 3.17: Mạch kết nối thực tế Hình 3.18: Điều khiển đèn dùng Blynk Hình 3.19: Bật đèn dùng giọng nói Hình 3.20: Tắt đèn dùng giọng nói Hình 3.21: Bật đèn dùng remote 4 nút Hình 3.22: Tắt đèn dùng remote 4 nút 4 THÔNG TIN KẾT QUẢ NGHIÊN CỨU ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG 1. Thông tin chung: - Tên đề tài: Điều khiển thiết bị bằng giọng nói - Mã số: TR:2020-29/KCN-SV - Chủ nhiệm đề tài: Võ Minh Hưng Điện thoại: 0969 297 924 Email: [email protected] - Đơn vị quản lý về chuyên môn: Khoa Công nghệ - Thời gian thực hiện: Từ tháng 9 năm 2020 đến tháng 1 năm 2021 2. Mục tiêu: Tạo ra thiết bị dùng để bật tắt các thiết bị điện trong gia đình bằng giọng nói. 3. Nội dung chính: Cài đặt ứng dụng Google Assistant lên điện thoại và ứng dụng dịch vụ web là IFTTT để thực hiện bặt tắt các thiết bị điện bằng giọng nói. 4. Kết quả chính đạt được (khoa học, đào tạo, kinh tế - xã hội, ứng dụng, ...) - Nghiên cứu thiết kế và thi công thiết bị bật tắt tự động bằng giọng nói để giúp con người tiết kiệm thời gian và tiện lợi hơn trong việc sử dụng các thiết bị gia đình. Thiết bị có một số ưu điểm sau: + Lắp ráp và bảo dưỡng dễ dàng. + Hoạt động êm, tốc độ cao và chính xác. + Có thể điều khiển từ xa bằng điện thoại. + Có thể di chuyển dễ dàng và điều khiển bất cứ khi nào cần sử dụng. + Giá thành thấp - Tạo môi trường học tập và nghiên cứu cho người học và giảm chi phí cho nhà trường. - Truyền cảm hứng cho những giảng viên và sinh viên ham tìm tòi, học hỏi có thể tự hợp tác để tạo ra sản phẩm của riêng mình. 5 CHƯƠNG 1: TỔNG QUAN 1.1 Tổng quan về lĩnh vực nghiên cứu Điều khiển thiết bị từ xa bằng RF, bluetooth, hồng ngoại…thì đã có từ trước, với wifi, smartphone android có khắp nơi thì người dùng đang ưa chuộng điều khiển thiết bị bằng giọng nói. Hiện nay đã có điều khiển thiết bị bằng giọng nói tiếng anh và tiếng việt nên rất tiện lợi cho người sử dụng. Song để thiết lập được việc mã hóa và gửi dữ liệu từ lời thoại người dùng đến bộ xử lý trung tâm, cần dùng một ứng dụng web trung gian là IFTTT. Do nhu cầu sử dụng ngày càng cao nên IFTTT hiện nay đã tính phí với phiên bản IFTTT Pro giá 39,99USD/năm. 1.2 Tính cấp thiết Qua tìm hiểu, thấy sự vận động và phát triển của con người ngày càng dần tiên tiến, sử dụng tự động hóa mọi thứ như trong công nghiệp chế biến, sản xuất đều sử dụng máy móc vận hành để tiết kiệm nhân công và thời gian làm việc. Nên trong sinh hoạt cũng cần tự động hóa để phục vụ đời sống con người. 1.3 Mục tiêu Nghiên cứu thiết kế và thi công thiết bị bật tắt tự động để giúp con người trong sinh hoạt tiết kiệm thời gian và sự tiện lợi của nó. Thiết bị bật tắt ba trong một có một số ưu điểm sau: + Lắp ráp và bảo dưỡng dễ dàng. + Hoạt động êm, tốc độ cao và chính xác. + Có thể điều khiển từ xa bằng điện thoại. + Có thể di chuyển dễ dàng và điều khiển bất cứ khi nào cần sử dụng. + Giá thành thấp 1.4 Cách tiếp cận Nắm bắt được những mong muốn của người dùng về giá thành và chất lượng sản phẩm của thiết bị bật tắt tự động, nhóm nghiên cứu quyết tâm làm ra sản phẩm là thiết bị bật tắt bằng giọng nói có những chức năng mong muốn mà giá thành lại giảm đáp ứng thị hiếu của người dùng. 1.5 Phương pháp nghiên cứu Giải pháp của nhóm sử dụng vận dụng các vật liệu có trong gia đình như: bóng đèn, dây điện và các bo mạch cần thiết. Tra cứu tài liệu, video liên quan đến nội dung đề tài. Thử nghiệm, sửa sai, hoàn thiện sản phẩm. 1.6 Đối tượng và phạm vi nghiên cứu - App Google Assistant trên điện thoại thông minh - Dịch vụ web IFTTT và những vấn đề liên quan. - NodeMCU ESP8266 và cách viết code cho nó theo yêu cầu của đề tài 6 1.7 Nội dung nghiên cứu Cài đặt ứng dụng Google Assistant lên điện thoại và ứng dụng dịch vụ web là IFTTT để thực hiện bặt tắt các thiết bị điện bằng giọng nói. Viết code cho Node MCU để mạch hoạt động đúng theo yêu cầu. 1.8 Kế hoạch thực hiện đề tài STT Nội dung công việc (1) (2) Tìm hiểu cách kết nối giữa Google Assistant với bo wifi Node MCU ESP8266 Thực thi trên dịch vụ web IFTTT để tạo ra các Applet Viết code cho vi xử lý Kết nối phần cứng Cài đặt ứng dụng Google Assistant lên Smart phone Hoàn thiện thiết bị Viết toàn văn đề tài 1 2 3 4 5 6 7 Kết quả đạt được (3) Thời gian bắt đầu, kết thúc (4) Sơ đồ và bản nguyên 9/2020 đến 10/2020 lý Tạo được 8 Applet 10/2020 đến 11/2020 Code đúng Bo mạch đúng Có phản hồi về từ Google Assistant Thiết bị vận hành tốt Cuốn báo cáo 11/2020 12/2020 12/2020 12/2021 12/2020 đến 1/2021 7 CHƯƠNG 2: GIỚI THIỆU CÁC THIẾT BỊ ĐƯỢC LỰA CHỌN 2.1 Module Node MCU ESP8266 ESP8266 là một mạch vi điều khiển có thể giúp chúng ta điều khiển các thiết bị điện tử. Điều đặc biệt của nó, đó là sự kết hợp của module Wifi tích hợp sẵn bên trong con vi điều khiển chính. Hiện nay, ESP8266 rất được giới nghiên cứu tự động hóa Việt Nam ưa chuộng vì giá thành cực kỳ rẻ (chỉ bằng một con Arduino Nano), nhưng lại được tích hợp sẵn Wifi, bộ nhớ flash 8Mb. Hình dạng của Module Node MCU ESP8266 như hình 2.1. Hình 2.1: Module NodeMCU 0.9 ESP8266 có nhiều phiên bản và được đóng gói theo nhiều cách khác nhau, tuy nhiên nó lại khá giống nhau về chức năng và khả năng lập trình. Trên thị trường phổ biến nhất hiện nay là ESP8266v1, ESP8266v7 và ESP8266v12. Trong giải pháp này, nhóm sẽ sử dụng mạch ESP8266v12 được đóng gói trong mạch NodeMCU 0.9. Các board khác sử dụng nhân ESP8266v12 hoặc v7 đều có thể chạy được, ví dụ như WeMos, Olimex, ESPino hay bất kỳ hãng nào sử dụng ESP8266v12 làm core chính. Mỗi hãng chỉ khác nhau cách đặt board và bố trí thứ tự chân. Sơ đồ các chân chức năng của Node MCU như hình 2.2 Hình 2.2: Chân chức năng của Node MCU 8 2.2 App Blynk Đây là một ứng dụng trên điện thoại thông minh, có thể: Điều khiển các thiết bị phần cứng từ xa Hiển thị dữ liệu cảm biến Lưu trữ dữ liệu Hoạt động của Blynk Có ba thành phần chính trong nền tảng: Blynk App - cho phép tạo giao diện cho sản phẩm của bạn bằng cách kéo thả các widget khác nhau mà nhà cung cấp đã thiết kế sẵn. Blynk Server - chịu trách nhiệm xử lý dữ liệu trung tâm giữa điện thoại, máy tính bảng và phần cứng. Bạn có thể sử dụng Blynk Cloud của Blynk cung cấp hoặc tự tạo máy chủ Blynk riêng của bạn. Vì đây là mã nguồn mở, nên bạn có thể dễ dàng intergrate vào các thiết bị và thậm chí có thể sử dụng Raspberry Pi làm server của bạn. Library Blynk – support cho hầu hết tất cả các nền tảng phần cứng phổ biến - cho phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và đi. Khi bạn nhấn một nút trong ứng dụng Blynk, yêu cầu sẽ chuyển đến server của Blynk, server sẽ kết nối đến phần cứng của bạn thông qua library. Tương tự thiết bị phần cứng sẽ truyền dữ liệu ngược lại đến server. Tính năng, đặc điểm - Cung cấp API & giao diện người dùng tương tự cho tất cả các thiết bị và phần cứng được hỗ trợ - Kết nối với server bằng cách sử dụng: Wifi, Bluetooth và BLE, Ethernet, USB (Serial), GSM - Các tiện ích trên giao diện được nhà cung cấp dễ sử dụng - Thao tác kéo thả trực tiếp giao diện mà không cần viết mã - Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng các cổng kết nối ảo được tích hợp trên blynk app - Theo dõi lịch sử dữ liệu - Thông tin liên lạc từ thiết bị đến thiết bị bằng Widget - Gửi email, tweet, thông báo realtime, v.v. 2.3 Google Assistant Hiểu một cách đơn giản thì Google Assistant chính là một trợ lý ảo của Google giống như Siri của Apple hay Bixby của Samsung. Assistant được coi như là phiên bản nâng cấp của Google Now, cho phép mở rộng khả năng điều khiển bằng giọng nói câu lệnh "OK Google". 9 Hình 2.3: Mô phỏng cách sử dụng Google Assistant Những tiện ích của Google Assistant Nếu như Google Now cho phép bạn thực hiện các lệnh thoại, tìm kiếm, điều khiển thiết bị cũng như gửi tin nhắn, kiểm tra các cuộc hẹn bằng giọng nói trên thiết bị Android, thì giờ đây Assistant kết hợp tất cả những điều này kết hợp thêm với công nghệ AI giúp khả năng tương tác đàm thoại của bạn trở nên tốt hơn. Với Google Assistant, bạn có thể dễ dàng xác định vị trí của mình khi lạc đường ở một thành phố xa lạ, hay đơn giản chỉ là tìm kiếm một địa điểm ăn uống vui chơi gần bạn nhất khi đi du lịch chỉ với một câu lệnh đơn giản như: "OK Google, tôi đang ở vị trí nào?", “Ok Google, nhà hàng (địa điểm vui chơi) nào gần vị trí tôi nhất?”. 10 Google Assistant thậm chí còn có thể trở thành một phiên dịch mọi lúc mọi nơi cho chuyến du lịch nước ngoài của bạn. Cách sử dụng cơ bản của Google Assistant Để sử dụng Google Assistant trên điện thoại, trước tiên thiết bị của bạn cần được cài đặt Google Assistant. Bạn có thể kiểm tra xem điện thoại của mình đã được cài đặt Assistant của Google chưa bằng cách nói “OK Google”, “Hey, Google” hoặc nhấn giữ nút home. Nếu trợ lý ảo của Google xuất hiện thì bạn có thể ngay lập tức thực hiện bất kỳ tìm kiếm nào mong muốn. Các bước thực hiện để sử dụng được Google Assistant Bước 1: Hãy đảm bảo ứng dụng Google của bạn đang ở phiên bản mới nhất. Sau đó bạn đăng nhập vào tài khoản Google của mình và chọn mục “Thêm” trong giao diện chính. Bước 2: Trong menu Cài đặt Google bạn nhấn vào Cài đặt rồi chọn Trợ lý Google. Trong menu Trợ lý Google, bạn hãy chọn Trợ lý -> Ngôn ngữ rồi chọn Tiếng Việt. Bước 3: Sau khi đã cài đặt tiếng Việt thành công cho trợ lý ảo bạn hãy bấm và giữ nút Home để mở hoặc nói OK, Google/Hey, Google để gọi trợ lý ảo Google “sống dậy”. Tiếp đó trợ lý ảo Google sẽ thay bạn các mở trình duyệt, gọi điện thoại, nhắn tin hoặc phát nhạc... chỉ bằng những câu lệnh đơn giản mà bạn đưa ra. 2.4 Sự kết hợp của Blynk, Google assistant và bo MCU esp8266 Sơ đồ kết hợp giữa các thành phần trên như hình 2.4. 11 Hình 2.4: Sơ đồ thể hiện sự kết hợp giữa Blynk, Google assistant và bo MCU esp8266 Nguyên lý hoạt động như hình 2.5. Hình 2.5: Nguyên lý hoạt động của mạch điều khiển thiết bị bằng giọng nói Khi người dung nói một câu lệnh (từ khóa) vào trợ lý ảo google trên điện thoại thông minh thì lập tức dữ liệu này được Google assistant xử lý và gửi về một câu phản hồi (lên điện thoại). Câu lệnh trên cũng được gửi tới webhook để thực thi một yêu cầu và ghi dữ liệu lên server Blynk. Chíp vi xử lý được kết nối với Server Blynk để lấy dữ liệu về và thực hiện điều khiển thiết bị. 12 CHƯƠNG 3: THIẾT KẾ LẮP ĐẶT 3.1 Lắp đặt phần cứng Hình 3.1: Sơ đồ mạch nguyên lý 3.2 Cài đặt phần mềm 3.2.1 Hướng dẫn cài đặt ESP8266 và kết nối với Blynk Cài đặt NodeMCU ESP8266 WIFI Khởi động Arduino IDE, click vào File trên thanh công cụ chọn Preferences. Hình 3.2: Thủ tục 1 để cập nhật phần mềm cho Arduino IDE Ở đây chúng ta phải chèn một đường Link để Arduino IDE có thể nhận Board. Copy dòng: http://arduino.esp8266.com/stable/package_esp8266com_index.json Bỏ đường Link vào ô được tô vàng và nhấn OK. 13 Hình 3.3: Thủ tục 2 để cập nhật phần mềm cho Arduino IDE Tiếp theo, ta vào Tools > Board > Boards Manager Cửa sổ mở lên ta Seach Esp8266 để tải danh mục của các Board về. Nhấn Install để tiến hành cài đặt. 14 Hình 3.4: Thủ tục 3 để cập nhật phần mềm cho Arduino IDE Tải thư viện Blynk cho Arduino Để quá trình nạp không bị báo lỗi chúng ta cần phải cài đặt thư viện cho Arduino IDE. Hướng dẫn Bật / Tắt LED trên App Blynk Tải App Blynk Để tải ứng dụng Blynk trên điện thoại, chúng ta vào ChPlay (với điện thoại Androi) và App Store (đối với điện thoại IOS) Tạo tài khoản Blynk Để có thể sử dụng App Blynk chúng ta cần phải đăng ký một tài khoản mới. Ở đây có 2 cách đăng ký bằng Facebook hoặc tạo một tài khoản mới (Create New Account). Mình sẽ hướng dẫn bằng cách đăng ký bằng Account. Hình 3.5: Thủ tục tạo tài khoản trên Blynk 15 Nhập thông tin tài khoản Gmail của các bạn. Rồi nhấn Sign Up để tiến hành đăng ký. Sau khi đăng ký hoàn thành, chúng ta sẽ tiến hành tạo một Project mới. Ví dụ: tạo một dự án Bật/Tắt LED trên Blynk. Các bạn Click vào dấu cộng (+) trên thanh công cụ để tiến hành tạo Project mới. Click vào Create để hoàn tất việc tạo mới. Hình 3.6: Thủ tục tạo một dự án trên Blynk Blynk sẽ cấp cho các bạn một mã Token, mã này sẽ gửi trực tiếp vào gmail mà lúc đầu người dùng đăng ký. Mã Token này dùng để chèn vào code nạp cho vi xử lý. Để Bật/Tắt Led chúng ta cần có một nút bấm để điều khiển. Vào Widget Box (+) > Click vào Button để lấy nút nhấn ra. Hình 3.7: Thủ tục chèn một nút nhấn vào giao diện Click vào Button để tiến hành cài đặt thông số. 16      Ở mục Button: Đặt tên cho nút nhấn. OUTPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Digital > gp16 (chân này có LED được tích hợp trên board mạch sẵn). MODE: có 2 chế độ PUSH (nhấn thả) và SWITCH (nhấn giữ). ON/OFF LABELS: Thay đổi chế đọ hiển thị cho nút nhấn (Vd: Các bạn không thích để ON/OFF có thể thay bằng BẬT/TẮT hoặc một cái tên nào mà bạn muốn). DESIGN: Ở phần này các bạn có thể điều chỉnh màu sắc của nút nhấn. Hình 3.8: Chọn chân Như vậy là đã hoàn thành phần cài đặt và tạo một giao diện trên Blynk. 3.2.2 Cài đặt điều khiển thiết bị bằng giọng nói thông qua Google Assistant Đăng nhập và kết nối với IFTTT Việc kết nối và điều khiển các thiết bị từ ESP8266 với Blynk thật sự dễ dàng. Để Blynk hiểu được những câu lệnh như bật đèn, tắt đèn… để truyền đến NodeMCU ESP8266 và thực thi hành động thì dùng trang Web làm trung gian là IFTTT. IFTTT là IF This Then That: Nếu có điều này thì thực thi lệnh kia. Chẳng hạn: nếu nghe được câu lệnh “Bật thiết bị 1” thì cập nhật trạng thái V1 là mức “0” để bật thiết bị 1 như hình sau đây. 17 Hình 3.9: Cấu trúc IFTTT Vậy chúng ta sẽ hiện thực hóa cách điều khiển này. Hình 3.10: Sự kết nối giữa google assistant và vi xử lý Bước đầu tiên, chúng ta đăng nhập vào Web IFTTT để đăng ký tài khoản. Có thể đăng ký bằng một tài khoản bất kỳ hoặc đăng nhập bằng tài khoản Google hoặc tài khoản Facebook bằng cách chọn vào nút tương ứng như hình 3.11. Hình 3.11: Chọn đăng nhập vào IFTTT Sau khi đăng nhập thành công các bạn Click vào Create để tạo một applets (hỗ trợ) mới. 18
- Xem thêm -

Tài liệu liên quan