3.1. Phân tích mô hình hệ thống
Hệ thống sử dụng một board Esp32 làm vi điều khiến trung tâm dé kết nối với server bằng giao thức WebSocket. Board Esp32 trung tâm kết nối tới hai board Esp32 còn lại bằng giao thức Esp-Now. Ngoài ra, còn sử dụng một board Esp32- Cam dé chụp ảnh. Server sẽ lay những anh từ board Esp32-Cam tải lên dé sử dụng
mở cửa và cảnh báo qua gmail. Ngoài ra, server còn kết nối với siri để nhận lệnh điều khién bằng giọng nói và kết nối tới database dé truy van dữ liệu. Kiến trúc hệ thống được mô tả như hình 3.1.
GỬI CẢNH BÁO VÈ
DATABASE SERVER GMAIL
`. ,.„.. `.
——# ⁄“Z ⁄
ESP32-CAM
ESP32 ESP32
DONG/MO CUA DIEU KHIEN THIET BỊ
(VAN TAY,KHUÔN MAT, RFID) (ĐÈN, REM, MAY LẠNH...)
Hình 3.1 Mô hình kiến trúc hệ thong
Hai board Esp32 ở hai node sẽ chức năng như sau:
e Esp32 thứ nhất: có chức năng điều khiển cửa ra vào. Board Esp32 này sẽ kết
nối với các cảm biến và thiết bị như là thẻ từ, vân tay, hồng ngoại, chuông,
cửa
26
e Esp32 thứ hai: có chức năng là điều khiển phòng khách. Board Esp32 nay sẽ
kết nối với các cảm biến và thiết bị như là rèm cửa, đèn phòng khách, đèn RGB, cảm biến mưa, cảm biến nhiệt độ độ am...
Ở phía server thì được thiết kế bằng ngôn ngữ PHP. Thiết kế giao diện người dùng bằng HTML, JavaScript, CSS và nhúng vào mã PHP. Database được thiết kế bang Mysdl.
3.2. Thiết kế chức năng mở cửa ra vào bằng khuôn mặt
Sơ đồ luồng dữ liệu cho chức năng mở cửa băng khuôn mặt như hình 3.2.
Train các ảnh gốc Bắt đầu của người sử
dụng
Tải ảnh từ Esp32-
Cam về máy tính
Có cảm biến hồng ngoại ở cửa ? N1
Sai
Át thi Gửi tín hiệu mở
-. của về ESP32
Hình 3.2 Sơ đô chức năng mở cửa bằng khuôn mặt
Ở sơ đồ hình 3.2, ta sẽ huấn luyện các ảnh gốc của người sử dụng và lưu dit liệu sau khi huấn luyện xong. Sau đó, lấy dữ liệu ảnh từ ESP32-CAM gửi lên và lưu vào máy. Khi cảm biến chuyên động phát hiện chuyên động, ta sẽ kiểm tra xem chức năng mở cửa bằng khuôn mặt có được bật hay là đóng. Nếu chức năng mở cửa băng khuôn mặt được mở, ta sẽ lây ảnh từ ESP32-CAM so sánh với các dữ liệu đã được huấn luyện. Nếu hai dữ liệu phù hợp với độ chính xác đặt ra thì sẽ gửi tín hiệu mở cửa về ESP32.
27
3.3. Thiết kế chức năng mở cửa ra vào bằng thé từ RFID
Sơ đồ chức năng mở cửa băng thẻ từ RFID như hình 3.3.
Đọc chế độ thẻ từ từ server và gửi về ESP |
ESP lưu chế độ thẻ từ vào bộ nhớ
<<Cho phép mở cửa bang thẻ từ
Thẻ từ nhập vào đúng ?
đúng Vv
Mỏ cửa, sau đó gửi tin hiệu mở cửa
<> lên server. Server cập nhật lại giao
diện và trạng thái
Hình 3.3 Sơ đô chức năng mở cửa bằng thẻ từ RFID
Ở hình 3.3, ta sử dụng nút nhấn trên server dé bật tắt chế độ mở cửa bằng thẻ
từ. Dữ liệu này sẽ được gửi về ESP32 và ESP32 sẽ lưu vào bộ nhớ. Khi chế độ mở cửa băng thẻ từ được mở, ta sẽ kiêm tra xem thử từ đặt vào có đúng thẻ từ ta cài đặt sẵn không. Nếu thẻ từ đúng sẽ mở cửa và gửi trạng thái mở cửa lên server dé server
cập nhật lại giao diện và dữ liệu.
3.4. Thiết kế chức năng mở cửa ra vào bằng vân tay
Sơ đồ chức năng mở cửa băng vân tay như hình 3.4.
Ở hình 3.4, ta sử dụng nút nhấn trên server dé bật tắt chế độ mở cửa bang van tay. Dữ liệu này sẽ được gửi về ESP32 và ESP32 sẽ lưu vào bộ nhớ. Khi chế độ mở cửa bằng vân tay được mở, ta sẽ kiểm tra xem vân tay đặt vào có đúng vân tay đã lưu
trữ không. Nêu vân tay đúng sẽ mở cửa và gửi trạng thái mở cửa lên server đê server cập nhật lại giao diện và dữ liệu.
28
Cea au) Đọc chế độ van tay từ server và gửi về ESP
Ỷ
ESP lưu chế độ vân tay vào bộ nhớ
<Cho phép mở cửa bang vân tay?
đúng
Sar Vân tay nhập vào đúng ?
đúng v
Hình 3.4 Sơ đồ chức năng mở cửa bằng vân tay
3.5. Thiết kế chức năng điều khién các thiết bi bằng website và nút nhắn
Ở phan này, ta sẽ sử dụng website dé điều khiển đóng/mở trực tiếp các thiết bị
là cửa, rèm, điều hòa, đèn phòng khách. Sơ đồ điều khiên thiết bị bằng website như
hình 3.5.
Server gửi tín hiệu
điều khiển bật/tắt thiết bị về Esp32
Esp32 điều khiển bật/ tắt thiết bị
Ở hình 3.5, ta sẽ lấy dữ liệu điều khiến các thiết bị từ server và gửi về ESP32. ESP32 nhận các dữ liệu đó và điều khiển các thiết bi trong căn hộ.
Ngoài ra còn điều khiển bật/tắt rèm, đèn phòng khách, điều hòa bang nút nhắn vật lý. Sơ đồ điều khién bằng nút nhắn như hình 3.6.
Ở hình 3.6, khi ta nhấn nút nhấn, thì thiết bị sẽ đổi ngược trạng thái. Sau đó,
sẽ lây trạng thái của thiết bị và gửi lên server. Server sẽ cập nhật lại giao diện và dữ
liệu.
29
Đọc trạng thái nút
nhan vat lí
Gửi trạng thái thiết
bị lên Server. Server
cập nhật giao diện
và dữ liệu
Hình 3.6 Sơ đô điều khiển thiết bị bằng nút nhắn 3.6. Thiết kế chức năng hẹn giờ cho thiết bị
Ở phan này, ta sẽ thiết kế cho hai thiết bị có thé bật tắt bang hẹn giờ là điều hòa và rèm cửa. Sơ đồ luồng dữ liệu cho chức năng này như hình 3.7.
Lấy thời gian hiện
tại
Oi gian phù hợp để bật thiết Bị
Gửi lệnh điều Bung i Gửi lệnh điều khiển bật thiết bị ——————— At thié
vé Esp32
Cai dat thoi gian
Bat dau bật tắt cho thiết bi
XS
Hình 3.7 Sơ đô chức năng hẹn giờ cho thiết bị Như hình 3.7, ta sẽ thiết lập giờ bật giờ tắt thiết bị từ giao diện điều khiển và lưu dữ liệu đó vào database. Sau đó, ta sẽ lay thời gian hiện tại so sánh với với gian hen giờ. Sau khi so sánh xong thi sẽ gửi tín hiệu điều khién thiết bị về ESP32 dé điều khiển các thiết bị.
30
3.7. Thiết kế chức năng rèm cửa tự động
Rèm tự động đóng mở theo giá trị đọc được từ cảm biến mưa. Nếu có mưa thì điều khiên động cơ đóng. Ngược lại, nếu không có mưa thì điều khiển động cơ
mở.
3.8. Thiết kế đèn trang trí RGB
Ở chức năng này, đèn RGB sẽ được thiết lập với hai chế độ. Chế độ một là thay đôi màu sắc theo sự lựa chọn của người dùng trên website. Chế độ hai là chế độ
tự động chuyên màu sắc ngẫu nhiên.
3.9. Thiết kế chức năng thêm, xóa dấu vân tay cho người dùng
Đôi với quá trình thêm dâu vân tay. Người dùng tương tác với website và mô
đun cảm biên vân tay đê thêm dâu vân tay mở cửa. Sơ đô luông dữ liệu cho chức
năng thêm dấu vân tay như hình 3.8.
— | Người dùng nhập.
Bat dau tên muôn thêm
XS trên trang web.
Thông báo người
dùng đã tồn tại
Gửi tin hiệu điều khiển
về Esp32 dé điều khiển mô-đun vân tay bật chế
độ thêm dau van tay
Nhập van tay và xác
nhận vân tay
==<Thêm dau vân tay thành công vào Mô-đun vân ta
Esp32 gửi tín hiệu xác nhận thành công lên server
Esp32 gửi tín hiệu
xác nhận thắt bại
lên server
|
Lưu người dùng vào Thông báo cho Thông bảo cho database, thêm tên người |‡&———————] người dùng trạng người dùng trạng
dùng vào trang web thái thành công thái thất bại
Hình 3.8 Sơ đô chức năng thêm dấu vân tay
31
Quá trình thêm dấu vân tay được miêu tả thông qua hình 3.8. Đầu tiên, người dùng nhập tên người muốn thêm dấu vân tay. Nếu kiểm tra tên thỏa mãn thì server sẽ gửi một tín hiệu về ESP32 dé ESP32 điều khiển mô dun vân tay bật chế độ thêm vân tay. Sau khi người dùng nhập vân tay và xác nhận vân tay thì mô đun sẽ có kết quả lưu thành công hay thất bại. Sau đó sẽ gửi lại một tín hiệu ngược lại lên server dé người dùng biết kết qua. Nếu kết qua nhận được là that bại thì thông báo cho người dùng biết. Ngược lại, nếu kết quả thành công thì thông báo cho người dùng, đồng thời lưu người dùng vào database và hiên thị tên người dùng lên trang web.
Đối với quá trình xóa dau vân tay. Người dùng sẽ tương tác với trang web dé xóa vân tay. Sơ đồ chức năng xóa vân tay như hình 3.9.
Người dùng nhấn
St HÀ vào tên muốn xóa Server gửi tín hiệu xóa
Bat dau (có thé nhắn xóa tat vân tay về Esp32
cả)
t5 li thành côn
|Esp32 gửi tín higu} Đúng Sai xóa thành công. |£————————`
| lên server
Xóa người dùng
| trên database và
trên website
Esp32 gửi tín hiệu
xóa thất bại lên
Server
Hình 3.9 Sơ đô chức năng thêm dấu vân tay
Chức năng xóa vân tay được mô tả như hình 3.9. Ở chức năng này, người dùng
sẽ nhấn vào tên muốn xóa ở trên trang web hoặc có thê nhắn xóa tat cả. Sau đó server
sẽ gửi tín hiệu xóa vân tay tới ESP32. ESP32 điều khiển mô đun vân tay dé xóa dấu vân tay. Khi mô đun vân tay thực hiện xóa dấu vân tay xong thì ESP32 sẽ gửi tín hiệu thất bại hoặc thành công lên server. Nếu tín hiệu là thành công thì server sẽ xóa dữ liệu trên database, đồng thời xóa tên người dùng ngay tại trang web.
32
3.10. Thiết kế chức năng điều khiến thiết bị bằng giọng nói
Đối với chức năng điều khiển bang giọng nói thì sẽ dùng siri (hệ điều hành IOS) đề điều khiển. Quá trình điều khiến thiết bị bằng giọng nói sẽ có sơ đồ như hình
3.10.
Đọc lệnh điều khiển
bằng Siri
Mở Siri trên điện
thoại
Đúng câu lệnh cài đặt 2
Seri mở ứng dụng
"Phím Tắt" trong máy điện thoại
mm
Ứng dụng "Phím Tắt" trong máy
điện thoại gửi dữ
liệu lên server
g
Server nhận dữ
liệu và điều khiển Kết thúc
thiết bị
Hình 3.10 Sơ đô chức năng điêu khiển bằng giọng nói Chức năng điều khiến thiết bị bằng giọng nói được mô tả như trong hình 3.10. Đầu tiên cần mở siri trong máy điện thoại. Đọc câu lệnh đã cài đặt sẵn dé mở ứng dụng “phím tắt” có trên điện thoại. Ứng dụng “phím tắt” sẽ gửi dir liệu lên server theo
dữ liệu nhận được từ câu lệnh điều khiển. Server nhận được dữ liệu sẽ gửi tín hiệu điều khiển về ESP32 dé điều khiển thiết bị.
3.11. Thiết kế hệ thống cảnh báo người lạ
Hệ thông cảnh báo người lạ sẽ cảnh báo người lạ qua gmail và chuông ở cửa.
Khi có người lạ cô tình mở cửa thì hệ thông sẽ đưa ra cảnh báo. Quá trình cảnh báo
người lạ có sơ đồ như hình 3.11.
Hệ thống cảnh báo người lạ được mô tả như trong hình 3.11. Ở đây, khi ai đó
sử dụng thẻ sai hoặc nhập sai vân tay quá số lần quy định thì chuông cửa sẽ reo để
33
cảnh báo. Đồng thời, ESP32 sẽ gửi một cảnh báo tới server. Server sẽ lấy các ảnh từ ESP32-CAM dé gửi các ảnh đó kèm dòng cảnh báo người lạ tới gmail.
Kiểm tra dấu vân tay va
thẻ từ RFID nhập vào
cửa
=N8ười mở cửa đã được đăng kí vân tay hoặc the †
Esp32 gửi cảnh báo
lên server, đồng thời
chuông cửa reo
Server lấy dữ liệu
ảnh chụp được từ
Esp32-Cam
Server sử dụng ảnh
lây được gửi qua
gmail dé cảnh báo
Hình 3.11 Sơ đồ chức năng cảnh báo người la 3.12. Thiết kế giao diện người dùng
e Giao diện đăng nhập: ở trang này sẽ yêu cầu người dùng nhập tên đăng nhập
và mật khâu. Ngoài ra, người dùng phải chọn chế độ là tài khoản admin hoặc user để đăng nhập
e Giao diện thêm người sử dung: giao diện nay chỉ được truy cập tới nếu đăng
nhập bởi tài khoản admin. Khi đó, admin có thé đăng ký tài khoản và mật khâu
cho người dùng mới
e_ Giao diện xóa người sử dung: giao diện này chỉ được truy cập tới nếu đăng
nhập bởi tài khoản admin. Khi đó, admin có thé xóa người bat cứ người dùng
nào
e Giao diện đổi mật khẩu: giao diện này cho phép tài khoản admin hoặc tài khoản
user thay đổi mật khẩu
34
e Giao diện trang chủ cho user: giao diện trang chủ đối với user sẽ hiển thi các
thông số như nhiệt độ, độ âm, trạng thái bật tắt của các thiết bị. Các nút điều khiến, cài đặt hẹn giờ cho thiết bi
e Giao diện trong chủ cho admin: giao diện trang chủ với admin ngoài các chức
năng có ở user thì sẽ có thêm các chức năng như mở trang thêm xóa người dùng, cài đặt vân tay.
3.13. Thiết kế chức năng kết nói WiFi cho ESP32 và giao tiếp giữa các ESP32
bằng giao thức ESP-NOW
Ở phan này, ta sẽ thiết lập dé ESP32 và ES32-CAM có thể kết nối với bat kỳ mang WiFi nào mong muốn, đồng thời tạo kết nỗi ESP-NOW từ board ESP32 trung
tâm tới các board ESP32 còn lại.
Sơ đồ kết nối WiFi cho ESP32 và ESP32-CAM như hình 3.12.
Người dùng kết
ESPSđ lộ ghi nối vào mạng wifi
wifi dự phòng dựjbhòng để
Mở ra 1 giao diện để
lựa chọn các mạng wifi
ở xung quanh
Kết nối thành công tới mạng
WiFi Esp phát ra?
Người dùng chọn wifi
R ập mật khẩu đúng?
và nhập mật khẩu Nhập mật khâu đúng
Esp32 lưu trữ tên WiFiva Password
Kết nối với mang
WiFi
Hình 3.12 Sơ do thiết lập kết noi WiFi cho ESP
35
Ở hình 3.12, ta cần tạo ra một mạng WiFi dự phòng từ board ESP32 phát ra. Khi người dùng kết nối tới mạng WiFi dự phòng này thì sẽ mở ra một giao diện cho người dùng lựa chọn mang WiFi mà người dùng kết nối tới. Sẽ có một danh sách các WiFi mà ESP32 quét thay. Khi đó người dùng lựa chọn mang WiFi và nhập mật khâu vào. Nếu nhập mật khâu đúng thì ESP32 sẽ kết nối tới mạng WiFi đó, đồng thời sé lưu lại thông tin tên mang WiFi cũng như password dé lần kết nối tiếp theo không
phải thực hiện lại các hành động ở trên.
Sơ đồ tạo kết nối ESP-NOW giữa các board ESP32 như hình 3.13.
a,
Bat đầu
Esp32 lấy kênh truyền của mạng WiFi đang kết nối
Thiết lập giao thức Esp-now cho các Esp. Thiết lập kênh
truyền mặc đinh là 1
|
Esp32 trung tâm gửi giá trị của kênh truyện lây được cho
các Esp32 còn lại
Esp32 nhận được
dữ liệu kênh truyền?
Các Esp32 thiết lập lại kết
noi Esp-now theo đúng kênh
truyền của WiFi
Esp32 hoạt động ở chế
độ không kết nối mạng
Hình 3.13 Sơ đồ thiết lập kết noi các board ESP32 bằng giao thức ESP-NOW
Ở hình 3.13, để giao thức ESP-NOW với giao thức WebSocket cùng hoạt động cùng lúc trên ESP thì phải cần cài đặt kênh truyền của ESP-NOW đúng kênh truyền của WiFi. Đầu tiên cần lấy kênh truyền của WiFi từ board ESP32 trung tâm, sau đó truyền dữ liệu này tới các board ESP32 còn lại qua kênh mặc định là 1. Các board ESP32 ở hai node nhận được giá trị kênh truyền thì cài đặt lại kết nối ESP-NOW theo đúng kênh truyền nhận được. Nếu các board ESP32 ở các node không kết nối hay
36
nhận được dữ liệu từ board ESP32 trung tâm thì nó hoạt động ở chế độ không kết nối.
Ở chế độ không kết nói thì các thiết bị không thé điều khiển từ xa. Chỉ điều khiển bằng hành động trực tiếp thông qua nút nhấn.
3.14. Lưu trữ và truy van dữ liệu trên database
Sử dụng hệ quan trị cơ sở dit liệu MySql dé lưu trữ và truy van dữ liệu. Các bảng dữ liệu được thiết như sau:
e Bảng thông tin người dùng: lưu thông tin tài khoản, mật khẩu của người dùng
e Bảng thông tin dấu vân tay của người dùng: lưu các tên người dùng đã thêm
dấu vân tay vào hệ thông
e Bảng các trang thai điều khién: lưu lại các trạng thái của thiết bị như trạng thái
của đèn, rèm, các chế độ mở cửa, thời gian hẹn giờ của các thiết bị
e Bảng giá trị nhiệt độ độ âm: lưu lại 6 giá trị nhiệt độ, độ âm của 6 giờ trước đó
37