Ngày nay với sự phát triển vượt bậc của các thiết bị điện tử, kỹ thuật ghép nối với máy tính đang được áp dụng ngày càng nhiều đem lại hữu ích cho cuộc sống. Máy tính được sử dụng trong các nhà máy, xí nghiệp trong các dây truyền sản xuất, trong các thiết kế nhà thông minh. Các thiết bị, hệ thống đo lường ghép nối với máy tính có độ chính xác cao. Bằng những gì đã học được trên lớp, với sự đam mê về sáng tạo và nhu cầu thiết yếu trong cuộc sống và đặc biệt cùng với sự chỉ dẫn tận tình của thầy Hoàng Văn Mạnh, chúng em quyết định làm đề tài Ổ cắm thông minh tích hợp điều khiển từ xa bằng smartphone.
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CƠ HỌC KỸ THUẬT VÀ TỰ ĐỘNG HOÁ - - BÁO CÁO THỰC HÀNH MÔN ỨNG DỤNG MÁY TÍNH TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂN THIẾT BỊ Ổ CẮM THƠNG MINH TÍCH ĐIỀU KHIỂN TỪ XA BẰNG MARTPHONE Hà Nội, năm 2021 GVHD Hoàng Văn Mạnh MỤC LỤC LỜI MỞ ĐẦU TÓM TẮT BÁO CÁO THỰC HÀNH GIỚI THIỆU .6 1.1 Tổng quan 1.2 Nhiệm vụ đề tài 1.3 Phân chia cơng việc nhóm .6 THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG 2.1 Mạch điện tử .7 2.2 Ổ cắm 12 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 13 3.1 Các phần mềm sử dụng 13 3.2 Ứng dụng Mobile Smart Controller 14 3.3 Giới thiệu server Firebase – Firebase Realtime Database 16 3.4 Giới thiệu Trợ lý ảo Google Assistant .17 KẾT QUẢ THỰC HIỆN 22 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 23 5.1 Kết luận .23 5.2 Hướng phát triển .24 GVHD Hoàng Văn Mạnh LỜI MỞ ĐẦU Lời đầu tiên, em xin gửi lời cảm ơn sâu sắc tới th ầy cô Khoa C học kỹ thuật tự động hoá đặc biệt thầy Hoàng Văn Mạnh, tr ường Đại h ọc Công nghệ - ĐHQGHN giúp đỡ, tạo điều kiện em b ạn sinh viên suốt trình học trình thực tập vừa qua Khi ngồi giảng đường, em tự nhận thấy thân chưa tiếp thu hết kiến thức học phần chương trình đào tạo, có lúc chán nản nhiều lần cho chọn sai nghề sau th ầy Mạnh hướng dẫn, chúng em có nhìn rõ ràng, bao quát h ơn v ới ngành điện tử nói chung mơn ứng dụng máy tính đo lường ều ển nói riêng Chúng em biết làm việc nhóm nhau, h ọc h ỏi, nghiên cứu cách thức hoạt động hệ th ống mạch điện thông minh, cách th ức hoạt động ứng dụng điện thoại thứ khơng thể thi ếu server Trong q trình tìm hiểu, có s ố phần ch ưa th ể hi ểu đ ược luôn, chúng em liên hệ với số bạn khác nh b ạn hướng d ẫn đ ể hoàn thành thực hành thật tốt Bên cạnh đó, em học thêm ki ến th ức m ới kinh nghiệm thực tế mà em chưa tiếp xúc qua lý thuyết Thời gian thực hành hạn chế nên nhiều kiến thức chúng em chưa thể trau dồi khó tránh khỏi thi ếu sót, em r ất mong nhận góp ý thầy để chúng em nhận sai sót, nâng cao kiến thức có thêm động lực để tiếp tục với đường chọn Em xin chân thành cảm ơn! Hà Nội, ngày 12 tháng 12 năm 2020 Sinh viên Nguyễn Như Thạo GVHD Hồng Văn Mạnh TĨM TẮT BÁO CÁO THỰC HÀNH Báo cáo thực hành sản phẩm thiết bị ổ cắm thơng minh tích điều khiển từ xa martphone Nội dung báo cáo bao gồm: Giới thiệu sản phẩm Cấu tạo phần cứng sản phẩm Cấu tạo phần mềm sản phẩm Giới thiệu server Firebase Giới thiệu trợ lý ảo Google Assistant cách thức làm việc Nguyên lý làm việc thiết bị ổ cắm thơng minh tích hợp điều khiển từ xa Kết luận hướng phát triển nhóm GVHD Hồng Văn Mạnh GIỚI THIỆU 1.1 Tổng quan Ngày với phát triển vượt bậc thiết bị điện tử, kỹ thuật ghép nối với máy tính áp dụng ngày nhiều đem lại hữu ích cho sống Máy tính sử dụng nhà máy, xí nghiệp dây truyền sản xuất, thiết kế nhà thông minh Các thiết bị, hệ thống đo lường ghép nối với máy tính có độ xác cao Bằng học lớp, với đam mê sáng tạo nhu cầu thiết yếu sống đặc biệt với dẫn tận tình thầy Hồng Văn Mạnh, chúng em định làm đề tài Ổ cắm thông minh tích hợp điều khiển từ xa smartphone 1.2 Nhiệm vụ đề tài Ôn lại kiến thức, cách thức sử dụng linh kiện điện tử như: điện trở, tụ điện, diot, Tìm hiểu thêm cách thức hoạt động Rơ le b ộ chuy ển đổi điện áp AC 220v sang điện áp DC 5v Tìm hiểu cách vẽ mạch điện tử qua ứng dụng EasyEDA in mạch, hàn mạch thực tế Tìm hiểu cách thức hoạt động chip ESP12E với thi ết bị ện tử server Firebase Tìm hiểu server Firebase, trợ lý ảo Google Assistant Lập trình cho chip ESP12E ngơn ngữ C++ Tìm hiểu lập trình ứng dụng Android ngơn ngữ Java Tìm hiểu vẽ 3d để thiết kế phần cứng ổ cắm 1.3 Phân chia cơng việc nhóm Để hồn thành sản phẩm đáp ứng đầy đủ yêu cầu môn học đề ra, nhhóm chúng em phân chia cơng việc theo mạnh thành viên nhóm sau: Nguyễn Thanh Tùng: Thiết kế mạch, lập trình cho chip, xử lí liệu đưa lên Firebase trợ lý ảo Google Assistant Nguyễn Như Thạo: Thiết kế giao diện App Android, xử lí liệu Firebasse thơng qua App, làm báo cáo Nguyễn Bá Nhật: Tìm hiểu vẽ 3d để thiết kế phần cứng ổ cắm THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG 2.1 Mạch điện tử ESP12E HILINK 5V – 5W GVHD Hồng Văn Mạnh AMS1117 chíp dán USB - TTL Transistor NPN BC547 Diode 1n4007 T ụ dán không phân c ực 0805 10uF GVHD Hoàng Văn Mạnh Tụ dán tantanum 10uF Đi ện tr dán 12k, 10k, 1k 0805 Songle Relay SRD-05VDC-SL-C Nút nhấn kích thước 5x5 mm Screw Đèn led 3.3V GVHD Hoàng Văn Mạnh Sơ đồ cấu tạo mạch Giải thích cấu tạo mạch: - KHỐI NGUỒN: + Cung cấp nguồn 220V AC thông qua Srew T1 + Nguồn 220V AC sau qua module HILINK 5V chuyển sang 5V DC + Điện áp 5V sau qua chip AMS1117 chuyển thành 3.3V cung cấp nguồn cho ESP12E GVHD Hoàng Văn Mạnh + Các tụ điện C1, C2 có tác dụng lọc nhiễu cho nguồn - KHỐi FLASH: + Sử dụng chân cắm cho thiết bị FTDI giúp mạch dễ dàng kết nối với mạch nạp USB – TTL bên - KHỐI VI ĐIỀU KHIỂN: + Sử dụng module ESP - 12E kết nối với wifi nhằm nhận xử lý liệu database, đưa tín hiệu output phù hợp với yêu cầu người dùng Ngồi ra, module xử lý tín hiệu input để chuyển mạch chế độ manual (sẽ giải thích cụ thể phần sau) + ESP 12e boot up chế độ bảng đây, sử dụng mode Programming mode Flash start-up + Như thấy bảng đây, boot – up, chân GPIO chân EN phải mức HIGH, chân GPIO15 LOW + Điện trở pull-up 12k chân EN GPIO điện trở pull-down chân GPIO 15 nhằm tránh trường hợp đoản mạch + Chân RESET GPIO0 trạng thái bình thường có mức logic HIGH có trạng thái LOW sử dụng nút bấm + Để flash cho chip, ta thức bước sau đây: Nhấn giữ nút RESET nút FLASH Nhả nút RESET giữ nút FLASH Điều tương đương với việc bật nguồn chân GPIO0 mức LOW Nhả nút FLASH sau ESP12 E boots up Nạp code thông qua chân TX RX 10 GVHD Hoàng Văn Mạnh Ngay trình flash kết thúc, restart lại ESP12E cách ấn nút RESET để boot ESP12E normal mode - KHỐI RELAY: + Sử dụng Relay đóng vai trị cơng tắc chuyển mạch + Khi có dòng điện ( xuất phát từ chân IO vi điều ển ) vào cực B transistor, cực C E thông với tạo chênh l ệch ện áp gi ữa cực relay từ làm relay kích hoạt Đồng thời, điện áo cực B giảm xuống tạo chênh áp đầu LED khiến đèn LED sáng + Tóm lại, relay đóng đèn LED tương ứng với relay sáng + Diode mắc song song với cuộn dây rele để dập xung ngược , bảo vệ tranistor đóng mở dòng cho rele Khi cuộn dây relay bị ngắt dòng điện (do tranistor ngưng dẫn) phát sinh dòng điện cảm ứng (cùng chi ều với dòng ban đầu), dịng điện diode dập phân cực thuận Nhờ mối nối CE tranistor khơng bị phá hủy dịng điện cảm ứng - KHỐI CÔNG TẮC: + Các chân I1, I2 I3 nối với công tắc Khi công tắc đóng ện áo đầu vào I1,2,3 LOW Vi điều khiển ghi nhận trạng thái thái chân IO Từ đưa xử lý tùy thuộc vào code người lập trình + Các điện trở pull- down R11, R12 R13 nhằm tránh trường hợp đoản mạch 11 GVHD Hoàng Văn Mạnh 2.2 Ổ cắm Vỏ ổ cắm thiết kế phần mềm vẽ 3D Catia in cơng nghệ FDM để tạo sản phẩm có độ xác cao FDM phương pháp in 3D sử dụng rộng rãi cấp độ người tiêu dùng Máy in 3D FDM hoạt động cách nung chảy đùn sợi nhựa nhiệt dẻo Đầu phun chạy theo tiết diện mặt cắt tạo phần mềm cắt lớp Bàn máy in hạ xuống vòi phun nâng lên lớp lớp không gian làm việc Sản phẩm tạo có độ xác cao, giá thành rẻ, phù hợp với sinh viên Vỏ ổ cắm thiết kế phần mềm vẽ 3D Catia THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 12 GVHD Hoàng Văn Mạnh 3.1 Các phần mềm sử dụng 3.1.1 Phần mềm Arduino Là tảng mã nguồn mở nhiều người giới đón nhận tốc độ lan tỏa cách nhanh chóng Việc sử dụng tản cách đơn giản giúp cho người yêu thích điện tử, sinh viên giới chuyên nghiệp hoàn thành đề tài, dự án cách nhanh chóng ti ết kiệm chi phí Hình ảnh đoạn code thành viên nhóm viết ph ần m ềm Arduino 3.1.2 Phần mềm vẽ 3D Catia CATIA gói phần mềm toàn diện hỗ trợ CAD/CAM/CAE hoàn chỉnh nghiên cứu phát triển hãng Dassault Systemes, phần mềm lớn nhiều tập đoàn lớn giới lĩnh vực công nghiệp ô tơ, cơng nghiệp hàng khơng, khí hạng nặng Phần mềm Catia có đầy đủ tính modul dùng kỹ thuật, từ thiết kế, gia công, kim loại tấm, thiết kế mặt, thiết kế cao cấp, modul hàn, phân tích mơ 13 GVHD Hồng Văn Mạnh Bản vẽ phần hộp sản phẩm thành viên nhóm vẽ ph ần m ềm Catia 3.1.3 Phần mềm Android Studio Chức Android Studio cung cấp giao diện để tạo ứng dụng xử lý phần lớn công cụ quản lý file phức tạp đằng sau hậu trường Ngơn ngữ lập trình sử dụng Java cài đặt riêng thiết bị bạn Android Studio đơn giản, bạn cần viết, chỉnh sửa lưu dự án file dự án Đồng thời, Android Studio cấp quy ền truy cập vào Android SDK Ở đây, chúng em dùng Android Studio để code App Mobile thiết bị di động chạy hệ điều hành Android 14 Giao diện Code thành viên nhóm sử dụng Android Studio 3.1.4 Ứng dụng Mobile Smart Controller Smart Controller thành viên nhóm viết ngơn ngữ Java build qua phần mềm Android Studio, tương thích với tất điện thoại chạy hệ điều hành Android Smart Controller gồm phần: Frontend – Giao diện Ứng dụng gồm nút ấn tương ứng với chức - Nút 1: Bật tắt ổ cắm - Nút 2: Bật tắt ổ cắm - Nút 3: Bật tắt ổ cắm - Nút 4: Bật tất ổ cắm - Nút 5: Tắt tất ổ cắm Đèn hiển thị ứng dụng hiển thị trạng thái ổ cắm tại, đèn màu vàng ổ cắm có điện, đèn khơng màu ổ cắm khơng có ện ch ạy qua Nút Nút Nút Nút Nút Giao diện ứng dụng Smart Controller Trạng thái ổ cắm cập nhật từ server tương ứng Cơ sở liệu Firebase Realtime Database Backend – Xử lí thuật toán, đọc, thêm sửa xoá liệu từ server GVHD Hoàng Văn Mạnh Ứng dụng Smart Controller kết nối với server Firebase thành viên nhóm tạo trước đó, từ có tất quyền đọc liệu, thêm, sửa xoá liệu tuỳ ý phương thức gọi API Ở trạng thái bình thường, phương thức get API cấu hình sẵn nên gọi liên tục để ứng dụng nhận liệu từ server Firebase hi ển thị lên trạng thái ổ cắm Bất thay đổi server gửi ứng dụng để giao diện ứng dụng cập nhật với Khi click vào nút bấm phần Frontend: - Đối với nút 1, 2, 3: Ngay ứng dụng gọi API thay đổi trạng thái giá trị định sẵn server, on - - > off, off - > on Đối với nút 4: Ngay ứng dụng gọi API thay đổi trạng thái - tất giá trị sang trạng thái on Đối với nút 5: Ngay ứng dụng gọi API thay đổi trạng thái tất giá trị sang trạng thái off Trong gọi API yêu cầu server thay đổi trạng thái phương thức get API ln gọi liên tục, từ trạng thái ổ cắm cập nhật liên tục, độ trễ gần không đáng kể 3.2 Giới thiệu server Firebase – Firebase Realtime Database Firebase Realtime Database (FRD) dịch vụ s liệu tảng Firebase Google, liệu lưu trữ cloud (cloud hosted database) định dạng JSON đồng với tất máy khách theo th ời gian thực kể offline FRD hỗ trợ nhiều tảng ngôn ngữ hệ ều hành khác iOS, Android, Web app,… có th ể sử dụng REST API đ ể truy vấn liệu 16 GVHD Hoàng Văn Mạnh Firebase Realtime Database sở liệu theo mô hình “NoSQL database”, tổ chức đơn giản thực thi truy v ấn nhanh chóng, linh động phù hợp với ứng dụng có s ố lượng người dùng lớn mà không bị hạn chế khả đáp ứng Cơ sở liệu Firebase Realtime Database 3.3 Giới thiệu Trợ lý ảo Google Assistant 3.3.1 Giới thiệu sơ Như biết, Internet of Things phát tri ển mạnh năm gần đây, kèm với phát tri ển loạt cơng nghệ Trợ lý ảo giọng nói (Voice Assistant) cơng nghệ có tốc độ phát triển nhanh nhất, trợ lý xuất khắp nơi từ thi ết bị loa thông minh, máy tính cá nhân, đồng hồ, tai nghe thi ết bị ện tho ại thông minh Hiện trợ lý ảo Google Assitant bạn sử dụng 17 GVHD Hồng Văn Mạnh điện thoại android mà không cần phải mua thiết bị Google Home hay Google Home Mini 3.3.2 Mô hình Project 3.3.3 Một số khái niệm liên quán đến phần mềm a Action on Google gì? Actions on Google tảng Google cho phép nhà phát triển viết phần mềm, tạo ứng dụng nhằm mở rộng tính trợ lý Google Assistant Nghĩa với tảng này, người dùng hỗ tr ợ đầy đủ cơng cụ để xây dựng trị chuyện tương tác với Google Assistant giúp hồn thành cơng việc tùy ý khác thơng qua gi ọng nói nh đặt hàng online, đặt phòng khách sạn, điều khiển thiết bị gia đình hay đơn giản xây dựng đoạn hội thoại trò chuyện thú vị Actions on Google bao gồm actions, hay có th ể hiểu đơn gi ản mơ hình khác nhau: Smart home Actions Conversational Actions 18 GVHD Hồng Văn Mạnh Ở chúng tơi sử dụng mơ hình: Conversational Actions để tùy ý xây dựng đoạn hội thoại, từ việc tương tác với trợ lý ảo tự nhiên b Conversational Actions hoạt động nào? Conversational Actions dùng để mở rộng chức Google Assistant cách cho phép tạo ngữ cảnh, cu ộc trò chuy ện tùy ch ỉnh dành cho người dùng Trong conversation, Conversational Action xử lý yêu cầu từ Assistant phản hồi lại câu trả lời âm hình ảnh Conversational Actions giao tiếp với web service bên webhook để xử lý logic trước trả lại phản hồi cho người dùng Mỗi action xây dựng kèm với Invocation Name, tên để kích hoạt Action Ví dụ: Để kích hoạt Action ta làm sau: “ Hey Google, talk to my home “ Ở “my home” Invocation Name c Quy trình diễn Action người dùng kích hoạt 19 GVHD Hồng Văn Mạnh Người dùng kích hoạt action thơng qua Invocation name đưa yêu cầu với Google Assistant Ứng với yêu cầu người dùng, Google Assistant ánh xạ u cầu với mục đích tương ứng định nghĩa sẵn (được gọi Intent) Ứng với Intent, thông tin từ yêu cầu người dùng chuy ển tiếp đến fulfillment service (một chương trình tri ển khai dạng webhook backend để tiếp nhận xử lý action từ người dùng) Fulfillment xử lý gửi phản hồi lại cho Assistant, sau chuy ển ti ếp đến người dùng d Dialogflow gì? Dialogflow tảng cho phép xây dựng hội thoại hai chi ều giọng nói hay văn với cơng cụ xử lý hiểu ngôn ngữ tự nhiên (natural language understanding-NLU) Sau cu ộc hội thoại có th ể tích hợp vào sản phẩm dịch vụ khác trợ lý ảo Google Assistant, Amazon Alexa, Microsoft Cortana,… hay tạo chatbot tích hợp vào ứng dụng Facebook Messenger, Slack,… Khi xây dựng ứng dụng hội thoại Dialogflow, cần tạo agents hiểu module NLU, agents tích hợp vào ứng dụng giúp ứng dụng phân tích thơng tin người dùng u cầu (có thể thơng qua giọng nói văn bản) gọi input, sau phân tích chuy ển đổi thành liệu mà ngơn ngữ lập trình hiểu để xử lý trả output tương ứng cho người dùng 20 GVHD Hoàng Văn Mạnh Các thành phần bên Agent e Intent gì? Theo dialogflow.com , Intent đại diện cho ánh xạ người dùng đưa vào, hành động thực phần mềm Ví dụ: bạn cần làm Chatbot dự báo thời tiết, giả sử người dùng hỏi với bot: Ngày mai Hà Nội trời có mưa khơng? Hay, Thứ đến Đà Nẵng có cần mang áo ấm không? Với hai câu hỏi này, người dùng mong muốn Chatbot trả lời thông tin dự báo thời tiết Như vậy, lập trình Chatbot, bạn cần hành động cho hai câu hỏi, hay bạn cần tạo INTENT cho chúng Một intent bao gồm thành phần sau: + Intent name: Tên intent, dùng để phân biệt intent khác giúp fulfillment nhận dạng để xử lý yêu cầu (fulfillment có phần sau) 21 GVHD Hồng Văn Mạnh + Training phrases: Những câu thoại người dùng nói lên sẵn để kích hoạt intent Chúng ta thiết lập sẵn câu thoại tùy ý cho dễ nhớ + Action and parameters: Đây danh sách tham số dùng để trích xuất thơng tin cần thiết từ lời u cầu người dùng để xử lý fulfillment dùng để phản hồi cho người dùng dạng tham biến + Responses: Các câu thoại soạn sẵn để Google Assistant phản hồi cho người dùng f Entity gì? Entities cơng cụ sử dụng để trích xuất giá trị tham số từ ngôn ngữ tự nhiên Bất kỳ mà bạn muốn biết từ nội dung người dùng có ENTITY tương ứng Quay lại với ví dụ trên, “Ngày mai” hay “Thứ này” có entity tương ứng Thời gian Hà Nội, Đà Nẵng, New York, … entity Vị trí KẾT QUẢ THỰC HIỆN 22 GVHD Hồng Văn Mạnh 23 GVHD Hoàng Văn Mạnh KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Ưu điểm - Chương trình hoạt động ổn định - Các thao tác thực đề tài đơn giản - Vật liệu dễ kiếm giá thành không cao kết mang lại tiện lợi cho người dùng - Tích hợp nhiều tính sản phẩm - Có thể biết thơng tin lúc nơi Nhược điểm - Thiết kế mạch chưa tối ưu - Các chi tiết in 3D có độ xác chưa mong muốn 5.2 - Hướng phát triển Kết hợp thêm cảm biến, thêm nhiều chức để đồng sản phẩm dùng cho nhà 24 ... thành cảm ơn! Hà Nội, ngày 12 tháng 12 năm 2020 Sinh viên Nguyễn Như Thạo GVHD Hồng Văn Mạnh TĨM TẮT BÁO CÁO THỰC HÀNH Báo cáo thực hành sản phẩm thiết bị ổ cắm thơng minh tích điều khiển từ xa. .. với máy tính áp dụng ngày nhiều đem lại hữu ích cho sống Máy tính sử dụng nhà máy, xí nghiệp dây truyền sản xuất, thiết kế nhà thông minh Các thiết bị, hệ thống đo lường ghép nối với máy tính. .. tất ổ cắm - Nút 5: Tắt tất ổ cắm Đèn hiển thị ứng dụng hiển thị trạng thái ổ cắm tại, đèn màu vàng ổ cắm có điện, đèn khơng màu ổ cắm khơng có ện ch ạy qua Nút Nút Nút Nút Nút Giao diện ứng dụng