Đồ án HCMUTE: Xây dựng ứng dụng điều khiển IoT bằng giọng nói

Đồ án kỹ thuật nghiên cứu hcmute xây dựng ứng dụng điều khiển iots bằng giọng nói, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả thi dự án.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2019

82
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. Phần 1: MỞ ĐẦU

1.1. TỔNG QUAN - TÍNH CẤP THIẾT CỦA ĐỀ TÀI

1.2. MỤC ĐÍCH CỦA ĐỀ TÀI

1.3. PHẠM VI NGHIÊN CỨU

2. Phần 2: NỘI DUNG

2.1. TÌM HIỂU VỀ DIALOGFLOW

2.2. INTERNET OF THINGS (IOTS) LÀ GÌ?

2.3. LẬP TRÌNH ANDROID LÀ GÌ?

2.3.1. Những ngôn ngữ để lập trình ứng dụng android

2.4. THIẾT BỊ PHẦN CỨNG

3. Chương 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

3.1. KHẢO SÁT HIỆN TRẠNG

3.2. XÁC ĐỊNH YÊU CẦU

3.2.1. Yêu cầu chức năng

3.2.2. Yêu cầu chức năng nghiệp vụ

3.2.3. Yêu cầu chức năng hệ thống

3.2.4. Yêu cầu phi chức năng

4. Chương 3: PHÂN TÍCH VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU

4.1. NHẬN DIỆN TÁC NHÂN VÀ CHỨC NĂNG TRONG SỞ ĐỒ USE CASE

4.2. ĐẶC TẢ USE CASE

4.3. CHI TIẾT CÁC BẢNG DỮ LIỆU

5. Chương 4: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ

5.1. THIẾT KẾ GIAO DIỆN

5.2. Danh sách các màn hình và sơ đồ chuyển đổi

5.3. Mô tả chi tiết các màn hình

5.3.1. Màn hình Chờ

5.3.2. Màn hình Đăng nhập

5.3.3. Màn hình Trang chủ

5.3.4. Màn hình Setting

5.3.5. Màn hình Xem tất cả devices

5.3.6. Màn hình Switch Activity

5.3.7. Màn hình Xem tất cả các Switch

5.4. LƯỢC ĐỒ SEQUENCE DIAGRAM

5.4.1. Sequence Diagram cho Use case màn hình chờ

5.4.2. Sequence Diagram cho Use case màn hình đăng nhập

5.4.3. Sequence Diagram cho Use case màn hình load device

5.4.4. Sequence Diagram cho Use case màn hình điều khiển bật tắt

5.4.5. Sequence Diagram cho Use case màn hình điều khiển bằng giọng nói

6. Chương 5: CÀI ĐẶT - KIỂM THỬ

6.1. CÀI ĐẶT PHẦN MỀM

6.2. KIỂM THỬ PHẦN MỀM

6.2.1. Danh sách TestCase cho module Login

6.2.2. Danh sách TestCase cho module Trang Chủ

6.2.3. Danh sách TestCase cho module Switch

6.2.4. Danh sách TestCase cho module Xem tất cả các switch

7. Phần 3: KẾT LUẬN

7.1. KẾT QUẢ ĐẠT ĐƯỢC

7.2. CHƯA LÀM ĐƯỢC

7.3. HƯỚNG PHÁT TRIỂN ĐỀ TÀI

DANH MỤC TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu về ứng dụng điều khiển IoT bằng giọng nói tại HCMUTE

