Giao diện website bao gồm các trang: Trang chính - Hiển thị trạng thái hiện tại, Trang điều khiển - Hiển thị công tắc dành cho đèn/cửa, Trang lịch sử - Hiển thị bảng ghi nhận sử dụng, Tr
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN(CLC)
BÁO CÁO DỰ ÁN
HỆ THỐNG ĐIỀU KHIỂN ĐÈN, CỬA TỪ XA
Sinh viên thực hiện: 22127253 – Hoàng Trí Luật
21127680 – Trần Văn Quyết
TP.HCM , 12 tháng 11 năm 2024
Trang 2MỤC LỤC
I PHẦN TÓM TẮT 2
1 PHẦN GIỚI THIỆU 2
2 PHẦN THIẾT KẾ 2
3 PHẦN THỰC HIỆN 2
II PHẦN GIỚI THIỆU 3
III PHẦN THIẾT KẾ 3
1 THIẾT KẾ GIAO DIỆN WEBSITE: 3
a Trang chính (Dashboard): 3
2 THIẾT KẾ HÌNH DÁNG 3D: 4
IV THIẾT KẾ SƠ ĐỒ TRUYỀN VÀ NHẬN DỮ LIỆU: 4
1 Từ Arduino đến Server (Backend): 4
2 Từ Server đến Website (Frontend): 5
3 Từ Website đến Server: 5
4 Từ Server đến Arduino: 6
5 Các dịch vụ bên thứ ba (Firebase hoặc MQTT) 6
Tóm tắt sơ đồ 6
V PHẦN THỰC HIỆN: 7
1 Danh sách linh kiện sử dụng: 7
2 Kế hoạch thực hiện và phân công công việc: 9
VI PHẦN TRÍCH DẪN: 10
Trang 3I PHẦN TÓM TẮT.
1 PHẦN GIỚI THIỆU.
Phần này giới thiệu về sản phẩm, các chức năng và công dụng của sản phẩm; cũng như vai trò của sản phẩm đối với đời sống thực tiễn
2 PHẦN THIẾT KẾ.
Đây là phần mô tả hình dáng 3D của sản phẩm, cấu tạo trong và ngoài, cách lắp đặt mạch điện của sản phẩm, giao diện website và sơ đồ truyền dữ liệu Giao diện
website bao gồm các trang: Trang chính - Hiển thị trạng thái hiện tại, Trang điều
khiển - Hiển thị công tắc dành cho đèn/cửa, Trang lịch sử - Hiển thị bảng ghi nhận
sử dụng, Trang cài đặt - Cài đặt tự động đóng/mở đèn/cửa.
3 PHẦN THỰC HIỆN.
Liệt kê danh mục các linh kiện điện tử cần có kèm theo giá cả, mô tả chức năng của các thiết bị ke
II PHẦN GIỚI THIỆU
Trong công cuộc cách mạng công nghiệp 4.0, khi mà công nghệ kỹ thuật số ngày càng được phát triển nhằm mục đích nâng cao chất lượng cuộc sống con người, chúng tôi với
tư cách là sinh viên ngành Công Nghệ Thông Tin của trường Đại học Khoa Học Tự Nhiên đã nhận thức được trách nhiệm của mình trong sự thay đổi này và mang đến một sản phẩm công nghệ mang tên là “Hệ thống điều khiển đèn, cửa từ xa”
Khi mà thời đại kỹ thuật số đang ngày càng đi lên, nhu cầu về các thiết bị thông minh ngày càng nhiều, sản phẩm của chúng tôi biến những ngôi nhà, cơ sở hạ tầng thành một môi trường thông minh, có khả năng quản lý các thiết bị điện như đèn và cửa tự động từ
xa thông qua ứng dụng và website của thiết bị smartphone
Các chức năng chính của sản phẩm bao gồm: Bật/tắt công tắt đèn và cửa tự động qua ứng dụng hoặc website, hẹn giờ bật/tắt công tắc, thông báo thay đổi về trạng thái của thiết bị sau khi bật/tắt
Trang 4III PHẦN THIẾT KẾ
1 THIẾT KẾ GIAO DIỆN WEBSITE [1] :
a Trang chính (Dashboard):
● Hiển thị trạng thái hiện tại: Có các biểu tượng đại diện cho cửa và đèn Mỗi biểu tượng sẽ hiển thị trạng thái hiện tại (mở/tắt, sáng/tắt)
b Trang điều khiển (Control):
● Nút điều khiển cửa: Nút "Mở/Đóng Cửa" cho phép người dùng điều khiển cửa Mỗi lần bấm, trạng thái sẽ thay đổi và giao diện hiển thị phản hồi
● Nút điều khiển đèn: Nút "Bật/Tắt Đèn" cho phép điều khiển đèn Khi người dùng bấm, giao diện sẽ phản hồi về trạng thái hiện tại của đèn
● Thông báo phản hồi: Hiển thị thông báo khi thao tác điều khiển được gửi thành công hoặc báo lỗi nếu có sự cố
c Trang lịch sử (History):
● Bảng ghi nhận lịch sử: Hiển thị danh sách các thao tác đã thực hiện trên cửa/đèn Mỗi dòng gồm:
○ Thời gian thao tác
○ Loại thao tác (Mở/Đóng Cửa, Bật/Tắt Đèn)
○ Trạng thái (thành công/thất bại)
● Bộ lọc: Cho phép lọc theo thời gian hoặc loại thao tác
d Trang cài đặt (Settings):
○ Thời gian tự động khóa cửa: Cho phép người dùng đặt thời gian để cửa tự động khóa sau khi mở
○ Cài đặt đèn: Các tùy chọn để đặt thời gian bật/tắt tự động đèn
○ Lưu cấu hình: Nút lưu cấu hình và xác nhận nếu thay đổi thành công
2 THIẾT KẾ HÌNH DÁNG 3D [2] :
○ Phần vỏ bên ngoài:
■ Vỏ hộp bảo vệ: hộp nhựa hoặc hộp gỗ để chứa toàn bộ hệ
thống
■ Mặt cửa: nơi hệ thống sẽ được gắn lên, bao gồm các bộ phận
cơ khí và các cảm biến cần thiết
○ Phần bên trong:
■ Arduino Uno R3: đặt ở trung tâm của hộp với các lỗ cố định
để dễ dàng nối dây với các linh kiện khác
Trang 5■ Relay 2 kênh: đặt gần nguồn điện để dễ dàng điều khiển đèn
LED và các thiết bị khác
■ ESP8266: đặt gần Arduino để nhận tín hiệu từ các cảm biến
và điều khiển thông qua mạng Wifi
■ Cảm biến từ MC-38: đặt ở cạnh của cửa, một phần gắn trên
khung và phần còn lại trên cánh cửa để nhận tín hiệu mở/đóng
■ Nguồn điện 5V: đặt gần Arduino và Relay để cung cấp điện
cho toàn bộ hệ thống
■ Dây nối và bo test: sắp xếp gọn gàng ở dưới cùng của hộp để
kết nối các linh kiện
IV THIẾT KẾ SƠ ĐỒ TRUYỀN VÀ NHẬN DỮ LIỆU [6] :
1 Từ Arduino đến Server (Backend) [3] :
○ Dữ liệu trạng thái:
■ Gửi: Arduino gửi trạng thái hiện tại của cửa (mở/tắt) và đèn
(sáng/tắt) định kỳ (ví dụ, mỗi 10 giây) hoặc khi có sự thay đổi trạng thái
■ Dạng dữ liệu: JSON hoặc gói tin MQTT với các trường như:
json
{
"device_id": "door_light_controller_01",
"door_status": "open", // hoặc "closed"
"light_status": "on", // hoặc "off"
"timestamp": "2024-09-11T11:30:00"
}
2 Từ Server đến Website (Frontend):
○ Dữ liệu cập nhật trạng thái: Server gửi thông tin trạng thái hiện tại đến
website để hiển thị cho người dùng
○ Gửi dữ liệu: Dữ liệu gửi qua WebSocket hoặc API REST cho giao diện
website Khi có thay đổi trạng thái, server cập nhật ngay lập tức cho website để hiển thị theo thời gian thực
Trang 6○ Phản hồi JSON:
json
{
"door_status": "closed",
"light_status": "off",
"last_updated": "2024-09-11T11:45:00"
}
3 Từ Website đến Server:
○ Yêu cầu điều khiển từ người dùng:
■ Người dùng gửi yêu cầu điều khiển từ website (như mở cửa hoặc bật đèn) Dữ liệu này có dạng JSON gửi qua HTTP POST hoặc WebSocket
■ Dữ liệu yêu cầu:
json
{
"device_id": "door_light_controller_01",
"command": "toggle_door", // hoặc "toggle_light"
"auth_token": "user_token_12345",
"timestamp": "2024-09-11T11:45:00"
}
■ Phản hồi: Server gửi phản hồi trạng thái thực hiện thành công hoặc
thất bại, đồng thời cập nhật trạng thái nếu thành công
4 Từ Server đến Arduino:
○ Lệnh điều khiển: Khi Server nhận lệnh điều khiển từ website, nó sẽ
chuyển tiếp lệnh này đến Arduino để thực hiện Arduino nhận và thực thi yêu cầu (mở cửa hoặc bật đèn)
○ Dữ liệu lệnh:
json
{
Trang 7"command": "open_door", // hoặc "close_door","turn_on_light", "turn_off_light"
"timestamp": "2024-09-11T11:45:00"
}
○ Xác nhận phản hồi: Sau khi thực hiện, Arduino gửi phản hồi lại cho
Server để xác nhận thao tác đã thành công
5. Các dịch vụ bên thứ ba (Firebase hoặc MQTT):
Nếu sử dụng dịch vụ đám mây như Firebase hoặc MQTT để lưu trữ dữ liệu trạng thái và lịch sử:
● Firebase [5]: Có thể lưu dữ liệu trạng thái và lịch sử thao tác, giúp đồng bộ dữ liệu giữa các thiết bị và website theo thời gian thực
● MQTT: Dùng cho truyền thông hiệu quả giữa các thiết bị và server với độ trễ
thấp
Tóm tắt sơ đồ
● Arduino ↔ Server: Arduino gửi trạng thái hiện tại đến Server và nhận lệnh điều
khiển từ Server
● Server ↔ Website: Website yêu cầu trạng thái và gửi lệnh điều khiển, Server
phản hồi trạng thái và điều khiển thiết bị qua Arduino
● Server ↔ Firebase/MQTT: Lưu và quản lý dữ liệu lịch sử, đồng bộ hóa và phát
tín hiệu cho các thiết bị liên quan
V PHẦN THỰC HIỆN:
1 Danh sách linh kiện sử dụng [1] :
Trang 8Linh kiện Chức năng Giá (VND) Link linh kiện
Arduino
kèm cáp
Nhận và gửi tín hiệu đến các linh kiện khác, đồng thời kết nối với module WiFi để giao tiếp với server
195,000 https://www.dientudat.com/a
rduino-uno-r3
Module
Relay
2 kênh
Đóng hoặc ngắt mạch điện dựa trên tín hiệu từ Arduino
32,000 https://linhkienvietnam.vn/b
o-mach-module-relay-2-ken h-24v-10a-chon-muc-kich-h oat-high-low-b1h13?variantI d=73232241&gad_source=1
&gclid=Cj0KCQiA88a5Bh DPARIsAFj595jTDil0Jn4tU RCe-2O6KpL942QzJEBGc PypGzsmcqfg8ioYgTN3tJU aAjzBEALw_wcB
ESP32
Mạch điện tử có thể phát Wifi và Bluetooth
205,000 https://shopee.vn/B%E1%B
A%A3ng-M%E1%BA%A1 ch-Ph%C3%A1t-Tri%E1%B B%83n-bluetooth-pcbfun-es p32-c6-Wifirisc-v-32-bit-8m b-type-c-i.213820428.20185 650696?sp_atk=f70a1f26-4f 38-4dc8-8644-9cee077c991 7&xptdk=f70a1f26-4f38-4d c8-8644-9cee077c9917
Trang 9Cảm biến
từ MC-38
Gửi tín hiệu đến Arduino
về trạng thái hiện tại của cửa, để Arduino có thể xác định cần thực hiện lệnh mở hay đóng
12,000 https://nshopvn.com/product
/cam-bien-tu-mc-38/?gad_so urce=1&gclid=Cj0KCQiA8 8a5BhDPARIsAFj595jWf7 CboBIC62xjThgKV85-uU WmOIvX_SYRMOzMk0Nt tysOVhuw-PQaAsChEALw _wcB
Bóng đèn
led
Được bật/tắt dựa trên lệnh
từ Arduino thông qua relay
30,000 https://anandecor.vn/san-pha
m/bong-den-led-edison-a60-4w-6w/?gad_source=1&gcli d=Cj0KCQiA88a5BhDPARI sAFj595i-edSeynX8IXAN3 HSyPK-jx0xNdLnpfbpa3IN N3UmXSQkLzGo9JmUaAj pSEALw_wcB
Nguồn
điện 5V
Đảm bảo cung cấp dòng điện ổn định cho tất cả các linh kiện mà Arduino điều khiển
30,000 https://linhkienvietnam.vn/n
guon-adapter-5v-2a-5v2a-kh o-b-ka9h14?variantId=7323 2555&gad_source=1&gclid
=Cj0KCQiA88a5BhDPARIs AFj595j7o7QoovdgyA_Mjt 645IjbX78sZBCK8yaGA20 _D72Pot17jpu4DD8aAu3C EALw_wcB
Trang 10Bo test và
dây nối
50,000 https://banlinhkiendientu.vn/
bo-test-breadboard-mb-102/
?gad_source=1&gclid=Cj0K CQiA88a5BhDPARIsAFj59 5jrgnN5AhMzkn1CKgZ-_R 30Q38u1FU-TP30g658MFC BbyYz7c07p_QaAvccEALw _wcB
2 Kế hoạch thực hiện và phân công công việc:
Thiết kế sơ đồ
mạch
Thiết kế mạch điện và
sơ đồ kết nối cho hệ thống
Hoàng Trí Luật 12/11/2024
Tạo giao diện
website
Lập trình giao diện website
Trần Văn Quyết, Hoàng Trí Luật
19/11/2024
Lập trình Arduino Viết code điều khiển
Arduino để xử lý tín hiệu từ relay và cảm biến
Hoàng Trí Luật 22/11/2024
Kết nối module
WIFI
Cấu hình ESP8266 và kết nối với Wifi
Trần Văn Quyết 30/11/2024
Lập trình API cho
server
Xây dựng API để giao tiếp giữa server và Arduino
Trần Văn Quyết 2/12/2024
Trang 11Thiết kế và kiểm
tra chức năng cảm
biến
Cấu hình và thử nghiệm các cảm biến chuyển động và từ trường
Hoàng Trí Luật 30/11/2024
Kiểm tra và điều
chỉnh hệ thống
Kiểm tra tổng quan các chức năng và điều chỉnh nếu cần
Trần Văn Quyết, Hoàng Trí Luật
10/12/2024
Viết báo cáo và
trình bày
Hoàn thiện tài liệu hướng dẫn, viết báo cáo và chuẩn bị trình bày
Trần Văn Quyết, Hoàng Trí Luật
25/12/2024
VI PHẦN TRÍCH DẪN:
[1]https://nevonprojects.com/iot-electronic-door-opener/
[2]
https://www.irjmets.com/uploadedfiles/paper//issue_2_february_2022/19187/final/fin_irj mets1645372360.pdf
[3]
https://projecthub.arduino.cc/alranel/how-to-open-a-door-from-your-smartphone-4731aa
[4] Thiết kế giao diện web
https://www.figma.com/community/file/1214843299831883608/learn-ui-design-in-figma
[5]
https://firebase.google.com/docs/functions/get-started
[6]
https://viblo.asia/p/so-luoc-ve-mo-hinh-client-server-va-giao-thuc-http-jvElaarNlkw