ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN - ĐIỆN TỬ
BÀI TẬP LN
KỸTHUTVIXỬ
Đề tài:
THIẾTBĐIỀUKHIỂNĐÈNQUAWIFI
Sinh viên thực hin: NGUYỄN MẠNH DŨNG - 20213839
ĐINH MINH CÔNG - 20210127
NGUYỄN CÔNG HUY - 20213948 DƯƠNG
PHÚC LÂM - 20210508
PHÙNG TRUNG HIẾU - 20213924
Giảng viên hướng dẫn: TS HÀN HUY DŨNG
Hà Nội, July 5, 2024
ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN - ĐIỆN TỬ
BÀI TẬP LN
KỸTHUTVIXỬ
Đề tài:
THIẾTBĐIỀUKHIỂNĐÈNQUAWIFI
Sinh viên thực hin: NGUYỄN MẠNH DŨNG - 20213839
ĐINH MINH CÔNG - 20210127
NGUYỄN CÔNG HUY - 20213948 DƯƠNG
PHÚC LÂM - 20210508
PHÙNG TRUNG HIẾU - 20213924
Giảng viên hướng dẫn: TS. HÀN HUY DŨNG
Hà Nội, July 5, 2024
LỜI NÓI ĐU
Trong xu thế phát triển hiện nay, với sự bùng nổ của cách mạng 4.0 đã làm cho đời
sống của con người ngày càng được nâng cao, hoàn thiện. Trong đó các thiết bị IOT đã
ngày càng đóng một vai trò quan trọng trong sản xuất từng bước bước vào cuộc sống
sinh hoạt ng ngày của mỗi con người. Do đó một ngôi nhà thông minh có thể giám sát
điều khiển từ xa đã dần trở thành hiện thực. Với kiến thức đã được học mong
muốn thiết kế một thiết bị nâng cao chất lượng cuộc sống của mọi người, nhóm em đã
mạnh dạn chọn đề tài “thiết kế thiết bị điều khiển đèn qua wi”, đthể thỏa mãn
đam khám phá khoa học, vừa một ớc quan trọng trong ến trình hoàn thành
môn học.
Trong quá trình thực hiện đồ án của mình, dưới sự ớng dẫn của thầy Hàn Huy
Dũng, chúng em đã cố gắng hết sức đhoàn thiện một cách tốt nhất. Nhưng với kiến
thức sự hiểu biết hạn n sẽ không tránh khỏi những thiếu sót, nhóm em mong
nhận được ý kiến đóng góp từ thầy đề tài của nhóm em có thể hoàn thiện hơn.
MỤC LỤC
DANH MỤC HÌNH VẼ 7
DANH MỤC BẢNG BIỂU 8 ................................................................................................................ 7
CHƯƠNG 1. GIỚI THIỆU ................................................................................................................... 1
1.1 Đặt vấn đề ...................................................................................................................................... 1
1.2 Đối tượng sử dụng ...................................................................................................................... 1
1.3 Mục êu nghiên cứu ................................................................................................................... 1
1.4 Phương pháp nghiên cứu .......................................................................................................... 1
1.5 Phạm vi nghiên cứu .................................................................................................................... 2
1.6 Lập kế hoạch và phân chia nhiệm vụ ..................................................................................... 2
1.7 Các công cụ sử dụng ................................................................................................................... 3
1.7.1 Visual Studio Code ................................................................................................................... 3
1.7.2 Plaorm IO ................................................................................................................................. 3
1.7.3 Blynk ............................................................................................................................................ 4
CHƯƠNG 2. YÊU CẦU HỆ THNG .................................................................................................. 5
2.1 Mô tả hoạt động của hệ thng ................................................................................................ 5
2.2 Yêu cầu chức năng ....................................................................................................................... 5
2.3 Yêu cầu phi chức năng ................................................................................................................ 6
CHƯƠNG 3. THIẾT KẾ HỆ THNG .................................................................................................. 7
3.1 Sơ đồ khối hệ thng .................................................................................................................... 7
3.2 Chi ết từng khối hthng ....................................................................................................... 8
3.2.1 Khối vi điều khiển ..................................................................................................................... 8
3.2.2 Khối chuyển mạch .................................................................................................................. 10
3.2.3 Đèn ............................................................................................................................................. 12
3.2.4 Nguồn ........................................................................................................................................ 12
3.2.5 Blynk app .................................................................................................................................. 13
3.3 Sơ đồ nguyên lý .......................................................................................................................... 17
3.4 Sơ đồ thuật toán chương trình .............................................................................................. 18
3.5 Thiết kế chương trình ............................................................................................................... 20
CHƯƠNG 4. MÔ PHỎNG ................................................................................................................ 23
4.1 Thực hiện mô phỏng ................................................................................................................. 23
4.2 Kết quả mô phỏng ..................................................................................................................... 25
CHƯƠNG 5. KẾT QUẢ THỰC NGHIỆM ....................................................................................... 26
5.1 Kiểm thử chức năng .................................................................................................................. 26
5.1.1 Test Case 1: Bật/Tắt bóng đèn 3W AC 150-265V .......................................................... 26
5.1.2 Test Case 2: Kiểm tra khả năng bật tắt khi ở xa ............................................................. 26
5.1.3 Test Case 3: Khả năng kết nối Wi và đồng bộ với Blynk ............................................ 27
5.1.4 Test Case 4: Khả năng sử dụng trên nhiều thiết bị ....................................................... 27
5.2 Bảng thống kê thời gian phản hồi thực tế .......................................................................... 28
5.3 Đo dòng điện, điện áp .............................................................................................................. 28
5.4 Đo hiệu năng của CPU .............................................................................................................. 31
5.5 Chạy sản phẩm ........................................................................................................................... 33
5.6 Đánh giá kết quả ........................................................................................................................ 35
5.6.1 Đánh giá tổng quan ............................................................................................................... 35
5.6.2 Đánh giá chi ết ...................................................................................................................... 36
KẾT LUẬN ............................................................................................................................................ 37
Kết luận chung .................................................................................................................................. 37
ớng phát triển ............................................................................................................................. 37
TÀI LIỆU THAM KHẢO ..................................................................................................................... 38
PHỤ LC .............................................................................................................................................. 39
DANH MỤC HÌNH V
Hình 1.1 Visual studio code . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Hình 1.2 Plaorm IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Hình 1.3 Mô hình hoạt động của Blynk App . . . . . . . . . . . . . . . . . 5
Hình 3.1 Sơ đồ khối hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . 7
Hình 3.2 ESP32 và ESP8266 . . . . . . . . . . . . . . . . . . . . . . . . . 8
Hình 3.3 Các cổng kết nối của ESP-WROM-32S . . . . . . . . . . . . . . . 10
Hình 3.4 Module Relay Mini 1 kênh 5V-1A . . . . . . . . . . . . . . . . . 11
Hình 3.5 Bóng đèn ASIA 3W-V-AC:150-260v . . . . . . . . . . . . . . . . 12
Hình 3.6 nguồn 5V-1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Hình 3.7 Giao diện đăng nhập Blynk . . . . . . . . . . . . . . . . . . . . . 14
Hình 3.8 To dự án trên Blynk . . . . . . . . . . . . . . . . . . . . . . . . 14
Hình 3.9 Lấy ID của dựa án . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Hình 3.10 Tạo Buon cho dự án . . . . . . . . . . . . . . . . . . . . . . . . 15
Hình 3.11 Thiết lập blynk trên điện thoại . . . . . . . . . . . . . . . . . . . 16
Hình 3.12 Tạo buon trên điện thoại . . . . . . . . . . . . . . . . . . . . . . 16
Hình 3.13 Tạo buon trên điện thoại . . . . . . . . . . . . . . . . . . . . . . 17
Hình 3.14 Sơ đồ nguyên lý của mạch . . . . . . . . . . . . . . . . . . . . . 17
Hình 3.15 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 19
Hình 3.16 Sơ đồ khối của thuật tn . . . . . . . . . . . . . . . . . . . . . . 20
Hình 4.1 Sơ đồ nguyên lý của mạch mô phỏng trên Wokwi . . . . . . . . . 23
Hình 4.2 Trạng thái Debounce . . . . . . . . . . . . . . . . . . . . . . . . 25
Hình 4.3 Kết quả mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Hình 5.1 Cảm biến INA219 dùng để đo dòng điện . . . . . . . . . . . . . . 29
Hình 5.2 Cách mắc cảm biến INA219 . . . . . . . . . . . . . . . . . . . . 30
Hình 5.3 Khi đèn chưa bật . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Hình 5.4 Khi bật đèn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7
DANH MỤC BẢNG BIỂU
Bảng 1.1 Bảng phân chia công việc . . . . . . . . . . . . . . . . . . . . . . 2
Bảng 3.1 Thông số kỹ thuật . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Bảng 3.2 Thông số Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Bảng 3.3 Yêu cầu nguồn cấp của các thiết bị . . . . . . . . . . . . . . . . . 13
Bảng 5.1 Bảng thống kê thời gian phản hồi thực tế . . . . . . . . . . . . . . 29
Bảng 5.2 Bảng giá trị đo dòng điện, điện áp thông qua cảm biến INA219 . . 32
Bảng 5.3 Bảng giá trị đo hiệu năng của CPU . . . . . . . . . . . . . . . . . 34
8
1
CHƯƠNG 1. GIỚI THIỆU
1.1 Đặt vấn đề
Hiện nay ng với sphát triển bùng nổ của khoa học thuật, các thiết bị IOT dần
trthành phần không ththiếu trong cuộc sống của chúng ta. Trong đó các thiết bị điu
khiển từ xa ngày càng phổ bin.
Trước đây, việc điều khiển đèn trong ngôi nhà hoặc văn phòng thông qua công tắc
vật lý có thể không ện lợi, đặc biệt khi muốn tắt hoặc bật đèn từ xa. Do vậy nhóm em
chọn đề tài thiết kế một hệ thống điều khiển đèn thông minh qua wi sử dụng “ESP32”
để giúp người dùng dễ dàng kiểm soát đèn từ xa, không chỉ ở trong phạm vi trong nhà.
1.2 Đối tượng sử dụng
Đối tượng: Các hộ gia đình
Vấn đề cần giải quyết:
Tiêu hao năng lượng không cần thiết khi quên tắt đèn.
Trong trường hợp bạn đi làm nhưng đến công ty bạn mới chợt nhớ ra:"À mình
quên chưa tắt đèn". Lúc đó nếu không tắt đi thì sẽ rất ng phí đin.
Không an toàn khi vắng nhà một khoảng thời gian.
Trường hợp chủ nhà đi vắng 1 khoảng thời gian khoảng 1-2 tuần, buổi tối nếu
không mđèn lên sẽ rất dễ dây chú ý, đnhững đối tượng xấu đột nhập vào
nhà.
Cách giải quyết: Một công tắc đèn thông minh có thể điều khiển được từ xa sẽ gii
quyết hết được những vấn đề đó.
1.3 Mục êu nghiên cứu
Thiết kế hệ thống điều khiển đèn qua wi thông qua Module Wi ESP32.
1.4 Phương pháp nghiên cứu
Trong đề tài nhóm em đã sử dụng các phương pháp nghiên cu:
Phương pháp nghiên cứu thuyết: Tìm hiểu khái niệm, cấu tạo, nguyên hoạt
động, các thông sthuật, đnối chân của Esp32 Relay. Tìm hiểu cách sử
dụng App Blynk, phần mềm nạp code.
Phương pháp nghiên cứu thực nghiệm: thiết kế mạch điều khiển đèn trên điện
thoại thông qua module wi esp32
2
1.5 Phạm vi nghiên cứu
Thiết kế hệ thống điều khiển đèn bằng wibằng các kiến thức đã được học trong môn
học “kỹ thuật vi xử lý” và các kiến thức m hiểu được trên mạng.
1.6 Lập kế hoạch và phân chia nhiệm vụ
Nhằm phát triển hệ thống “điều khiển đèn bằng wi” dựa trên những kiến thức
đã học trong học phần Kỹ thuật vi xử lý cùng kiến thức m hiểu liên quan, cả nhóm đã
thảo luận, lập kế hoạch và phân công công việc cụ thể cho từng thành viên:
Bảng 1.1 Bảng phân chia công việc
Nhóm công
việc
Công việc cụ th
Nhân lực
Phân ch đề tài
Tìm hiểu khái quát về đề tài
Cả nhóm
Định hướng sản phẩm, đưa ra
mô hình giải quyết bài toán
Cả nhóm
Phân ch các yêu cầu chức
năng, phi chức năng
Huy, Lâm, Công
Thiết kế phn
cứng
Đưa ra sơ đồ khối
Huy
Phân ch từng khối và lựa chọn
giải pháp, linh kiện
Dũng, Huy
Đưa sơ đồ mạch nguyên lý
Huy
Mô phỏng
Lâm
Thiết kế phn
mềm
Thiết kế thuật toán
Dũng, Hiếu
Thiết kế sequence diagram
Hiếu
Viết chương trình cho hệ thng
Lâm
Thiết kế giao diện và liên kết với
App Blynk
Công
Hoàn thiện sản
phẩm, báo cáo
Chạy thử chương trình cả hệ
thng
Lâm
Lắp ráp mạch thật
Công
Đo thời gian phản hồi
Công
Thực hiện đo hiệu năng, điện
áp, dòng điện
Công, Lâm
Đánh giá, nhận xét kết quả thc
nghiệm sản phẩm
Dũng
Làm báo cáo
Dũng, Huy
Làm slide thuyết trình
Dũng
3
1.7 Các công cụ sử dng
1.7.1 Visual Studio Code
Visual Studio Code một trình soạn thảo nguồn được phát triển bởi Microso
cho các hệ điều hành Windows, Linux và macOS. Nó ch hợp các nh năng debug, ch
hợp Git, hỗ tr pháp nổi bật (syntax highlighng), tđộng hoàn thành thông
minh, snippets, và nâng cao mã nguồn. Ngoài ra, Visual Studio Code cũng cung cấp nh
năng tùy chỉnh, cho phép người dùng thay đổi theme, phím tắt và các tùy chọn khác.
Hình 1.1 Visual studio code
1.7.2 Plaorm IO
Plaorm IO là môi trường phát triển ch hợp (IDE) đa nền tảng dành cho lập trình
nhúng. Plaorm được ch hợp như một plugin htrtrong nhiều môi trường phát
triển khác nhau nâng cao nh đa dạng của . Với sự hỗ trtừ hàng trăm bo mạch
hàng trăm thư viện phần mềm, PlaormIO cung cấp một bộ công cmạnh mẽ ho các
nhà phát triển để y dựng, thnghiệm và triển khai các dán nhúng một cách hiệu
quả.
Hình 1.2 Plaorm IO
Việc sử dụng Visual Studio Code (VS Code) với PlaormIO IDE mang lại nhiều li
thế so với Arduino IDE truyền thống. Thứ nhất, VS Code có khả năng tự động phát hiện
4
cổng COM của board mạch, giúp việc kết nối và lập trình trở n dễ dàng hơn. Thứ hai,
IntelliSense cung cấp nh ng tđộng hoàn thành code khi bạn đang gõ, giúp đoán
trước và hiển thị các khả năng khác nhau, đồng thời cung cấp thông n chi ết về các
tham số của hàm được gọi. Thứ ba, VS Code tự động phát hiện và gạch chân các lỗi
trong mã trước khi biên dịch, giúp phát hiện và sửa lỗi nhanh chóng. Thứ tư, bạn có thể
mở nhiều tab le ng một lúc, thuận ện cho việc m việc với nhiều tệp n ng
lúc. Cuối cùng, bạn thể ẩn đi từng phần của code, giúp tập trung vào những phần
quan trọng và cải thiện khả năng quản lý mã nguồn.
1.7.3 Blynk
Blynk một nền tảng IoT phbiến cho phép bạn tạo các ứng dụng di động để
điều khiển theo dõi các board Arduino, ESP32,... thông qua internet: thu thập dữ liu
của cảm biến, ảo hóa việc giao ếp và thực hiện nhiều việc khác.
Nguyên làm việc: nhấn nút điều khiển, lệnh sẽ được truyền về server của Blynk,
sau đó Blynk gửi lệnh về module điều khiển, module sau khi chạy lệnh sẽ gửi lại kết quả
theo quy trình ngược lại nghĩa từ thiết bị gửi vserver rồi từ server gửi về điện thoại.
Blynk sẽ hỗ trợ mọi thứ cho chúng ta từ app, trang web cho đến server chỉ với
thao tác rê và thả các đối tượng trong giao diện và vài thiết lập là hoàn tất mọi thứ. Ta
có thể điều khiển thiết bị dựa trên Internet qua mạng LAN, wi, 3G, 4G. Blynk gồm 3
phn:
Blynk App: cho phép tạo các giao diện từ Widget có sẵn.
Blynk Server: truyền tải thông n giữa Smartphome thiết bị. Blynk Server th
1 đám mây của Blynk hoặc thể cài đặt trên máy nhân. thcài đặt trên
Raspberry Pi.
Blynk Libraries: thư viện cung cấp kết nối phần cứng đến server, xử các lệnh đến
và đi.
Lợi ích khi sử dụng Blynk: Dễ sử dụng, đẹp và đầy đủ với giao diện kéo thả giúp người
thiết kế có cái nhìn trực quan hơn
Phù hợp với người không chuyên về lập trình app trên điện thoại
Thử nghiệm nhanh chóng, có thể điều khiển giám sát ở bất kỳ nơi nào có internet
5
Hình 1.3 Mô hình hoạt động của Blynk App
CHƯƠNG 2. YÊU CẦU HỆ THNG
2.1 Mô tả hot động của hệ thng
Hệ thống hoạt động dựa trên sự kết hợp của Module ESP 32 app Blynk trên
smartphone. Blynk slà nơi giao ếp giữa người dùng và thiết bịhiển thị trạng thái
đóng mở của đèn.
Khi nhận được n hiệu từ Blynk module ESP32 sẽ xử gửi n hiệu đến relay,
sau đó relay sẽ tắt hoặc mở đèn.
Ngoài ra hệ thống cũng một công tắc vật lý để điều khiển đèn trong trường hợp
lỗi kết nối wi
2.2 Yêu cầu chức năng
Hệ thống có chức năng điều khiển bật tắt đèn thông qua relay, công tắc vật lý cần
đảm bảo một số yêu cầu sau:
Điều khiển đèn từ xa: người dùng có thể điều khiển từ bất cứ đâu thông qua ứng
dụng di động, miễn là có Internet
Điều khiển đèn bằng công tắc vật lý: trong trường hợp wi hỏng thì công tắc vật
lý vẫn sử dụng được, tức là công tắc vật lý và đèn có thể hoạt động độc lặp
Thông báo trạng thái của đèn: ng dụng sẽ hin thị trạng thái hiện tại của đèn
(bật/tắt)
6
2.3 Yêu cầu phi chức năng
Bên cnh các yêu cầu chức năng ở trên, sản phẩm cũng cần phải đảm bảo một số yêu
cầu như sau:
Thời gian phản hồi nhanh: hệ thống cần thời gian phản hồi ngắn (<=500ms) khi
người dùng gửi yêu cầu điều khiển từ ứng dụng di động
Độ n cậy cao: mạch hoạt động lâu dài không gặp sự cố (không bị treo, đứng hoặc
khởi động lại bất ngờ), không có sai số dụ nngười dùng chưa n nút vật lý hoặc
điều khiển trên app, đèn đã tự động đổi trạng thái
Khnăng bảo trì: hệ thống phải dễ dàng bảo trì cập nhật, bao gồm việc lỗi
thêm các chức năng mới
Chế độ chống quá tải: một thời gian chờ (debounce me) để chặn các lần nhấn liên
ếp quá nhanh
Hệ thống cần hoạt động với điều kiện nhiệt độ phòng:0-50C
Hệ thống hoạt động phù hợp với điện áp lưới Việt Nam:: 220V-50Hz
Hệ thng hoạt động với các điều kiện wi khác nhau: hệ thống hoạt động ổn định
trên các mạng wi với các thiết lập khác nhau, bao gồm mạng công cộng, mạng gia
đình,...;hệ thống cần có khả năng thích ứng với các thay đổi về tốc độ mạng, đảm bảo
rằng các lệnh điều khiển đèn vẫn được gửi và nhận một cách đúng.
Hệ thống cần kiểm tra kết nối của wi liên tục: 3s 1 lần
An ninh: tất cả giao ếp giữa ứng dụng hệ thống phải được hóa đbảo vệ dữ
liệu người dùng; sử dụng các giao thức như TLS (Transport Layer Security) hoặc SSL
(Secure Sockets Layer) để a dữ liệu giao ếp trước khi truyền qua mạng; sử dụng
thuật toán hóa như AES (Advanced Encrypon Standard) đ bảo vệ dữ liệu lưu
trữ( như các cấu hình lưu trữ) đề bảo vệ dữ liệu khi lưu trữ trong bộ nhớ thiết bị
Sản phẩm nhỏ gọn, dễ dàng lắp đt : kích thước nhỏ hơn (25cm *25cm *25cm),
các linh kiện được lắp chắc chắn không bị lung lay.
Giao diện app trực quan, dsử dụng : trực quan nổi bật nút bấm, nút bấm to hơn
kích cỡ ngón tay người trưởng thành một ít.
7
CHƯƠNG 3. THIẾT KẾ HỆ THNG
3.1 Sơ đồ khối hệ thng
Hình 3.1 Sơ đồ khối hệ thng
Với những yêu cầu đặt ra phần trước, chúng em đề xuất một thiết bị bao gồm năm
khối chính: Khối vi điều khiển (Microcontroller module), khối chuyển mạch (Switching
module), blynk app (kết nối không dây), công tắc vật lý(buon) và đèn.
Khối vi điều khiển: đọc và giải mã lệnh nhận được từ giao diện trên app Blynk
người dùng đưa ra; update trạng thái của đèn n Blynk App khi trạng thái của đèn được
thay đổi qua công tắc vật lý; xử dữ liệu từ công tắc vật , đưa ra nhiệm vụ bật tắt
đèn; gửi n hiệu đến khối chuyển mạch.
Khối chuyển mạch: nhn n hiệu từ vi điều khiển thực hiện đóng ngắt đèn
đồng thời khối chuyển mạch cũng đóng vai trò bảo vệ khối vi điều khiển khỏi điện áp
cao từ điện áp lưới khi kết nối với đèn.
Công tắc vật lý (buon): điều khiển trạng thái bật/tắt của đèn bằng vật lý
Blynk App(kết nối không dây): giao ếp với người dùng gửi n hiệu điều khiển
về khối điền khiển.
Đèn: kết nối với khối chuyển mạch và điều khiển bật/ tắt dựa trên n hiệu từ khi
vi điều khiển. Đồng thời trạng thái của đèn có thể thay đổi thủ công thông qua công tc
vật lý.
Một số kí hiệu sử dụng trong sơ đồ:
8
Ctrl-data: n hiệu điều khiển yêu cầu thay đổi trạng thái của đèn. Tín hiệu này khi
được gửi từ buon, khối điều khiển cũng sẽ được gửi đến blynk app (qua kết nối không
dây) để cập nhật trạng thái của đèn lên blynk app.
Light-data: thông n của đèn ban đầu được gửi đến blynk app từ khối điều khiển
Relay-ctrl: n hiệu điều khiển relay. Sau khi nhận được Ctrl-data, khối điều khiển sẽ
gửi n hiệu điều khiển relay đến khối chuyển mạch để thay đổi trạng thái của đèn.
3.2 Chi ết từng khối hệ thng
3.2.1 Khối vi điều khiển
Theo yêu cầu chức năng của sản phẩm, ta thxác định yêu cầu của khối xử
trung tâm như sau: khối vi điều khiển thể kết nối wiđể gửi dliệu lên app Blynk;
có ch hợp sẵn antenna trên chip; ết kiệm năng lượng (dòng êu thụ < 300mA); đáp
ứng các chuẩn bảo mật êu chun.
Dựa trên các yêu cầu đặt ra, nhóm đã lựa chọn 2 phương án module vi điều khiển:
ESP32 và ESP8266
Hình 3.2 ESP32 và ESP8266
Trên hình 3.2 các vi điều khiển ESP32 và ESP8266 dạng module ch hợp sẵn
thạch anh, chip ash, anten chống nhiễu cho mạch nên cho ra sẩn phẩm hoạt
động ổn định.
ới đây là so sánh 2 loại vi điều khiển trên:
9
Bảng 3.1 Thông số kỹ thuật
Tiêu chí
ESP WROOM 32S
NodeMCU
ESP8266 V1
Giá thành
175000 vnđ
105000 vnđ
Số GPIO khả
dụng
36
12
Dòng êu thụ
80mA
80mA
CPU
ESP32 dual-core Tensilica
LX6 microprocessor
ESP8266
RAM
520KB SRAM
80KB RAM
Tn số thch
anh
40MHz
26MHz
Công suất êu
th
- Không hoạt
động: 10
µ
A đến
150
µ
A.
- Hoạt động:
80260mA
- Không hot
động: 10
µ
A. -
Hoạt động:
70170mA
Nhiệt độ hot
động
-40 85
C
-40 125
C
Dựa vào bảng so sánh trên, sau khi tối ưu các yêu cầu cn thiết và định hướng cho
phát triển mở rộng dán sau này, nhóm lựa chọn ESP-WROM 32 với 3 đặc điểm: độ
chính xác cao, khả năng xử mạnh mẽ hơn (tần số thạch anh), đsợng GPIO yêu
cầu, dòng êu thụ thp.
ESP32 một bộ vi điều khiển thuộc danh mục vi điều khiển trên chip công sut
thấp ết kiệm chi phí. Hầu hết tất cả các biến thể ESP32 đều ch hợp Bluetooth
Wi-Fi chế độ kép, làm cho nh linh hoạt cao, mạnh mẽ, đáng n cậy cho nhiều
ứng dụng, và được sử dụng rộng rãi trong nhiều ứng dụng khác nhau như IoT, robot và
tự động hóa.
Hình 3.3 là sơ đồ các cổng kết nối của ESP-WROM-32S
10
Hình 3.3 Các cổng kết nối của ESP-WROM-32S
Bảo mật
IEEE 802.11 hỗ trnhiều chuẩn bảo mật như WFA, WPA/WPA2 WAPI đđảm
bảo an toàn trong việc truyền dữ liệu qua mạng không dây. Đồng thời, các nh năng
bảo mật bao gồm Secure Boot, giúp đm bảo chỉ có phần mềm đã được xác thực mi
thể chạy trên thiết bị, ngăn chặn các phần mềm độc hại. Flash Encrypon hóa
toàn bộ nội dung của bộ nhFlash đbảo vệ nguồn dliệu người dùng, đm
bảo nh riêng tư an toàn của thông n quan trọng. Secure Wireless Communicaon
được hỗ tr bằng các giao thức mã hóa như TLS, đảm bảo bảo vệ dữ liệu truyền tải qua
mạng. Cuối cùng, 1024-bit OTP được sử dụng đbảo vệ hệ thống người dùng, với
768-bit dành cho người dùng lập trình bnhớ và 256-bit cho hthống, cung cấp chế
bảo mật mạnh mẽ để ngăn chặn các cuộc tấn công đảm bảo nh toàn vẹn của d
liu.
3.2.2 Khối chuyển mạch
Sản phẩm có chức năng chính là điều khiển bật tắt đèn dân dụng sử dụng điên áp
220VAC. Hiện nay 2 giái pháp phổ biến cho cách thức điều khiển điện áp 220V
thyristor và relay. Trong đó đối với yêu cầu đầu ra chỉ có 2 trạng thái là bật và tt và tn
số thay đổi trạng thái thấp thì giải pháp sử dụng relay được ưu ên sử dụng với ưu
11
điểm giá thành rẻ, giải pháp điều khiển đơn giản. Khối relay có nhiệm vụ nhận n hiệu
điều khiển từ vi điều khiển và điều khiển trạng thái của các relay tương ứng.
Dòng điện tối đa của mỗi GPIO của vi điều khiển là 12mA, thấp hơn dòng đóng tối
thiểu để kích hoạt Relay thông thường. Nên nhóm quyết định chọn module relay có ch
hợp sẵn các transistor để nâng dòng và diode để bảo vệ giúp kết nối trực ếp với ESP32.
Nhóm chọn “Module Relay Mini 1 kênh 5V-1A”.
Hình 3.4 Module Relay Mini 1 kênh 5V-1A
Bảng 3.2 Thông số Relay
1
1
4mA
5V
250VAC 10A
High/Low(Thay đổi được bằng jump chốt)
55 x 25 mm
Tính năng: Module này nhiều nh năng nổi bật. Trước hết, kích thước
nhgọn khả năng cách điện tốt, thể chịu được điện áp lên đến 250VAC và dòng
điện 10A. Đặc biệt, module được ch hợp cách ly quang giúp cách ly hoàn toàn mch
điều khiển (vi điều khiển) với relay, đảm bảo vi điều khiển hoạt động ổn định. Ngoài ra,
module còn được trang bị Diode bảo vệ chống ngược dòng điện. Với các đầu nối
(connecter) có sẵn, việc kết nối với vi điều khiển và các thiết bị khác trở nên rất ện lợi.
Hơn nữa, người dùng thể dễ ng thay đổi mức n hiệu logic High/Low bằng cách
sử dụng jump chốt.
12
3.2.3 Đèn
Do mục êu thiết kế ban đầu, đèn sẽ kết nối trực ếp với điện áp lưới nên phải đáp
ứng các yêu cầu sau: hoạt động ở tần số 50Hz, điện áp 220V, ết kiệm điện và công suất
của bóng đèn không vượt quá khả năng chịu của relay để tránh gây quá tải và hỏng hóc. Vì
vậy, nhóm quyết định chọn bóng đèn ASIA 3W V-AC: 150-260V.
Hình 3.5 Bóng đèn ASIA 3W-V-AC:150-260v
Với công suất 3W, đèn êu thụ ít điện năng hơn so với các loại đèn truyền thống
như đèn huỳnh quang. Hiệu suất ánh sáng của đèn LED cao hơn so với các loại đèn
khác, nghĩa đèn ssản xuất nhiều ánh sáng hơn không tạo ra nhiễu nhiệt, giúp
ết kiệm năng lượng hơn.
3.2.4 Nguồn
Để mạch hoạt động, cần cung cấp nguồn cho các thiết bị: ESP32, module relay
đèn. Trong đó, đèn được cấp nguồn trực ếp từ điện áp ới 220V-50Hz, ESP32
module relay được cấp nguồn DC một chiều 5VDC.
Đầu vào của nguồn cung cấp điện áp cho ESP32, module relay hoạt động đin
áp 220VAC-50Hz(điện áp lưới), đầu ra sẽ 5VDC. Nhóm đã thống kê các yêu cầu ca
thiết bị để lựa chọn khối nguồn sao cho hiệu qu
13
Bảng 3.3 Yêu cầu nguồn cấp của các thiết b
Tbảng trên ta nh được tổng dòng êu th tối đa là: 580mA < 1A Do đó nhóm
chọn nguồn 5V-1A.
Hình 3.6 nguồn 5V-1A
3.2.5 Blynk app
a, Thiết lập Blynk trên máy nh
Đầu ền truy cập vào hps://blynk.cloud/ đăng nhập, nếu chưa có tài khoản thì chọn
Create new account để đăng ký
STT
Thiết bị
Số ng
Điện áp yêu cầu
Dòng êu thụ
Dòng cung cấp tối
thiểu
1
ESP-WROOM32S
1
5V
80mA-170mA
(wi)
500mA
2
Module Relay
5V-1A
1
3.3-6V
2mA(không
hoạt động)
70mA(hoạt
động)
80mA