Khóa luận tốt nghiệp "Xây dựng ứng dụng điều khiển thiết bị IoTs bằng giọng nói" của sinh viên HCMUTE, Huỳnh Văn Khen (MSSV: 15110234) và Đặng Trương Duy Quang (MSSV: 15110290), hướng dẫn bởi ThS. Nguyễn Hữu Trung, tập trung vào việc phát triển một ứng dụng điều khiển IoT bằng giọng nói. Ứng dụng này cho phép người dùng điều khiển các thiết bị gia dụng thông minh bằng lệnh giọng nói, mang lại sự tiện lợi và hiện đại cho người dùng. Nghiên cứu này nằm trong xu hướng xu hướng IoTứng dụng IoT trong cuộc sống, giải quyết bài toán IoT về tự động hóa nhà cửa. Ứng dụng điều khiển IoT bằng giọng nói được xây dựng dựa trên nền tảng Internet vạn vật và tích hợp với các trợ lý ảo như Google Assistant hoặc tương tự.

1.1 Mục đích và phạm vi nghiên cứu

Khóa luận nhằm mục đích xây dựng một ứng dụng Android (và có tiềm năng mở rộng sang iOS) cho phép điều khiển thiết bị bằng giọng nói. Ứng dụng này sử dụng công nghệ cảm biến IoT để thu thập dữ liệu từ các thiết bị, thu thập dữ liệu IoTphân tích dữ liệu IoT. Phần mềm được phát triển dựa trên nền tảng nền tảng IoT với các thư viện và API cần thiết. Phạm vi nghiên cứu bao gồm thiết kế, phát triển và kiểm thử ứng dụng, tập trung vào việc tích hợp Dialogflow để nhận diện giọng nói và xử lý ngôn ngữ tự nhiên. Ứng dụng kết nối với các thiết bị IoT thông qua giao thức thích hợp. An ninh mạng và an toàn IoT cũng được xem xét trong quá trình phát triển. Nghiên cứu tập trung vào ứng dụng di động IoT và cụ thể là ứng dụng Android IoT. Kiến trúc IoT được áp dụng trong thiết kế hệ thống, với trọng tâm là điều khiển từ xa IoT.

1.2 Công nghệ và phương pháp

