và có tính ứng dụng cao.Hệ thống sử dụng vi điều khiển Esp32 có khả năng kết nối Wifi để điều khiển các thiết bị điện thông qua ứng dụng di động.Ứng dụng di động được thiết kế với giao d
Trang 1BỘ CÔNG THƯƠNGTRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM
HỆ THỐNG NHÚNGBÀI TIỂU LUẬN
ĐỀ TÀI : ĐIỀU KHIỂN THIẾT BỊ TỪ XA DÙNG WIFI
Nhóm 2Giảng viên : Trương Năng Toàn
Lớp học phần :
TP.HCM, Ngày 5 Tháng 3 Năm 2024
Trang 2THÔNG TIN CHUNG SINH VIÊN
Họ và tên sinh viên: Trương Tấn Kiệt
Trang 3MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1
1 Lý do chọn đề tài 1
CHƯƠNG 2: NỘI DUNG TỔNG QUAN CỦA HỆ THỐNG 2
2.1 Ý tưởng hình thành chủ đề "Điều khiển thiết bị điện từ xa dùng Esp32 dùng Wifi (ngõ vào: điều khiển qua App cho 4 thiết bị, ngõ ra: hiển thị LED đơn)" 2
1 Nhu cầu thực tế: 2
2 Khả năng công nghệ: 2
3 Khả năng thực hiện: 2
4 Tính sáng tạo và học tập: 2
Tổng quan hệ thống 3
1 Phần cứng: 3
2 Phần mềm: 3
3 Hoạt động của hệ thống: 3
4 Ưu điểm của hệ thống: 3
5 Nhược điểm của hệ thống: 3
6 Ứng dụng của hệ thống: 3
2.2 So sánh chủ đề điều khiển thiết bị điện từ xa dùng Esp32 dùng Wifi (ngõ vào: điều khiển qua App cho 4 thiết bị, ngõ ra: hiển thị LED đơn) với chủ đề điều khiển thiết bị điện từ xa khác 4
1 Phương thức kết nối: 4
2 Khả năng mở rộng: 4
3 Độ phức tạp: 5
4 Ứng dụng: 5
2.3 Hướng xử lý đối với các khuyết điểm của chủ đề "Điều khiển thiết bị điện từ xa dùng Esp32 dùng Wifi (ngõ vào: điều khiển qua App cho 4 thiết bị, ngõ ra: hiển thị LED đơn)" 6
1 Khả năng bảo mật: 6
2 Tính ổn định: 6
3 Khả năng mở rộng: 6
4 Chi phí: 7
5 Độ phức tạp: 7
2.4 Mô hình hóa chủ đề điều khiển thiết bị điện từ xa dùng Esp32 dùng Wifi (ngõ vào: điều khiển qua App cho 4 thiết bị, ngõ ra: hiển thị LED đơn) 7
2.4.1 Sơ đồ khối hệ thống: 7
2.4.3 Hoạt động của hệ thống 8
2 4.4 Mô tả chi tiết các phần 8
2.4.5 Lựa chọn linh kiện 9
2.4.6 Lập trình hệ thống 10
2.4.7 Thử nghiệm và đánh giá hệ thống 10
Trang 42.4.8 Tài liệu tham khảo 10
2.4.9 Kết luận 10
2.5 Sơ đồ kết nối về mặt dữ liệu của chủ đề 10
1 Các thành phần: 10
2 Luồng dữ liệu: 10
3.Sơ đồ kết nối: 11
4 Lưu ý: 11
5 Kết luận: 11
CHƯƠNG 3: NỘI DUNG CỦA CHỦ ĐỀ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA DÙNG ESP32 DÙNG WIFI 12
3.1 Giới thiệu các thiết bị sử dụng trong chủ đề điều khiển thiết bị điện từ xa dùng ESP32 dùng Wifi 12
3.1.1 Arduino ESP32 12
Các biến thể ESP32 khác nhau 12
3.1.3 Test Broad cắm 5.5x8.5cm 14
3.1.4 Dây TypeC 14
Tính năng chính của Wokwi: 16
Lợi ích của việc sử dụng Wokwi: 17
Một số dự án bạn có thể thực hiện với Wokwi: 17
Nhược điểm của Blynk: 18
3.2 Sơ đồ nguyên lý 18
3.2.1 Điều khiển qua App 19
3.2.1.1 App trên laptop 19
3.2.1.2 App trên điện thoại 19
3.2.2 Xử lý dữ liệu 20
3.2.3 Điều khiển thiết bị điện 20
3.2.4 Hiển thị trạng thái 20
3.3 Lưu đồ giải thuật 20
3.3.1 Code phần mềm : 20
3.3.2 Lưu đồ giải thuật: 23
3.4 Thực hiện rap mạch 23
CHƯƠNG 4 : KẾT LUẬN 24
TÀI LIỆU THAM KHẢO 25
Trang 5và có tính ứng dụng cao.
Hệ thống sử dụng vi điều khiển Esp32 có khả năng kết nối Wifi
để điều khiển các thiết bị điện thông qua ứng dụng di động.Ứng dụng di động được thiết kế với giao diện đơn giản, trựcquan, giúp người sử dụng dễ dàng điều khiển các thiết bị điệnbất cứ đâu, bất cứ lúc nào
Hệ thống có thể điều khiển 4 thiết bị điện và hiển thị trạng tháihoạt động của các thiết bị bằng đèn LED đơn
Hệ thống này có thể ứng dụng để điều khiển các thiết bị điệntrong nhà như đèn, quạt, tivi, mang lại sự tiện lợi và tiết kiệmthời gian cho người sử dụng
Đề tài này cũng giúp sinh viên học hỏi về các kiến thức liênquan đến vi điều khiển Esp32, lập trình nhúng, mạng Wifi, ứngdụng di động, rèn luyện kỹ năng thiết kế, chế tạo và lập trình
hệ thống điều khiển, nâng cao khả năng sáng tạo và tư duy logic.Báo cáo này trình bày chi tiết về quá trình thiết kế, chế tạo vàthử nghiệm hệ thống điều khiển thiết bị điện từ xa dùng Esp32dùng Wifi
Trang 6CHƯƠNG 2: NỘI DUNG TỔNG QUAN CỦA HỆ THỐNG
2.1 Ý tưởng hình thành chủ đề "Điều khiển thiết bị điện từ
xa dùng Esp32 dùng Wifi (ngõ vào: điều khiển qua App cho
4 thiết bị, ngõ ra: hiển thị LED đơn)"
Có nhiều yếu tố góp phần hình thành chủ đề này, bao gồm:
-Các ứng dụng di động ngày càng phổ biến, giúp người sử dụng
dễ dàng điều khiển các thiết bị bằng điện thoại thông minh
-Rèn luyện kỹ năng thiết kế, chế tạo và lập trình hệ thống điềukhiển, nâng cao khả năng sáng tạo và tư duy logic
Ngoài ra, ý tưởng này còn được lấy cảm hứng từ các dự ántương tự trên mạng, các bài báo khoa học và các khóa học trựctuyến
Với những ưu điểm trên, chủ đề "Điều khiển thiết bị điện từ xadùng Esp32 dùng Wifi (ngõ vào: điều khiển qua App cho 4 thiết
bị, ngõ ra: hiển thị LED đơn)" là một chủ đề hấp dẫn và phù hợpcho sinh viên lựa chọn để nghiên cứu và thực hiện
Để phát triển ý tưởng này, cần thực hiện một số công việc sau:
Nghiên cứu kỹ lưỡng về vi điều khiển Esp32, lập trìnhnhúng, mạng Wifi, ứng dụng di động,
Trang 7Vi điều khiển Esp32: là bộ não của hệ thống, có khả năng xử lý
dữ liệu và điều khiển các thiết bị điện
Module Wifi: giúp Esp32 kết nối với mạng internet
Các linh kiện điện tử khác: như điện trở, tụ điện, transistor, đểkết nối các thiết bị điện với Esp32
4 Ưu điểm của hệ thống:
Dễ dàng sử dụng
Điều khiển thiết bị điện từ xa bất cứ đâu, bất cứ lúc nào.Tiết kiệm thời gian và công sức
Nâng cao chất lượng cuộc sống
5 Nhược điểm của hệ thống:
Chi phí thực hiện tương đối cao
Yêu cầu kiến thức về vi điều khiển, lập trình nhúng, mạng Wifi,ứng dụng di động
6 Ứng dụng của hệ thống:
Hệ thống có thể ứng dụng để điều khiển các thiết bị điện trongnhà như đèn, quạt, tivi,
Trang 8Hệ thống cũng có thể ứng dụng trong các hệ thống nhà thôngminh, các hệ thống tự động hóa khác.
Tóm lại, hệ thống điều khiển thiết bị điện từ xa dùng Esp32dùng Wifi là một hệ thống có tính ứng dụng cao, mang lại sựtiện lợi và tiết kiệm thời gian cho người sử dụng
2.2 So sánh chủ đề điều khiển thiết bị điện từ xa dùng Esp32dùng Wifi (ngõ vào: điều khiển qua App cho 4 thiết bị, ngõra: hiển thị LED đơn) với chủ đề điều khiển thiết bị điện từ
xa khác
1 Phương thức kết nối:
Chủ đề điều khiển thiết bị điện từ xa dùng Esp32 dùng Wifi:
Sử dụng kết nối Wifi để điều khiển thiết bị từ xa qua mạnginternet
Yêu cầu mạng internet ổn định
Có thể bị ảnh hưởng bởi nhiễu sóng Wifi
Chủ đề điều khiển thiết bị điện từ xa khác:
Có thể sử dụng các phương thức kết nối khác như Bluetooth,hồng ngoại, Zigbee, Z-Wave,
-Ưu điểm:
Ít bị ảnh hưởng bởi nhiễu sóng
Có thể kết nối với các thiết bị không có Wifi
-Nhược điểm:
Phạm vi kết nối hẹp hơn so với Wifi
Tốc độ kết nối có thể chậm hơn so với Wifi
2 Khả năng mở rộng:
Chủ đề điều khiển thiết bị điện từ xa dùng Esp32 dùng Wifi:
Có thể dễ dàng mở rộng để điều khiển nhiều thiết bị hơn bằng cáchthêm các module Wifi và relay
Ưu điểm:
Khả năng mở rộng cao
Dễ dàng thay đổi và cập nhật hệ thống
Trang 9Chi phí có thể tăng lên khi mở rộng hệ thống.
Chủ đề điều khiển thiết bị điện từ xa khác:
Khả năng mở rộng có thể hạn chế hơn tùy thuộc vào phương thứckết nối được sử dụng
Hệ thống có thể được tùy chỉnh theo nhu cầu sử dụng
Độ phức tạp cao hơn so với các chủ đề khác
Chủ đề điều khiển thiết bị điện từ xa khác:
Có thể có độ phức tạp khác nhau tùy thuộc vào phương thức kếtnối được sử dụng
Hệ thống điều khiển thiết bị trong nhà máy, xí nghiệp
Hệ thống giám sát và điều khiển từ xa
Tính linh hoạt cao
Khả năng ứng dụng rộng rãi
Chi phí có thể cao hơn so với các chủ đề khác
Chủ đề điều khiển thiết bị điện từ xa khác:
Phù hợp cho các ứng dụng có phạm vi kết nối hẹp, ví dụ như:
Trang 10Điều khiển thiết bị điện trong nhà.
Điều khiển đồ chơi điều khiển từ xa
1 Khả năng bảo mật:
Hệ thống có thể bị tấn công bởi hacker nếu không được bảo mậtadeguatamente
Giải pháp:
Sử dụng mật khẩu mạnh cho mạng Wifi và Esp32
Sử dụng các phương thức mã hóa dữ liệu
Sử dụng bộ định tuyến Wifi chất lượng tốt
Đặt Esp32 ở vị trí có tín hiệu Wifi mạnh
Sử dụng các thuật toán chống nhiễu
Trang 11Ngoài ra, cũng cần lưu ý một số vấn đề khác như:
Khả năng tương thích với các thiết bị điện khác nhau
Hiệu quả sử dụng năng lượng
Tính thẩm mỹ của hệ thống
Để khắc phục các khuyết điểm này, bạn cần:
Xác định rõ nhu cầu sử dụng của bạn
Lựa chọn các linh kiện phù hợp
Thiết kế và chế tạo hệ thống một cách cẩn thận
Kiểm tra và thử nghiệm hệ thống trước khi sử dụng
2.4 Mô hình hóa chủ đề điều khiển thiết bị điện từ xa dùngEsp32 dùng Wifi (ngõ vào: điều khiển qua App cho 4 thiết bị,ngõ ra: hiển thị LED đơn)
2.4.1 Sơ đồ khối hệ thống:
Sơ đồ khối hệ thống:
Trang 122.4.2 Giải thích sơ đồ khối
Esp32: Vi điều khiển có khả năng kết nối Wifi
Module Wifi: Giúp Esp32 kết nối với mạng Wifi
Relay: Dùng để điều khiển các thiết bị điện
LED đơn: Hiển thị trạng thái hoạt động của các thiết bị điện.Nguồn điện: Cung cấp nguồn điện cho hệ thống
Trang 13-Loại Esp32: ESP32-WROOM-02 hoặc ESP32-DevKitCChức năng:
Xử lý dữ liệu điều khiển từ ứng dụng di động
Điều khiển các thiết bị điện thông qua relay
Kết nối với mạng Wifi
Cung cấp nguồn điện cho hệ thống
-Firmware cho Esp32:
Ngôn ngữ lập trình: Java hoặc Kotlin
Framework: Android Studio hoặc Xcode
Giao diện:
Hiển thị danh sách các thiết bị điện
Cho phép người dùng điều khiển các thiết bị điện.2.4.5 Lựa chọn linh kiện
Lựa chọn linh kiện dựa trên các tiêu chí sau:
Trang 14Tính năng phù hợp với nhu cầu sử dụng.
Giá thành hợp lý
Dễ dàng kiếm mua trên thị trường
2.4.6 Lập trình hệ thống
Lập trình firmware cho Esp32 bằng ngôn ngữ C/C++
Lập trình ứng dụng di động bằng Java hoặc Kotlin
2.5 Sơ đồ kết nối về mặt dữ liệu của chủ đề
Sơ đồ kết nối về mặt dữ liệu của chủ đề này có thể được mô tả nhưsau:
1 Các thành phần:
Thiết bị di động:
Ứng dụng di động được cài đặt trên thiết bị di động (điện thoạithông minh, máy tính bảng)
Gửi dữ liệu điều khiển đến Esp32
Nhận dữ liệu trạng thái từ Esp32
Vi điều khiển Esp32
Kết nối với mạng Wifi
Xử lý dữ liệu điều khiển từ thiết bị di động
Điều khiển các thiết bị điện
Gửi dữ liệu trạng thái về thiết bị di động
Các thiết bị điện được điều khiển bởi Esp32
Nhận tín hiệu điều khiển từ Esp32
2 Luồng dữ liệu:
Trang 15Từ Esp32 đến thiết bị điện:
Esp32 xử lý dữ liệu điều khiển và gửi tín hiệu điều khiển đến cácthiết bị điện
Tín hiệu điều khiển có thể là:
Điện áp cao/thấp
Bật/tắt
Từ thiết bị điện đến Esp32:
Các thiết bị điện gửi dữ liệu trạng thái về Esp32
Dữ liệu trạng thái bao gồm:
Mã thiết bị
Trạng thái (bật/tắt)
Từ Esp32 đến thiết bị di động:
Esp32 gửi dữ liệu trạng thái về thiết bị di động
Dữ liệu trạng thái được hiển thị trên ứng dụng di động
3.Sơ đồ kết nối:
Ví dụ sơ kết nối (1 led) , 1 nút nhấn với KIT ESP32 và làmtương tự với 4 thiết bị còn lại
4 Lưu ý:
Sơ đồ kết nối này chỉ là ví dụ minh họa
Sơ đồ kết nối thực tế có thể thay đổi tùy thuộc vào thiết kế cụ thểcủa hệ thống
5 Kết luận:
Trang 16Sơ đồ kết nối về mặt dữ liệu giúp cần hiểu rõ hơn về cách thứctruyền tải dữ liệu giữa các thành phần trong hệ thống.
CHƯƠNG 3: NỘI DUNG CỦA CHỦ ĐỀ ĐIỀU KHIỂNTHIẾT BỊ ĐIỆN TỪ XA DÙNG ESP32 DÙNG WIFI
3.1 Giới thiệu các thiết bị sử dụng trong chủ đề điều khiểnthiết bị điện từ xa dùng ESP32 dùng Wifi
3.1.1 Arduino ESP32
Các biến thể ESP32 khác nhau
Bảng sau đây cung cấp so sánh các biến thể khác nhau của viđiều khiển ESP32 Nó bao gồm thông tin về kiến trúc, lõi, RAM,tốc độ, GPIO, Wi-Fi, Thread và các tính năng đặc biệt của từngbiến thể
Trang 173.1.2 LED 10mm
Thông số kĩ thuật:
- Màu sắc: trắng
- Số chân: 2 chân
- Điện áp đầu vào: 3VDC
- Loại led: siêu sáng
- Kích thước: 10mm
Trang 19+Đầu ra : USB Type-C 10V-8A
+Công suất tối đa : 80W
+Chức năng : Truyền dữ liệu , sạc
Thông số kĩ thuật :
Dây nối 2 đầu đực - đực
Số lượng: 40Pin (40 sợi)
Chiều dài: 10cm/20cm/30cm tuỳ chọn
Trang 20Khoảng cách tiêu chuẩn: 2.54mm
3.1.6 Nguồn
ESP32 có thể hoạt động với nguồn điện từ 2.2V đến 3.6V Tuynhiên, điều này có thể thay đổi tùy theo loại module ESP32 cụthể và điều kiện sử dụng Đối với hầu hết các ứng dụng, nguồn3.3V được khuyến nghị để đảm bảo hoạt động ổn định củaESP32
3.1.7 Phần mềm nạp code Arduino
Phần mềm Arduino là một môi trường phát triển cho việc viết,biên dịch và nạp chương trình cho các bo mạch nhúng nhưArduino và ESP32 Nó cung cấp một trình soạn thảo code, chứcnăng biên dịch, nạp chương trình, thư viện và mô phỏng để pháttriển ứng dụng nhúng
3.1.8 Ngoài ra chúng ta sử dụng Wokwi để mô phỏng vàdùng App Blynk để điều khiển thiết bị điện từ xa dùngmodule Esp32
3.1.8.1 Wokwi
Wokwi là một phần mềm mô phỏng trực tuyến cho phép bạnthiết kế, mô phỏng và chia sẻ các dự án điện tử Wokwi có giaodiện trực quan, dễ sử dụng, phù hợp cho cả người mới bắt đầu
và người có kinh nghiệm
Tính năng chính của Wokwi:
Trang 21+Mô phỏng: Wokwi cho phép bạn mô phỏng các dự án điện tử củabạn trong thời gian thực Bạn có thể xem các thành phần hoạt độngnhư thế nào và tương tác với chúng.
+Thiết kế: Wokwi cung cấp một thư viện lớn các thành phần điện
tử mà bạn có thể sử dụng để thiết kế các dự án của mình Bạn cóthể kéo và thả các thành phần vào sơ đồ mạch và kết nối chúng vớinhau
+Chia sẻ: Wokwi cho phép bạn chia sẻ các dự án của mình vớinhững người khác Có thể tạo liên kết đến dự án hoặc xuất nódưới dạng tệp JSON
Lợi ích của việc sử dụng Wokwi:
Dễ sử dụng: Wokwi có giao diện trực quan, dễ sử dụng, phù hợpcho cả người mới bắt đầu và người có kinh nghiệm
Miễn phí: Wokwi là phần mềm miễn phí Bạn có thể sử dụng tất cảcác tính năng của Wokwi mà không cần trả phí
Trực tuyến: Wokwi là phần mềm trực tuyến Bạn có thể sử dụngWokwi từ bất kỳ trình duyệt web nào, bất cứ lúc nào, bất cứ nơiđâu
Hỗ trợ cộng đồng: Wokwi có cộng đồng hỗ trợ tích cực
Một số dự án bạn có thể thực hiện với Wokwi:
+Bật/tắt đèn LED: Đây là dự án đơn giản nhất mà bạn có thể thựchiện với Wokwi Bạn chỉ cần một LED, một điện trở và một nguồnđiện
+Điều khiển LED bằng nút bấm: Dự án này cho phép bạn điềukhiển LED bằng nút bấm Khi bạn nhấn nút, LED sẽ sáng lên Khibạn nhả nút, LED sẽ tắt
+Hiển thị số trên màn hình LCD: Dự án này cho phép bạn hiển thị
số trên màn hình LCD Bạn có thể sử dụng các nút bấm để tănghoặc giảm số
+Điều khiển động cơ bằng Arduino: Dự án này cho phép bạn điềukhiển động cơ bằng Arduino Bạn có thể sử dụng các nút bấm đểđiều khiển hướng quay và tốc độ của động cơ
3.1.8.2 Blynk
Trang 22Blynk là một nền tảng mã nguồn mở cho phép bạn điều khiểncác thiết bị điện tử từ xa bằng điện thoại thông minh hoặc máytính bảng Blynk cung cấp một giao diện trực quan để tạo cácứng dụng di động cho phép bạn bật/tắt đèn, điều chỉnh nhiệt độ,đọc dữ liệu từ cảm biến và hơn thế nữa.
Ưu điểm của Blynk:
Dễ sử dụng: Blynk cung cấp giao diện kéo và thả trực quan để tạocác ứng dụng di động, không cần kiến thức lập trình
Hỗ trợ nhiều loại thiết bị: Blynk hỗ trợ nhiều loại thiết bị điện tử,bao gồm Arduino, Raspberry Pi, ESP8266 và hơn thế nữa
Mã nguồn mở: Blynk là mã nguồn mở, cho phép bạn tùy chỉnh và
mở rộng chức năng của nó
Cộng đồng lớn: Blynk có cộng đồng lớn người dùng và nhà pháttriển sẵn sàng hỗ trợ bạn
Nhược điểm của Blynk:
Miễn phí cho các dự án cá nhân: Blynk miễn phí cho các dự án cánhân, nhưng bạn cần trả phí nếu sử dụng Blynk cho mục đíchthương mại
Yêu cầu kết nối internet: Blynk yêu cầu kết nối internet để hoạtđộng
Ít linh hoạt hơn so với lập trình trực tiếp: Blynk cung cấp giao diệntrực quan, nhưng nó ít linh hoạt hơn so với việc lập trình trực tiếp
3.2 Sơ đồ nguyên lý