- 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
1.7. Một số linh ki n và thi t b ệ ế ị khác được sử dụng trong mạch[6]
1.7.1.Module Relay
Relay là thi t bế ị đóng cắt cơ bản, nó được s d ng r t nhi u trong cuử ụ ấ ề ộc sống và trong các thi t b ế ị điệ ửn t .
Hình 1.13.Relay[6]
Cấu trúc cơ bản của relay (rơ – le) s bao g m m t cu n dây kim loẽ ồ ộ ộ ại đồng hoặc nhôm được qu n quanh m t lõi s t t . B ấ ộ ắ ừ ộphận này có phần tĩnh được gọi là ách t (Yoke) và phừ ần động được g i là ph n c ng (Armature). Ph n c ng ọ ầ ứ ầ ứ sẽ được k t n i v i m t tiế ố ớ ộ ếp điể độm ng, cu n dây có tác d ng hút thanh tiộ ụ ếp điểm lại để t o thành tr ng thái NO và NC. M ch tiạ ạ ạ ếp điểm (m ch l c) có nhiạ ự ệm vụ đóng cắt các thi t b t i vế ị ả ới dòng điện nh ỏ và được cách ly b i cu n hút. ở ộ
Nguyên lí hoạt động: Khi có tín hi u vào, cu n hút s hút làm các tiệ ộ ẽ ếp điểm thường đóng mở ra, các tiếp điểm thường m ở đóng lại c p ngu n cho thiấ ồ ết bị.
Thông s kố ỹ thuật:
- Relay tiêu thụ dòng khoảng 10A. - Thời gian tác động: 10ms
- Thời gian nh hãm: 5ms ả
- Nhiệt độ hoạt động: -45oC~75 C o
1.7.2. Tụ g m ố
Là loại t không có cụ ực và có điện dung nh t 0,47uF trỏ ừ ở xuống, các t ụ
này thường được sử dụng trong các mạch điện có tần số cao hoặc mạch lọc
nhiễu.
Hình 1.14.Tụ g m[6] ố
1.7.3.Diode
Có 2 l p bán d n P-N. Dòng diớ ẫ ện chỉ qua t Anot sang Katot khi áp trên ừ hai chân phân c c thu n Vự ậ P>VN còn khi phân cực ngược VP<VN thì không dẫn điện.
1.7.4.Quạt t n nhi t ả ệ Hình 1.16. Quạt tản nhi t[6] ệ Thông s ố kĩ thuật: - Điện áp: DC 5V - Dòng điện định mức: 0.25A - Công su t tiêu th : 1.25W ấ ụ
- Hiệu năng biến đổi: 5000+ 10% cho RPM - Tiếng n: 22dBA (không gây ti ng n) ồ ế ồ
- Lưu lượng không khí: 5CFM
1.7.5.Bóng đèn Led
Hình 1.17.Đèn led usb[6] Thông s : ố
- Công su t 1.2W. ấ
- Điện áp 5V.
- Kích thước chiều dài 20cm.
1.7.6.Máy bơm mini 5V
Động cơ bơm chìm Mini 5VDC có kích thước rất nhỏ gọn, sử dụng điện
áp 3~5VDC, vì thu c dộ ạng bơm chìm nên động cơ có khả năng ống nướch c và hoạt động khi ngâm chìm trong nước.
Hình 1.18. Máy bơm mini DC 5V[6] Thông s ố kĩ thuật:
- Điện áp s d ng: 3~5VDC. ử ụ
- Dòng điện sử dụng: 100~200mA.
- Lưu lượng bơm: 1.2~1.6L / 1 phút.
- Điện áp: 3VDC 5VDC. –
- Chiều dài bơm chìm: 43.5 mm .
- Đường kính ng ra: 7-8mm . ố
- Kích thước: 34 x 43 mm.
1.8. Kết luận
Chương 1 đã giới thiệu được tình hình nghiên cứu và các sản phẩm điều khiển bằng giọng nói hiện nay. Lựa ch n, nọ ắm được c u trúc, chấ ức năng Kit Wifi ESP8266 NodeMCU Lua V3 CH340. Tìm hi u chể ức năng và phương thức hoạt động c a Google Assistant Tìm hi u nguyên lí hoủ . ể ạt động và cách đưa giá trị lên Blynk. Lựa chọn được các linh ki n và thi t b c n s d ng. ệ ế ị ầ ử ụ Đây là những kiến th c cơ sở để thi t k và l p trình cho thi t bứ ế ế ậ ế ị điều khi n bể ằng giọng nói sử d ng ESP8266, s ụ ẽ được trình bày trong chương 2 và chương 3 của đồ án.
CHƯƠNG 2.THIẾT K H Ế ỆTHỐNG ĐIỀU KHI N THI T BỂ Ế Ị
TRONG NHÀ B NG GI NG NÓI S D NG ESP8266 Ằ Ọ Ử Ụ
2.1.Thiết kế sơ đồkhố ội b điểu khi n thi t b ể ế ị điện, điện t gia dử ụng b ng ằ
giọng nói 2.1.1.Yêu c u ầ
- Mô hình h ệthống hoàn thiện đảm bảo có th ể điều khi n b t, t t các thiể ậ ắ ết bị s d ng gi ng nói và theo dõi tr ng thái trên ng d ng Blynk. ử ụ ọ ạ ứ ụ
- Mô hình hoạt động đảm bảo:
- Hệ thống nhậ ệnh điều khiển chính xác. n l
- Thiết b ị đầu ra nh n và th c hi n bậ ự ệ ật,tắt nhanh chóng. - Ổn định, không gặp s c trong quá trình hoự ố ạt động. - Gọn nh và ti t ki m chi phí. ẹ ế ệ 2.1.2.Sơ đồ khối Khối điều khiển Google Assistant App Blynk Khối nguồn Thiết bị Hình 2.1. Sơ đồkhối hệthống
Chức năng của các khối:
- Khối ngu n: Cung cồ ấp năng lượng hoạt động cho khối vi điều khi n, ể khối thi t b . ế ị
- Khối vi điều khiển: ESP8266 là một thiết bị có khả năng nhận và lập trình x ử lý được các tín hi u theo yêu cệ ầu đầu vào c a h ủ ệthống, đồng th i xuờ ất được các tín hiệu ra theo yêu cầu.
- Khối Google Assistant: Nh n l nh b ng giậ ệ ằ ọng nói để đưa vào khối vi điều khiển xử lí.
- Khối thi t b : Nh n lế ị ậ ệnh đầu ra và thực hi n b t, t t các thi t b . ệ ậ ắ ế ị - Khối App Blynk: Là App giúp người dùng theo dõi các trạng thái
của thi t b . ế ị
2.2.Thiết kế mạch ph n cầ ứng
2.2.1.Khối ngu n ồ
Sử dụng ngu n 9V kồ ết hợp LM7805 để hạ áp t 9V xuừ ống 5V để cấp cho vi điều khi n và các thi t b khác. ể ế ị
Tụ C1 và C3 để ọc điện áp đầ l u vào cấp cho chân Vi của IC 7805, tụ C1 có tác d ng cung cụ ấp điện áp t m th i cho chân Vi khi nguạ ờ ồn đột ng t b sộ ị ụt áp, t C3 là t g m nên tr kháng l n, C3 có tác dụ ụ ố ở ớ ụng ngăn nguồn đầu vào tăng áp đột ngột làm dạng sóng điện áp đầu vào có hình răng cưa.
Tụ C2 và C4 để ọc điệ l n áp c p cho t i tiêu th l y t chân Vo c a IC ấ ả ụ ấ ừ ủ 7805, t C2 có tác d ng cung cụ ụ ấp điện áp t m th i cho tạ ờ ải khi điện áp tải đột ngột bị sụt áp, t C4 tr kháng l n, C4 có tác d ng lụ ở ớ ụ ọc nhiễu điện áp đầu ra
Hình 2.2.Khối mạch ngu n ồ
2.2.2.Khối vi điều khi n ể
Vi điều khiển ESP điều khiển hoạt động của toàn mạch. Vi điều khiển
nhận d ữliệu từ đầu vào r i x ồ ử lý, thông báo ra điều khi n thi t b . ể ế ị
Hình 2.3. Mạch vi điều khi n ể
2.2.3.Khối nút nhấn
Khối bao g m 4 nút nhồ ấn: nút reset(SW1), nút điều khiển các thiết bị(SW2,SW3,SW4).
Hình 2.4.Mạch khối n t nhú ấn
2.2.4.Khối thiết bị
Các thi t b gế ị ồm đèn, quạt, máy bơm được điều khiển bởi các relay 5V, khi có tín hiệu ra, relay đóng các tiếp điểm thường mở và cấp điện cho thi t b . ế ị
2.3.Xây dựng phần mềm điều khi n ể
2.3.1.Phần mềm lập trình
Sử dụng phần m m Arduino IDề E để ậ l p trình cho ESP8266.
Arduino IDE là môi trường để l p trình và n p code cho các dòng Arduino. ậ ạ Arduino IDE được xây d ng trên mi n n n t ng Java nên h ự ề ề ả ỗtrợ h u hầ ết các h ệ điều hành hi n nay. ệ
Hình 2.6. Ph n m m Arduino IDE ầ ề
Giao di n cệ ủa Arduino IDE được chia thành 3 vùng chính:
+ Vùng 1: Các phím chức năng
Hình 2.8. Các phím chức năng của Arduino IDE
+ Vùng 2: C a s ử ổ đểviết chương trình
Chương trình Code sẽ được vi t tế ại đây.Ở đây có hai hàm quan trọng
là setup() và loop().
Hàm setup() được kh i ch y m t l n duy nh t. Chở ạ ộ ầ ấ ức năng của hàm này dùng để khởi tạo các bi n, khai báo chế ức năng các chân, khởi tạo các thông s ố bán đầu
Hàm loop() là nơi chương trình được chạy lặp đi lặ ại đếp l n khi ngắt vi điều khiển.
Các dấu “//” dùng để ạ t o chú thích, giúp cho việc đọc code được d ễ dàng hơn
Trong l p trình có phân bi t ký tậ ệ ự hoa, thường, tuyệt đối phải đánh chích xác, đồng thời cuối mỗi câu lệnh cần phải có dấu chấm phẩy (;), tr lừ ệnh khai báo thư viện.
+ Vùng 3: Hi n th ể ị các thông tin liên quan đến chương trình
Là c a sử ổ để hiện th vị ề việc build chương trình, nạp chương trình thành công xuống vi điều khiển và các cảnh báo khác liên quan đến chương trình và điều khi n cể ủa chúng ta. Lưu ý, mọi thông báo và trạng thái c a cả quá trình ủ
viết chương trình (write code), xây dựng chương trình ( build code) và nạp chương trình ( program code) đều được hiển thị tại đây. Cửa sổ này được gọi là c a s debug. ử ổ
2.3.2.Lưu đồ thuật toán
Bắt đầu
Khởi tạo ESP8266, server IFTTT và Google
Assistant
Kiểm tra lệnh giọng nói,
các nút nhấn vật lí và
Blynk
Server IFTTT nhận và gửi về Blynk và vi điều khiển
Bật, tắt các thiết bị
Kết thúc Đúng
Sai
Hình 2.9. Lưu đồ thuật toán
Bắt đầu hoạt động, h ệthống khởi động ESP8266, server IFTTT và Google Assistant. Sau đấy ki m tra lể ệnh điều khi n giể ọng nói, điều khi n b ng nút nhể ằ ấn hoặc Blynk n u có lế ệnh điều khi n sể ẽ thực hi n b t, t t thi t b theo yêu c u, ệ ậ ắ ế ị ầ nếu sai quay v ềkiểm tra các l nh, kệ ết thúc chương trình.
2.3.3. Triển khai ph n m m ầ ề 2.3.3.1. Thiết l p IFTTT ậ
Tạo tài kho n ả
Đầu tiên, chúng ta s c n t o mẽ ầ ạ ột tài khoản để ắt đầu sử dụng IFTTT. b
- Đăng ký một tài khoản mới bằng cách nhấn or Use Email (có thể
dùng luôn tài kho n Google, Facebook). ả - Điền địa chỉ email r i nh n Continue. ồ ấ - Chọn mật kh u, nh n Create account. ẩ ấ
Hình 2.10. Các bước tạo tài khoản IFTTT
Tạo câu lệnh điều ki n This ệ
Sau khi t o thành công tài kho n, m t popup chào m ng xu t hi n có th ạ ả ộ ừ ấ ệ ể xem qua một chút hoặc tắt nó đi để bắt tay vào tạo applet.
- Chọn Get more.
- Nhấn vào box bên ph i dòng ch ả ữMake your own Applets from scratch.
- Nhấn + This.
- Tìm và nh n ch n Google Assistant r i cho phép IFTTT k t n i vấ ọ ồ ế ố ới trợ lý Google.
Hình 2.11. Các bướ ạo câu điềc t u khiện This
Màn hình s có 4 l a chẽ ự ọn như hình bên dưới, nh n vào Say a simple ấ phrase đểthử.
Hình 2.12. Lựa chọn phương thức giọng nói
- Nhấn Add
- Đăng nhập tài khoản Google cùng với tài khoản đăng nhập trên Google Home.
- Nhấn Allow c p phép để ấ
Tiếp đến là phần quan trọng nhất, tùy chỉnh lệnh và phản hồi cho Google
Assistant. Bạn được phép l a chự ọn 3 câu l nh chung cho 1 ph n h i c a tr lý. ệ ả ồ ủ ợ
Vì v y, ậ hãy suy nghĩ và điền thông tin vào ô tương ứng . Các mục optional có
Hình 2.13. Cài đặt lệnh b ng gi ng nói ằ ọ
Sau khi hoàn t t, nhấ ấn ch n Create trigger. ọ
Hình 2.14. Ph n h i That ả ồ
Lúc này ta s bẽ ắt đầu cài đặt hành động That.
- Bấm vào dấu “+”.
- Nhập token được gửi về gmail khi đăng kí Blynk để dẫn tới server
Blynk đang kết n i v i ESP8266. ố ớ
- Cấu hình cho l nh t This, Turn on là giá tr 0, Turn off là giá tr ệ ừ ị ị 1.
- Nhấn Finish hoàn thành. để
2.3.3.2. Tạo tài kho n ả và cài đặt App Blynk
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
Hình 2.15. Giao di n t o tài kho n Blynk ệ ạ ả
Nhập thông tin tài kho n ả Gmail sau đấy nh n Sign Up ấ để tiến hành đăng
Hình 2.16. Nh p tài kho n gmail và m t kh u ậ ả ậ ẩ
Sau khi đăng ký hoàn thành, chúng ta sẽ tiến hành t o mạ ột Project mới.
- Click vào d u c ng (+) trên thanh công cấ ộ ụ để tiến hành t o Project ạ
mới.
Hình 2.17. T o Project m i ạ ớ
Blynk s c p m t mã Token, mã này s g i trẽ ấ ộ ẽ ử ực tiếp vào Gmail đã đăng
ký. Mã Token này dùng để chèn vào code Example c a Blynk. ủ
Hình 2.18. Thông báo mã Token được gửi tới gmail
Để Bật/Tắt thi t bị chúng ta cần có một nút bấm ế để điều khi n. Vào ể
Hình 2.19. L y nút nh n ra ấ ấ Click vào Button để ến hành cài đặ ti t thông s . ố
- Ở 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 Ắ
- 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 2.20. Hoàn thành thiết lập
2.4. Kết luận chương 2
Chương 2 thể hiện toàn b quá trình thi t k mô hình h ộ ế ế ệthống điều khiển
thiết b trong nhà b ng gi ng nói s d ng ESP8266. ị ằ ọ ử ụ Thực hi n ệ việc thi t k ế ế sơ
đồ nguyên lí, vẽ mạch in, s p x p linh kiện cũng như viết chương trình điều ắ ế
khiển. Biết xác định lỗi và sửa lỗi cho sản ph m, ẩ để hoàn thành mô hình sẽ
CHƯƠNG 3. MÔ HÌNH TH C NGHI M VÀ K T QU Ự Ệ Ế Ả
3.1. Mạch nguyên lí và m ch in hoàn thi n ạ ệ
Hình 3.3. M ch in 3D ạ
3.2. Kết qu ảthực nghi m ệ
Với đề tài nghiên c u này, th c nghi m trên mô hình d a trên vi c s d ng ứ ự ệ ự ệ ử ụ
các thi t b 5V bao gế ị ồm đèn, quạ ảt t n nhiệt và máy bơm 5V. Tấ ả đượ ắp t c c l
đặt trên cùng một mô hình và được điều khiển b t, tắt b i gi ng nói. Ngoài ra, ậ ở ọ
người dùng cũng có thể điều khiển và theo dõi trạng thái hoạt động của các
thiết b thông qua giao di n App Blynk, vi c s d ng thông qua App giúp viị ệ ệ ử ụ ệc
Hình 3.4. Mô hình hệ thống
3.3.Giao di n Google Assistant khi nh n lệ ậ ệnh
Sau khi khởi động ng dứ ụng, người dùng sẽ thực hi n nói và hệ ệ thống s ẽ
trả lời theo các bước:
- Người dùng s ẽ nói “OK Google” để ắt đầu ra lệnh. b