Preview text:

ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN - ĐIỆN TỬ BÀI TẬP LỚN KỸTHUẬTVIXỬLÝ Đề tài:
THIẾTBỊ ĐIỀUKHIỂNĐÈNQUAWIFI Sinh viên thực hiện:
NGUYỄN MẠNH DŨNG - 20213839 ĐINH MINH CÔNG - 20210127
NGUYỄN CÔNG HUY - 20213948 DƯƠNG PHÚC LÂM - 20210508
PHÙNG TRUNG HIẾU - 20213924 Giảng viên hướng dẫn: TS HÀN HUY DŨNG Hà Nội, July 5, 2024
ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN - ĐIỆN TỬ BÀI TẬP LỚN KỸTHUẬTVIXỬLÝ Đề tài:
THIẾTBỊ ĐIỀUKHIỂNĐÈNQUAWIFI Sinh viên thực hiện:
NGUYỄN MẠNH DŨNG - 20213839 ĐINH MINH CÔNG - 20210127
NGUYỄN CÔNG HUY - 20213948 DƯƠNG PHÚC LÂM - 20210508
PHÙNG TRUNG HIẾU - 20213924 Giảng viên hướng dẫn: TS. HÀN HUY DŨNG Hà Nội, July 5, 2024 LỜI NÓI ĐẦU
Trong xu thế phát triển hiện nay, với sự bùng nổ của cách mạng 4.0 đã làm cho đời
sống của con người ngày càng được nâng cao, hoàn thiện. Trong đó các thiết bị IOT đã
ngày càng đóng một vai trò quan trọng trong sản xuất và từng bước bước vào cuộc sống
sinh hoạt hàng ngày của mỗi con người. Do đó một ngôi nhà thông minh có thể giám sát
và điều khiển từ xa đã dần trở thành hiện thực. Với kiến thức đã được học và mong
muốn thiết kế một thiết bị nâng cao chất lượng cuộc sống của mọi người, nhóm em đã
mạnh dạn chọn đề tài “thiết kế thiết bị điều khiển đèn qua wifi”, để có thể thỏa mãn
đam mê khám phá khoa học, vừa là một bước quan trọng trong tiến trình hoàn thành môn học.
Trong quá trình thực hiện đồ án của mình, dưới sự hướng dẫn của thầy Hàn Huy
Dũng, chúng em đã cố gắng hết sức để hoàn thiện một cách tốt nhất. Nhưng với kiến
thức và sự hiểu biết có hạn nên sẽ không tránh khỏi những thiếu sót, nhóm em mong
nhận được ý kiến đóng góp từ thầy đề tài của nhóm em có thể hoàn thiện hơn. MỤC LỤC DANH MỤC HÌNH VẼ 7
DANH MỤC BẢNG BIỂU 8 ................................................................................................................ 7
CHƯƠNG 1. GIỚI THIỆU ................................................................................................................... 1
1.1 Đặt vấn đề ...................................................................................................................................... 1
1.2 Đối tượng sử dụng ...................................................................................................................... 1
1.3 Mục tiêu nghiên cứu ................................................................................................................... 1
1.4 Phương pháp nghiên cứu .......................................................................................................... 1
1.5 Phạm vi nghiên cứu .................................................................................................................... 2
1.6 Lập kế hoạch và phân chia nhiệm vụ ..................................................................................... 2
1.7 Các công cụ sử dụng ................................................................................................................... 3
1.7.1 Visual Studio Code ................................................................................................................... 3
1.7.2 Platform IO ................................................................................................................................. 3
1.7.3 Blynk ............................................................................................................................................ 4
CHƯƠNG 2. YÊU CẦU HỆ THỐNG .................................................................................................. 5
2.1 Mô tả hoạt động của hệ thống ................................................................................................ 5
2.2 Yêu cầu chức năng ....................................................................................................................... 5
2.3 Yêu cầu phi chức năng ................................................................................................................ 6
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG .................................................................................................. 7
3.1 Sơ đồ khối hệ thống .................................................................................................................... 7
3.2 Chi tiết từng khối hệ thống ....................................................................................................... 8
3.2.1 Khối vi điều khiển ..................................................................................................................... 8
3.2.2 Khối chuyển mạch .................................................................................................................. 10
3.2.3 Đèn ............................................................................................................................................. 12
3.2.4 Nguồn ........................................................................................................................................ 12
3.2.5 Blynk app .................................................................................................................................. 13
3.3 Sơ đồ nguyên lý .......................................................................................................................... 17
3.4 Sơ đồ thuật toán chương trình .............................................................................................. 18
3.5 Thiết kế chương trình ............................................................................................................... 20
CHƯƠNG 4. MÔ PHỎNG ................................................................................................................ 23
4.1 Thực hiện mô phỏng ................................................................................................................. 23
4.2 Kết quả mô phỏng ..................................................................................................................... 25
CHƯƠNG 5. KẾT QUẢ THỰC NGHIỆM ....................................................................................... 26
5.1 Kiểm thử chức năng .................................................................................................................. 26
5.1.1 Test Case 1: Bật/Tắt bóng đèn 3W AC 150-265V .......................................................... 26
5.1.2 Test Case 2: Kiểm tra khả năng bật tắt khi ở xa ............................................................. 26
5.1.3 Test Case 3: Khả năng kết nối Wifi và đồng bộ với Blynk ............................................ 27
5.1.4 Test Case 4: Khả năng sử dụng trên nhiều thiết bị ....................................................... 27
5.2 Bảng thống kê thời gian phản hồi thực tế .......................................................................... 28
5.3 Đo dòng điện, điện áp .............................................................................................................. 28
5.4 Đo hiệu năng của CPU .............................................................................................................. 31
5.5 Chạy sản phẩm ........................................................................................................................... 33
5.6 Đánh giá kết quả ........................................................................................................................ 35
5.6.1 Đánh giá tổng quan ............................................................................................................... 35
5.6.2 Đánh giá chi tiết ...................................................................................................................... 36
KẾT LUẬN ............................................................................................................................................ 37
Kết luận chung .................................................................................................................................. 37
Hướng phát triển ............................................................................................................................. 37
TÀI LIỆU THAM KHẢO ..................................................................................................................... 38
PHỤ LỤC .............................................................................................................................................. 39 DANH MỤC HÌNH VẼ Hình 1.1
Visual studio code . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Hình 1.2
Platform IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Hình 1.3
Mô hình hoạt động của Blynk App . . . . . . . . . . . . . . . . . 5 Hình 3.1
Sơ đồ khối hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . 7 Hình 3.2
ESP32 và ESP8266 . . . . . . . . . . . . . . . . . . . . . . . . . 8 Hình 3.3
Các cổng kết nối của ESP-WROM-32S . . . . . . . . . . . . . . . 10 Hình 3.4
Module Relay Mini 1 kênh 5V-1A . . . . . . . . . . . . . . . . . 11 Hình 3.5
Bóng đèn ASIA 3W-V-AC:150-260v . . . . . . . . . . . . . . . . 12 Hình 3.6
nguồn 5V-1A . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Hình 3.7
Giao diện đăng nhập Blynk . . . . . . . . . . . . . . . . . . . . . 14
Hình 3.8 Tạo dự án trên Blynk
. . . . . . . . . . . . . . . . . . . . . . . . 14 Hình 3.9
Lấy ID của dựa án . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Hình 3.10 Tạo Button cho dự án . . . . . . . . . . . . . . . . . . . . . . . . 15
Hình 3.11 Thiết lập blynk trên điện thoại
. . . . . . . . . . . . . . . . . . . 16
Hình 3.12 Tạo button trên điện thoại . . . . . . . . . . . . . . . . . . . . . . 16
Hình 3.13 Tạo button trên điện thoại . . . . . . . . . . . . . . . . . . . . . . 17
Hình 3.14 Sơ đồ nguyên lý của mạch
. . . . . . . . . . . . . . . . . . . . . 17 Hình 3.15 Sequence Diagram
. . . . . . . . . . . . . . . . . . . . . . . . . 19
Hình 3.16 Sơ đồ khối của thuật toán . . . . . . . . . . . . . . . . . . . . . . 20 Hình 4.1
Sơ đồ nguyên lý của mạch mô phỏng trên Wokwi . . . . . . . . . 23
Hình 4.2 Trạng thái Debounce
. . . . . . . . . . . . . . . . . . . . . . . . 25 Hình 4.3
Kết quả mô phỏng . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Hình 5.1
Cảm biến INA219 dùng để đo dòng điện . . . . . . . . . . . . . . 29 Hình 5.2
Cách mắc cảm biến INA219
. . . . . . . . . . . . . . . . . . . . 30
Hình 5.3 Khi đèn chưa bật
. . . . . . . . . . . . . . . . . . . . . . . . . . 35 Hình 5.4 Khi bật đèn
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 7
DANH MỤC BẢNG BIỂU Bảng 1.1
Bảng phân chia công việc . . . . . . . . . . . . . . . . . . . . . . 2 Bảng 3.1
Thông số kỹ thuật . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Bảng 3.2
Thông số Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Bảng 3.3
Yêu cầu nguồn cấp của các thiết bị . . . . . . . . . . . . . . . . . 13 Bảng 5.1
Bảng thống kê thời gian phản hồi thực tế . . . . . . . . . . . . . . 29
Bảng 5.2 Bảng giá trị đo dòng điện, điện áp thông qua cảm biến INA219 . . 32 Bảng 5.3
Bảng giá trị đo hiệu năng của CPU . . . . . . . . . . . . . . . . . 34 8
CHƯƠNG 1. GIỚI THIỆU 1.1 Đặt vấn đề
Hiện nay cùng với sự phát triển bùng nổ của khoa học kĩ thuật, các thiết bị IOT dần
trở thành phần không thể thiếu trong cuộc sống của chúng ta. Trong đó các thiết bị điều
khiển từ xa ngày càng phổ biển.
Trước đây, việc điều khiển đèn trong ngôi nhà hoặc văn phòng thông qua công tắc
vật lý có thể không tiện lợi, đặc biệt khi muốn tắt hoặc bật đèn từ xa. Do vậy nhóm em
chọn đề tài thiết kế một hệ thống điều khiển đèn thông minh qua wifi sử dụng “ESP32”
để giúp người dùng dễ dàng kiểm soát đèn từ xa, không chỉ ở trong phạm vi trong nhà.
1.2 Đối tượng sử dụng
• Đối tượng: Các hộ gia đình
• Vấn đề cần giải quyết:
Tiêu hao năng lượng không cần thiết khi quên tắt đèn.
Trong trường hợp bạn đi làm nhưng đến công ty bạn mới chợt nhớ ra:"À mình
quên chưa tắt đèn". Lúc đó nếu không tắt đi thì sẽ rất lãng phí điện.
Không an toàn khi vắng nhà một khoảng thời gian.
Trường hợp chủ nhà đi vắng 1 khoảng thời gian khoảng 1-2 tuần, buổi tối nếu
không mở đèn lên sẽ rất dễ dây chú ý, để những đối tượng xấu đột nhập vào nhà.
• Cách giải quyết: Một công tắc đèn thông minh có thể điều khiển được từ xa sẽ giải
quyết hết được những vấn đề đó.
1.3 Mục tiêu nghiên cứu
Thiết kế hệ thống điều khiển đèn qua wifi thông qua Module Wifi ESP32.
1.4 Phương pháp nghiên cứu
Trong đề tài nhóm em đã sử dụng các phương pháp nghiên cứu:
• Phương pháp nghiên cứu lý thuyết: Tìm hiểu khái niệm, cấu tạo, nguyên lý hoạt
động, các thông số kĩ thuật, sơ đồ nối chân của Esp32 và Relay. Tìm hiểu cách sử
dụng App Blynk, phần mềm nạp code.
• Phương pháp nghiên cứu thực nghiệm: thiết kế mạch điều khiển đèn trên điện
thoại thông qua module wifi esp32 1
1.5 Phạm vi nghiên cứu
Thiết kế hệ thống điều khiển đèn bằng wifi bằng các kiến thức đã được học trong môn
học “kỹ thuật vi xử lý” và các kiến thức tìm hiểu được trên mạng. 1.6
Lập kế hoạch và phân chia nhiệm vụ
Nhằm phát triển hệ thống “điều khiển đèn bằng wifi” dựa trên những kiến thức
đã học trong học phần Kỹ thuật vi xử lý cùng kiến thức tìm hiểu liên quan, cả nhóm đã
thảo luận, lập kế hoạch và phân công công việc cụ thể cho từng thành viên:
Bảng 1.1 Bảng phân chia công việc Nhóm công Công việc cụ thể Nhân lực việc Phân tích đề tài
Tìm hiểu khái quát về đề tài Cả nhóm
Định hướng sản phẩm, đưa ra Cả nhóm
mô hình giải quyết bài toán
Phân tích các yêu cầu chức Huy, Lâm, Công năng, phi chức năng Thiết kế phần Đưa ra sơ đồ khối Huy cứng
Phân tích từng khối và lựa chọn Dũng, Huy giải pháp, linh kiện
Đưa sơ đồ mạch nguyên lý Huy Mô phỏng Lâm Thiết kế phần Thiết kế thuật toán Dũng, Hiếu mềm Thiết kế sequence diagram Hiếu
Viết chương trình cho hệ thống Lâm
Thiết kế giao diện và liên kết với Công App Blynk Hoàn thiện sản
Chạy thử chương trình cả hệ Lâm phẩm, báo cáo thống Lắp ráp mạch thật Công Đo thời gian phản hồi Công
Thực hiện đo hiệu năng, điện Công, Lâm áp, dòng điện
Đánh giá, nhận xét kết quả thực Dũng nghiệm sản phẩm Làm báo cáo Dũng, Huy Làm slide thuyết trình Dũng 2
1.7 Các công cụ sử dụng
1.7.1 Visual Studio Code
Visual Studio Code là một trình soạn thảo mã nguồn được phát triển bởi Microsoft
cho các hệ điều hành Windows, Linux và macOS. Nó tích hợp các tính năng debug, tích
hợp Git, hỗ trợ cú pháp nổi bật (syntax highlighting), tự động hoàn thành mã thông
minh, snippets, và nâng cao mã nguồn. Ngoài ra, Visual Studio Code cũng cung cấp tính
năng tùy chỉnh, cho phép người dùng thay đổi theme, phím tắt và các tùy chọn khác.
Hình 1.1 Visual studio code
1.7.2 Platform IO
Platform IO là môi trường phát triển tích hợp (IDE) đa nền tảng dành cho lập trình
nhúng. Platform được tích hợp như một plugin hỗ trợ trong nhiều môi trường phát
triển khác nhau nâng cao tính đa dạng của nó. Với sự hỗ trợ từ hàng trăm bo mạch và
hàng trăm thư viện phần mềm, PlatformIO cung cấp một bộ công cụ mạnh mẽ ho các
nhà phát triển để xây dựng, thử nghiệm và triển khai các dự án nhúng một cách hiệu quả. Hình 1.2 Platform IO
Việc sử dụng Visual Studio Code (VS Code) với PlatformIO IDE mang lại nhiều lợi
thế so với Arduino IDE truyền thống. Thứ nhất, VS Code có khả năng tự động phát hiện 3
cổng COM của board mạch, giúp việc kết nối và lập trình trở nên dễ dàng hơn. Thứ hai,
IntelliSense cung cấp tính năng tự động hoàn thành code khi bạn đang gõ, giúp đoán
trước và hiển thị các khả năng khác nhau, đồng thời cung cấp thông tin chi tiết về các
tham số của hàm được gọi. Thứ ba, VS Code tự động phát hiện và gạch chân các lỗi có
trong mã trước khi biên dịch, giúp phát hiện và sửa lỗi nhanh chóng. Thứ tư, bạn có thể
mở nhiều tab và file cùng một lúc, thuận tiện cho việc làm việc với nhiều tệp tin cùng
lúc. Cuối cùng, bạn có thể ẩn đi từng phần của code, giúp tập trung vào những phần
quan trọng và cải thiện khả năng quản lý mã nguồn. 1.7.3 Blynk
Blynk là một nền tảng IoT phổ biến cho phép bạn tạo các ứng dụng di động để
điều khiển và theo dõi các board Arduino, ESP32,... thông qua internet: thu thập dữ liệu
của cảm biến, ảo hóa việc giao tiếp và thực hiện nhiều việc khác.
Nguyên lý làm việc: nhấn nút điều khiển, lệnh sẽ được truyền về server của Blynk,
sau đó Blynk gửi lệnh về module điều khiển, module sau khi chạy lệnh sẽ gửi lại kết quả
theo quy trình ngược lại nghĩa là từ thiết bị gửi về server rồi từ server gửi về điện thoại.
Blynk sẽ hỗ trợ mọi thứ cho chúng ta từ app, trang web cho đến server chỉ với
thao tác rê và thả các đối tượng trong giao diện và vài thiết lập là hoàn tất mọi thứ. Ta
có thể điều khiển thiết bị dựa trên Internet qua mạng LAN, wifi, 3G, 4G. Blynk gồm 3 phần:
• Blynk App: cho phép tạo các giao diện từ Widget có sẵn.
• Blynk Server: truyền tải thông tin giữa Smartphome và thiết bị. Blynk Server có thể
là 1 đám mây của Blynk hoặc có thể cài đặt trên máy cá nhân. Có thể cài đặt trên Raspberry Pi.
• Blynk Libraries: thư viện cung cấp kết nối phần cứng đến server, xử lý các lệnh đến và đi.
Lợi ích khi sử dụng Blynk: Dễ sử dụng, đẹp và đầy đủ với giao diện kéo thả giúp người
thiết kế có cái nhìn trực quan hơn
Phù hợp với người không chuyên về lập trình app trên điện thoại
Thử nghiệm nhanh chóng, có thể điều khiển giám sát ở bất kỳ nơi nào có internet 4
Hình 1.3 Mô hình hoạt động của Blynk App
CHƯƠNG 2. YÊU CẦU HỆ THỐNG
2.1 Mô tả hoạt động của hệ thống
Hệ thống hoạt động dựa trên sự kết hợp của Module ESP 32 và app Blynk trên
smartphone. Blynk sẽ là nơi giao tiếp giữa người dùng và thiết bị và hiển thị trạng thái đóng mở của đèn.
Khi nhận được tín hiệu từ Blynk module ESP32 sẽ xử lý và gửi tín hiệu đến relay,
sau đó relay sẽ tắt hoặc mở đèn.
Ngoài ra hệ thống cũng có một công tắc vật lý để điều khiển đèn trong trường hợp lỗi kết nối wifi
2.2 Yêu cầu chức năng
Hệ thống có chức năng điều khiển bật tắt đèn thông qua relay, công tắc vật lý cần
đảm bảo một số yêu cầu sau:
Điều khiển đèn từ xa: người dùng có thể điều khiển từ bất cứ đâu thông qua ứng
dụng di động, miễn là có Internet
Điều khiển đèn bằng công tắc vật lý: trong trường hợp wifi hỏng thì công tắc vật
lý vẫn sử dụng được, tức là công tắc vật lý và đèn có thể hoạt động độc lặp
Thông báo trạng thái của đèn: Ứng dụng sẽ hiện thị trạng thái hiện tại của đèn (bật/tắt) 5
2.3 Yêu cầu phi chức năng
Bên cạnh các yêu cầu chức năng ở trên, sản phẩm cũng cần phải đảm bảo một số yêu cầu như sau:
Thời gian phản hồi nhanh: hệ thống cần có thời gian phản hồi ngắn (<=500ms) khi
người dùng gửi yêu cầu điều khiển từ ứng dụng di động
Độ tin cậy cao: mạch hoạt động lâu dài mà không gặp sự cố (không bị treo, đứng hoặc
khởi động lại bất ngờ), không có sai số ví dụ như người dùng chưa ấn nút vật lý hoặc
điều khiển trên app, đèn đã tự động đổi trạng thái
Khả năng bảo trì: hệ thống phải dễ dàng bảo trì và cập nhật, bao gồm việc vá lỗi và thêm các chức năng mới
Chế độ chống quá tải: có một thời gian chờ (debounce time) để chặn các lần nhấn liên tiếp quá nhanh
Hệ thống cần hoạt động với điều kiện nhiệt độ phòng:0-50C
Hệ thống hoạt động phù hợp với điện áp lưới Việt Nam:: 220V-50Hz
Hệ thống hoạt động với các điều kiện wifi khác nhau: hệ thống hoạt động ổn định
trên các mạng wifi với các thiết lập khác nhau, bao gồm mạng công cộng, mạng gia
đình,...;hệ thống cần có khả năng thích ứng với các thay đổi về tốc độ mạng, đảm bảo
rằng các lệnh điều khiển đèn vẫn được gửi và nhận một cách đúng.
Hệ thống cần kiểm tra kết nối của wifi liên tục: 3s 1 lần
An ninh: tất cả giao tiếp giữa ứng dụng và hệ thống phải được mã hóa để bảo vệ dữ
liệu người dùng; sử dụng các giao thức như TLS (Transport Layer Security) hoặc SSL
(Secure Sockets Layer) để mã hóa dữ liệu giao tiếp trước khi truyền qua mạng; sử dụng
thuật toán mã hóa như AES (Advanced Encryption Standard) để bảo vệ dữ liệu lưu
trữ( như các cấu hình lưu trữ) đề bảo vệ dữ liệu khi lưu trữ trong bộ nhớ thiết bị
Sản phẩm nhỏ gọn, dễ dàng lắp đặt : có kích thước nhỏ hơn (25cm *25cm *25cm),
các linh kiện được lắp chắc chắn không bị lung lay.
Giao diện app trực quan, dễ sử dụng : trực quan nổi bật nút bấm, nút bấm to hơn
kích cỡ ngón tay người trưởng thành một ít. 6
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG
3.1 Sơ đồ khối hệ thống
Hình 3.1 Sơ đồ khối hệ thống
Với những yêu cầu đặt ra phần trước, chúng em đề xuất một thiết bị bao gồm năm
khối chính: Khối vi điều khiển (Microcontroller module), khối chuyển mạch (Switching
module), blynk app (kết nối không dây), công tắc vật lý(button) và đèn.
Khối vi điều khiển: đọc và giải mã lệnh nhận được từ giao diện trên app Blynk mà
người dùng đưa ra; update trạng thái của đèn lên Blynk App khi trạng thái của đèn được
thay đổi qua công tắc vật lý; xử lý dữ liệu từ công tắc vật lý, đưa ra nhiệm vụ bật tắt
đèn; gửi tín hiệu đến khối chuyển mạch.
Khối chuyển mạch: nhận tín hiệu từ vi điều khiển và thực hiện đóng ngắt ở đèn
đồng thời khối chuyển mạch cũng đóng vai trò bảo vệ khối vi điều khiển khỏi điện áp
cao từ điện áp lưới khi kết nối với đèn.
Công tắc vật lý (button): điều khiển trạng thái bật/tắt của đèn bằng vật lý
Blynk App(kết nối không dây): giao tiếp với người dùng và gửi tín hiệu điều khiển về khối điền khiển.
Đèn: kết nối với khối chuyển mạch và điều khiển bật/ tắt dựa trên tín hiệu từ khối
vi điều khiển. Đồng thời trạng thái của đèn có thể thay đổi thủ công thông qua công tắc vật lý.
Một số kí hiệu sử dụng trong sơ đồ: 7
Ctrl-data: tín hiệu điều khiển yêu cầu thay đổi trạng thái của đèn. Tín hiệu này khi
được gửi từ button, khối điều khiển cũng sẽ được gửi đến blynk app (qua kết nối không
dây) để cập nhật trạng thái của đèn lên blynk app.
Light-data: thông tin của đèn ban đầu được gửi đến blynk app từ khối điều khiển
Relay-ctrl: tín hiệu điều khiển relay. Sau khi nhận được Ctrl-data, khối điều khiển sẽ
gửi tín hiệu điều khiển relay đến khối chuyển mạch để thay đổi trạng thái của đèn.
3.2 Chi tiết từng khối hệ thống
3.2.1 Khối vi điều khiển
Theo yêu cầu chức năng của sản phẩm, ta có thể xác định yêu cầu của khối xử lý
trung tâm như sau: khối vi điều khiển có thể kết nối wifi để gửi dữ liệu lên app Blynk;
có tích hợp sẵn antenna trên chip; tiết kiệm năng lượng (dòng tiêu thụ < 300mA); đáp
ứng các chuẩn bảo mật tiêu chuẩn.
Dựa trên các yêu cầu đặt ra, nhóm đã lựa chọn 2 phương án module vi điều khiển: ESP32 và ESP8266
Hình 3.2 ESP32 và ESP8266
Trên hình 3.2 là các vi điều khiển ESP32 và ESP8266 ở dạng module tích hợp sẵn
thạch anh, chip flash, anten và chống nhiễu cho mạch nên cho ra sẩn phẩm có hoạt động ổn định.
Dưới đây là so sánh 2 loại vi điều khiển trên: 8
Bảng 3.1 Thông số kỹ thuật NodeMCU Tiêu chí ESP WROOM 32S ESP8266 V1 Giá thành 175000 vnđ 105000 vnđ Số GPIO khả 36 12 dụng Dòng tiêu thụ ≈80mA ≈80mA ESP32 dual-core Tensilica CPU ESP8266 LX6 microprocessor RAM 520KB SRAM 80KB RAM Tần số thạch 40MHz 26MHz anh Công suất tiêu - Không hoạt - Không hoạt thụ động: 10µA đến động: 10µA. - 150 µA. Hoạt động: - Hoạt động: 70170mA 80260mA Nhiệt độ hoạt -40 → 85◦C -40 → 125◦C động
Dựa vào bảng so sánh trên, sau khi tối ưu các yêu cầu cần thiết và định hướng cho
phát triển mở rộng dự án sau này, nhóm lựa chọn ESP-WROM 32 với 3 đặc điểm: độ
chính xác cao, khả năng xử lý mạnh mẽ hơn (tần số thạch anh), đủ số lượng GPIO yêu
cầu, dòng tiêu thụ thấp.
ESP32 là một bộ vi điều khiển thuộc danh mục vi điều khiển trên chip công suất
thấp và tiết kiệm chi phí. Hầu hết tất cả các biến thể ESP32 đều tích hợp Bluetooth và
Wi-Fi chế độ kép, làm cho nó có tính linh hoạt cao, mạnh mẽ, đáng tin cậy cho nhiều
ứng dụng, và được sử dụng rộng rãi trong nhiều ứng dụng khác nhau như IoT, robot và tự động hóa.
Hình 3.3 là sơ đồ các cổng kết nối của ESP-WROM-32S 9
Hình 3.3 Các cổng kết nối của ESP-WROM-32S Bảo mật
IEEE 802.11 hỗ trợ nhiều chuẩn bảo mật như WFA, WPA/WPA2 và WAPI để đảm
bảo an toàn trong việc truyền dữ liệu qua mạng không dây. Đồng thời, các tính năng
bảo mật bao gồm Secure Boot, giúp đảm bảo chỉ có phần mềm đã được xác thực mới
có thể chạy trên thiết bị, ngăn chặn các phần mềm độc hại. Flash Encryption mã hóa
toàn bộ nội dung của bộ nhớ Flash để bảo vệ mã nguồn và dữ liệu người dùng, đảm
bảo tính riêng tư và an toàn của thông tin quan trọng. Secure Wireless Communication
được hỗ trợ bằng các giao thức mã hóa như TLS, đảm bảo bảo vệ dữ liệu truyền tải qua
mạng. Cuối cùng, 1024-bit OTP được sử dụng để bảo vệ hệ thống và người dùng, với
768-bit dành cho người dùng lập trình bộ nhớ và 256-bit cho hệ thống, cung cấp cơ chế
bảo mật mạnh mẽ để ngăn chặn các cuộc tấn công và đảm bảo tính toàn vẹn của dữ liệu.
3.2.2 Khối chuyển mạch
Sản phẩm có chức năng chính là điều khiển bật tắt đèn dân dụng sử dụng điên áp
220VAC. Hiện nay có 2 giái pháp phổ biến cho cách thức điều khiển điện áp 220V là
thyristor và relay. Trong đó đối với yêu cầu đầu ra chỉ có 2 trạng thái là bật và tắt và tần
số thay đổi trạng thái thấp thì giải pháp sử dụng relay được ưu tiên sử dụng với ưu 10
điểm giá thành rẻ, giải pháp điều khiển đơn giản. Khối relay có nhiệm vụ nhận tín hiệu
điều khiển từ vi điều khiển và điều khiển trạng thái của các relay tương ứng.
Dòng điện tối đa của mỗi GPIO của vi điều khiển là 12mA, thấp hơn dòng đóng tối
thiểu để kích hoạt Relay thông thường. Nên nhóm quyết định chọn module relay có tích
hợp sẵn các transistor để nâng dòng và diode để bảo vệ giúp kết nối trực tiếp với ESP32.
Nhóm chọn “Module Relay Mini 1 kênh 5V-1A”.
Hình 3.4 Module Relay Mini 1 kênh 5V-1A
Bảng 3.2 Thông số Relay Số Relay đầu ra 1
Các chân tín hiệu điều khiển 1 Dòng kích relay 4mA
Điện áp hoạt động của Module 5V
Tiếp điểm relay đóng ngắt 250VAC 10A
Mức tín hiệu Logic điều khiển High/Low(Thay đổi được bằng jump chốt)
Kích thước (dài x rộng) 55 x 25 mm
Tính năng: Module này có nhiều tính năng nổi bật. Trước hết, nó có kích thước
nhỏ gọn và khả năng cách điện tốt, có thể chịu được điện áp lên đến 250VAC và dòng
điện 10A. Đặc biệt, module được tích hợp cách ly quang giúp cách ly hoàn toàn mạch
điều khiển (vi điều khiển) với relay, đảm bảo vi điều khiển hoạt động ổn định. Ngoài ra,
module còn được trang bị Diode bảo vệ chống ngược dòng điện. Với các đầu nối
(connecter) có sẵn, việc kết nối với vi điều khiển và các thiết bị khác trở nên rất tiện lợi.
Hơn nữa, người dùng có thể dễ dàng thay đổi mức tín hiệu logic High/Low bằng cách sử dụng jump chốt. 11 3.2.3 Đèn
Do mục tiêu thiết kế ban đầu, đèn sẽ kết nối trực tiếp với điện áp lưới nên phải đáp
ứng các yêu cầu sau: hoạt động ở tần số 50Hz, điện áp 220V, tiết kiệm điện và công suất
của bóng đèn không vượt quá khả năng chịu của relay để tránh gây quá tải và hỏng hóc. Vì
vậy, nhóm quyết định chọn bóng đèn ASIA 3W V-AC: 150-260V.
Hình 3.5 Bóng đèn ASIA 3W-V-AC:150-260v
Với công suất 3W, đèn tiêu thụ ít điện năng hơn so với các loại đèn truyền thống
như đèn huỳnh quang. Hiệu suất ánh sáng của đèn LED cao hơn so với các loại đèn
khác, nghĩa là đèn sẽ sản xuất nhiều ánh sáng hơn mà không tạo ra nhiễu nhiệt, giúp
tiết kiệm năng lượng hơn. 3.2.4 Nguồn
Để mạch hoạt động, cần cung cấp nguồn cho các thiết bị: ESP32, module relay và
đèn. Trong đó, đèn được cấp nguồn trực tiếp từ điện áp lưới 220V-50Hz, ESP32 và
module relay được cấp nguồn DC một chiều 5VDC.
Đầu vào của nguồn cung cấp điện áp cho ESP32, module relay hoạt động là điện
áp 220VAC-50Hz(điện áp lưới), đầu ra sẽ là 5VDC. Nhóm đã thống kê các yêu cầu của
thiết bị để lựa chọn khối nguồn sao cho hiệu quả 12
Bảng 3.3 Yêu cầu nguồn cấp của các thiết bị Dòng cung cấp tối STT Thiết bị Số lượng Điện áp yêu cầu Dòng tiêu thụ thiểu ESP-WROOM32S 80mA-170mA 1 1 5V 500mA (wifi) 2mA(không Module Relay hoạt động) 2 1 3.3-6V 80mA 5V-1A 70mA(hoạt động)
Từ bảng trên ta tính được tổng dòng tiêu thụ tối đa là: 580mA < 1A Do đó nhóm chọn nguồn 5V-1A.
Hình 3.6 nguồn 5V-1A 3.2.5 Blynk app
a, Thiết lập Blynk trên máy tính
Đầu tiền truy cập vào https://blynk.cloud/ đăng nhập, nếu chưa có tài khoản thì chọn
Create new account để đăng ký 13