Ứng dụng được xây dựng bằng ngôn ngữ lập trình IoT (C#, Java), sử dụng Android StudioVisual Studio làm môi trường phát triển. Google API được tích hợp để xử lý yêu cầu từ người dùng và điều khiển thiết bị. Dialogflow được sử dụng cho việc nhận diện giọng nói và xử lý ngôn ngữ tự nhiên, cho phép người dùng ra lệnh bằng giọng nói. Ứng dụng sử dụng cơ sở dữ liệu SQL Server để lưu trữ dữ liệu. Các thiết bị IoT được sử dụng trong quá trình thực nghiệm. Hướng dẫn lập trình IoT và tài liệu liên quan được tham khảo để hoàn thiện ứng dụng. Mô hình IoT được sử dụng làm cơ sở cho việc thiết kế và triển khai. Thực tiễn đào tạo HCMUTE về lập trình di động và IoT đóng vai trò quan trọng trong quá trình thực hiện. Việc chọn ngôn ngữ lập trình ứng dụng Android và các thư viện phụ trợ được cân nhắc kỹ lưỡng để đảm bảo hiệu quả và tính khả thi của dự án. Khóa luận cũng đề cập đến bài viết về IoThệ thống điều khiển nhà thông minh.

II. Phân tích và đánh giá ứng dụng

Ứng dụng này cung cấp giải pháp điều khiển nhà thông minh bằng giọng nói, một tiện ích đáng kể trong bối cảnh ứng dụng IoT trong giáo dục, ứng dụng IoT trong y tế, ứng dụng IoT trong nông nghiệpứng dụng IoT trong công nghiệp. Việc sử dụng Amazon Alexa, Siri, hoặc các trợ lý ảo khác có thể được xem xét trong tương lai để mở rộng tính năng. Tuy nhiên, khóa luận tập trung vào Google Assistant. Khóa luận đã trình bày rõ ràng quá trình thiết kế, phát triển và kiểm thử, cung cấp tài liệu tham khảo hữu ích cho các nghiên cứu tương tự. Thách thức IoT và các vấn đề về an ninh mạng IoT cần được nghiên cứu thêm để hoàn thiện ứng dụng.

2.1 Ưu điểm và hạn chế

Ứng dụng mang lại sự tiện lợi cho người dùng thông qua điều khiển thiết bị bằng giọng nói. Khả năng tương thích với nhiều thiết bị và khả năng mở rộng là những điểm mạnh. Tuy nhiên, ứng dụng vẫn còn một số hạn chế như độ chính xác của nhận diện giọng nói có thể bị ảnh hưởng bởi môi trường ồn ào, và tính năng còn chưa đa dạng. Việc tích hợp với nhiều nền tảng trợ lý ảo khác nhau có thể là hướng phát triển trong tương lai. Tương lai của IoTtương lai của ứng dụng IoT trong giáo dục, ứng dụng IoT trong y tế, ứng dụng IoT trong nông nghiệpứng dụng IoT trong công nghiệp sẽ phụ thuộc vào việc giải quyết những hạn chế này. Hệ thống điều khiển nhà thông minh là một ứng dụng quan trọng của công nghệ này.

2.2 Giá trị và ứng dụng thực tiễn

Ứng dụng có giá trị thực tiễn cao, góp phần tự động hóa các thiết bị gia dụng. Ứng dụng này có thể được áp dụng rộng rãi trong các hộ gia đình, văn phòng, và các tòa nhà thông minh. Việc nghiên cứu và phát triển các ứng dụng IoT như thế này đóng góp vào sự phát triển của công nghệ IoT và cải thiện chất lượng sống. Dự án IoT HCMUTE này là một ví dụ điển hình về việc ứng dụng công nghệ tiên tiến vào giải quyết các vấn đề thực tiễn. Ứng dụng iOS IoT có thể được phát triển dựa trên nền tảng của ứng dụng này. Khóa luận cho thấy sự thành công của việc kết hợp kiến thức lý thuyết với thực hành, đặc biệt là trong môi trường thực tiễn đào tạo HCMUTE. Học viện kỹ thuật HCMUTE đóng góp vai trò quan trọng trong việc đào tạo nguồn nhân lực cho lĩnh vực này.

01/02/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU I. TỔNG QUAN - TÍNH CẤP THIẾT CỦA ĐỀ TÀI Ngày nay với sự phát triển không ngừng của khoa học và công nghệ với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết bị với đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết cho hoạt động của con người đạt hiệu quả cao. Một trong những ứng dụng quan trọng trong công nghệ điện tử là kỹ thuật điều khiển từ xa.

Nó đã góp phần rất lớn trong việc điều khiển các thiết bị từ xa hay những thiết bị mà con người không thể trực tiếp chạm vào để vận hành điều khiển. Nhà thông minh là một ứng dụng trong số các ứng dụng của IoT. Nhà thông minh (tiếng Anh: home automation, smart home hoặc Intellihome) là kiểu nhà được lắp đặt các thiết bị điện, điện tử có tác dụng tự động hoá hoàn toàn hoặc bán tự động, thay thế con người trong thực hiện một hoặc một số thao tác quản lý, điều khiển. Hệ thống điện tử này giao tiếp với chủ nhân nhà thông qua bảng điện tử đặt trong nhà, phần mềm điện thoại di động, máy tính bảng hoặc một giao diện web.

Trong căn nhà thông minh, đồ dùng trong nhà từ phòng ngủ, phòng khách đến toilet đều gắn các bộ điều khiển điện tử có thể kết nối với Internet và điện thoại di động, cho phép chủ nhân điều khiển vật dụng từ xa hoặc lập trình cho thiết bị ở nhà hoạt động theo lịch. Nhà thông minh ngoài ra còn có một số ứng dụng sáng tạo hơn, gồm hệ thống điều khiển giải trí tại gia – loa công suất khác nhau, hệ thống điện thoại, liên lạc nội bộ, hệ thống tưới nước. Các thành phần của hệ thống nhà thông minh bao gồm các cảm biến (như cảm biến nhiệt độ, cảm biến ánh sáng hoặc do cử chỉ), các bộ điều khiển hoặc máy chủ và các thiết bị chấp hành khác. Nhờ hệ thống cảm biến, các bộ điều khiển và máy chủ có thể theo dõi các trạng thái bên trong ngồi nhà để đưa ra các quyết định điều khiển các thiết bị chấp hành một cách phù hợp nhằm đảm bảo môi trường sống tốt nhất cho con người.

do an Ngoài ra, cùng với sự phát triển của các thiết bị điện tử cá nhân như máy tính bảng và điện thoại thông minh, các hệ thống nhà thông minh còn cung cấp khả năng tương tác với người sử dụng thông qua các thiết bị điện tử cá nhân cho phép con người có thể giám sát và điều khiển ngôi nhà từ bất cứ đâu. Hiện nay, trong lĩnh vực nhà thông minh, các kỹ sư vẫn đang tiếp tục sáng tạo để tạo ra nhiều tiện ích hơn nữa cho ngôi nhà cũng như tối ưu hoá về việc triển khai lắp đặt một ngôi nhà thông minh. Trong tương lai, ngôi nhà thông minh có thể có khả năng "tư duy" để tự điều chỉnh các thiết bị một cách phù hợp và còn có khả năng giao tiếp với con người như trong các bộ phim viễn tưởng. Với sự phát triển vũ bảo của công nghệ thông tin, Internet, cùng với việc chi phí cho hệ thống nhà thông minh đã giảm xuống cùng với nhu cầu ngày càng cao của con người, hiện nay nhà thông minh được xem là một lĩnh vực có dư địa phát triển rất lớn.

Theo hãng ABI Research,năm 2012 đã có hơn 1,5 triệu hệ thống nhà thông minh đã được lắp đặt ở Mỹ và dự kiến, con số này sẽ tăng đến 8 triệu vào năm 2017. Trong tương lai không xa, có thể hi vọng nhà thông minh sẽ là một xu hướng mới cho cuộc sống của con người hiện đại. MỤC ĐÍCH CỦA ĐỀ TÀI Đây là một đề tài khá rộng và có rất nhiều ứng dụng vào trong thực tế cuộc sống nhưng ở đây, nhóm chúng em sẽ tập trung vào nghiên cứu và phát triển một ứng dụng trên hệ điều hành Android (sẽ mở rộng sang IOS) với nhiệm vụ là điều khiển các thiết bị trong nhà thông qua giọng nói. YÊU CẦU Chuyên môn: nắm vững kiến thức lập trình về Android, xây dựng được một hệ cơ sở dữ liệu cơ bản để lưu trữ thông tin của thiết bị.

Nắm vững và sử dụng được khi gọi API trên Google và cách để gọi API vào trong ứng dụng. Nắm được cơ bản về Embedded System (C++), có thể nạp code vào trong các thiết bị phần cứng. Kĩ năng mềm: Có kĩ năng làm việc nhóm tốt, kĩ năng lên kế hoạch và quản lý dự án. Có khả năng đọc hiểu tài liệu tiếng Anh.

do an IV. PHẠM VI NGHIÊN CỨU Sau khi tìm hiểu thông tin về đề tài, cùng với những hiểu biết sẵn có và tìm kiếm thông tin liên quan, chúng tôi xác định các đối tượng cần nghiên cứu là: - Api.ai (Dialogflow): khái niệm về api.ai, các đặc điểm, liên kết, cách thức hoạt động - Hệ điều hành Android: kiến trúc hệ điều hành Android, chu kỳ sống các ứng dụng chạy trên hệ điều hành Android, phần mềm hỗ trợ lập trình Android Studio, ngôn ngữ lập trình Java; Viết phần mềm ứng dụng. - Ngôn ngữ C#: phần mềm hỗ trợ lập trình Visual Studio, kiến thức về web api, web server. do an Phần 2: NỘI DUNG CHƯƠNG 1.

TÌM HIỂU VỀ DIALOGFLOW 1. Dialogflow là gì? Dialogflow được đổi tên từ Api.ai sau khi được Google mua lại vào tháng 9 năm 2016. Tiền thân là một công ty nổi tiếng với trợ lý ảo Speaktoit. Dialogflow (tiền thân là API.AI) là một dịch vụ do Google cung cấp nhằm giúp các lập trình viên dễ dàng hơn khi lập trình các sản phẩm có giao tiếp giữa người dùng với sản phẩm thông qua các đoạn hội thoại bằng văn bản (text) hoặc giọng nói (voice).

Dialogflow hiện tại là miễn phí cho tất cả mọi người. Dialogflow cho phép bạn tạo ra các kịch bản một cách dễ dàng kèm theo đó là Dialogflow cũng được phát triển trên mền Machine Learning nên bạn hoàn toàn có thể dạy cho con Bot của bạn biết cách xử lý các trường hợp, ngữ cảnh khác nhau. Hình 1- 1: Minh họa Dialogflow Dialogflow hiện có sẵn các kịch bản và Dialogflow cũng được dạy khá tốt với lượng dữ liệu khá đồ sộ. Chỉ tiết là đa phần Dialogflow làm việc tốt hơn với Tiếng Anh và một số tiếng của các nước đông dân khác.

1 do an Ngoài ra Dialogflow còn cho phép bạn liên kết Chatbot của bạn với Messanger hay Skype hay Slack… một cách rất đơn giản. Hình 1- 2: Các ứng dụng có thể sử dụng Dialogflow INTENT là một tập những gì người dùng nói mà chúng có cùng một ý nghĩa. ENTITIES là những công cụ được sử dụng để trích xuất các giá trị của tham số từ ngôn ngữ tự nhiên. Bất kỳ những gì mà bạn muốn biết từ nội dung của người dùng đều sẽ có một ENTITY tương ứng.

AGENT là khái niệm được dùng để đại diện cho một mô-đun (module) NLU (Natural Language Understanding – Phân tích để hiểu ngôn ngữ tự nhiên). AGENT giúp bạn phân tích những những gì người dùng đưa vào (text hoặc voice) để chuyển thành những dữ liệu mà bạn có thể xử lý được bằng lập trình. Bạn sẽ sử dụng một AGENT để quản lý các đoạn hội thoại thông qua INTENTS, ENTITIES 1. Bot là gì? Bot là một ứng dụng thô sơ và trực quan nhất của trí tuệ nhân tạo (AI).

Bot là kết quả của một hay nhiều kịch bản đã được viết sẳn kèm với một ít Máy Học (Machine Learning). Mục đích của Bot là trả lời các câu hỏi và đưa ra các gợi ý sao cho tự nhiên nhất có thể và chính sác nhất nếu được. 2 do an Hình 1- 3: Minh họa Chatbot Bạn có thể hình dung Bot như là Siri của Apple hay Cortana của Microsoft. Bot có ngày càng thông minh hay không phụ thuộc vào ít nhất 2 yếu tố cấu thành nên bộ não của nó đó là:  Kịch bản dựng sẵn  Khả năng học hỏi 3 do an 1.

Tạo Chatbot với Dialogflow Việc đầu tiên cần làm đó chính là tạo tài khoản. Bạn hãy truy cập vào trang Dialogflow và đăng ký một tải khoản (có thể sử dụng Google account). Sau khi đăng ký xong và đăng nhập vào Dialogflow, giao diện sẽ như sau. Hình 1- 4: Giao diện khi đăng nhập vào Dialogflow Tiếp theo đây sẽ là cách để tạo một Intent Trước tiên ta sẽ tìm hiểu rõ hơn về Intent và các thành phần của nó.

Một Intent sẽ phân loại ý định của end-user cho 1 lượt trò chuyện. Đối với mỗi Agent, ta có thể xác định nhiều Intent trong đó các Intent kết hợp có thể giúp xử lý một đoạn hội thoại hoàn chỉnh. Khi end-user viết hoặc nói một điều gì đó, được gọi là biểu thức người dùng cuối, Dialogflow sẽ nối những biểu thức người dùng khớp với intent có nội dung tốt nhất trong Agent của mình. 4 do an Hình 1- 5: Ví dụ về một Intent Training phrases: là những cụm từ ví dụ mà end-user có thể nói.

Khi người dùng thể hiện giống với một trong số những cụm từ này, Dialogflow sẽ so sánh nó với intent. Ta không cần phải định nghĩa chi tiết từng ví dụ vì Dialogflow được xây dựng dựa trên Machine Learning giúp mở rộng danh sách các cụm từ mà ta sử dụng. Action: Ta có thể định nghĩa một hành động cho mỗi intent. Khi một intent trùng khớp, Dialogflow sẽ cung cấp một hành động cho hệ thống của bạn và bạn có thể sử dụng hành động để kích hoạt những hành động cụ thể trên hệ thống của bạn.

Parameters: khi một intent trùng khớp ở runtime, Dialogflow cung cấp một giá trị từ biểu thức người dùng như là một parameter. Mỗi parameter có một kiểu gọi là entity, định rõ kiểu dữ liệu mà nó lưu trữ. Parameter giúp cấu trúc lại data để có thể dễ dàng sử dụng để thực hiện logic và tạo phản hồi. Responses: Ta xác định văn bản, giọng nói, phản hồi trực quan để trả về end-user.

Điều này có thể cung cấp cho end-user những câu trả lời, hỏi người dùng thông tin hoặc ngắt một cuộc hội thoại. 5 do an Hình 1- 6: Agent có thể quản lý nhiều Intent Contexts: Dialogflow contexts tương tự như bối cảnh ngôn ngữ tự nhiên. Nếu một người nói “they are orange”, ta cần ngữ cảnh để có thể hiểu được người đó đang đề cập đến điều gì. Tương tự, Để Dialogflow xử lý biểu thức người dùng như vậy, nó cần được cung cấp ngữ cảnh để có thể kết nối với intent.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Ứng dụng điều khiển IoT bằng giọng nói tại HCMUTE" giới thiệu về một dự án sáng tạo tại HCMUTE, nơi mà công nghệ Internet of Things (IoT) được kết hợp với khả năng nhận diện giọng nói để điều khiển các thiết bị thông minh. Dự án này không chỉ mang lại sự tiện lợi cho người dùng mà còn mở ra nhiều cơ hội nghiên cứu và phát triển trong lĩnh vực công nghệ thông tin. Độc giả sẽ tìm thấy những lợi ích thiết thực từ việc áp dụng công nghệ này trong cuộc sống hàng ngày, cũng như tiềm năng của nó trong việc cải thiện hiệu suất làm việc và tiết kiệm thời gian.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng công nghệ tương tự, hãy khám phá bài viết Đồ án hcmute điều khiển robot bằng giọng nói, nơi mà giọng nói cũng được sử dụng để điều khiển robot, hoặc tìm hiểu về Hcmute ứng dụng xử lý ảnh trong hệ thống tiện nghi trên ô tô, một ứng dụng khác của công nghệ thông minh trong ngành ô tô. Ngoài ra, bạn có thể tham khảo Hcmute ứng dụng kỹ thuật logic mờ xếp hạng tín nhiệm doanh nghiệp để hiểu thêm về cách công nghệ có thể hỗ trợ trong việc đánh giá và xếp hạng doanh nghiệp. Những bài viết này sẽ giúp bạn mở rộng kiến thức và cái nhìn sâu sắc hơn về các ứng dụng công nghệ hiện đại.