
















Preview text:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1 BÀI TẬP LỚN
IOT VÀ ỨNG DỤNG
Đề tài: Nhà vệ sinh thông minh STT Họ và tên Mã sinh viên 1 Lê Văn Đô B22DCCN214 2 Phan Duy Quốc B22DCCN670 3
Nguyễn Vũ Tuấn Khôi B22DCCN466 4
Thái Đoàn Trường B22DCCN886
Giảng viên hướng dẫn
: Lê Văn Vịnh Nhóm : 09
Hà Nội – 2025 MỤC LỤC
I.Thiết kế vật lý của hệ thống IOT...........................................................................................................4
1. Mục tiêu thiết kế............................................................................................................................4
2. Danh mục phần cứng......................................................................................................................4
3. Kiến trúc phần cứng........................................................................................................................5
3.1. Khối cảm biến.............................................................................................................................5
3.2. Khối điều khiển trung tâm.........................................................................................................6
3.3. Khối chấp hành và giao tiếp người dùng..................................................................................6
3.4. Mối liên hệ giữa các khối............................................................................................................6
4. Sơ đồ kết nối phần cứng.................................................................................................................6
4.1 Chế độ tự động (Automatic Mode)..............................................................................................8
4.2 Chế độ thủ công (Manual Mode – Điều khiển qua ứng dụng).....................................................9
5. Thiết kế mạng và giao tiếp..............................................................................................................9
5.1. Kiến trúc kết nối...........................................................................................................................9
5.2. Quy trình giao tiếp.......................................................................................................................9
5.3 Giao thức sử dụng.......................................................................................................................10
5.4. Ứng dụng điều khiển (Blynk IoT App)........................................................................................10
6. Lắp ráp thực tế.............................................................................................................................11
II. Các giao thức truyền thông IoT.........................................................................................................11
1. Link Layer – Chuẩn IEEE 802.11 (Wi-Fi)..........................................................................................11
2. Network Layer – Giao thức IPv4...................................................................................................12
3. Transport Layer – Giao thức TCP...................................................................................................12
4. Application Layer – Giao thức MQTT (Message Queuing Telemetry Transport)............................12
III. Thiết kế logic của hệ thống IoT........................................................................................................13
1. Device Layer (Lớp thiết bị)............................................................................................................13
2. Communication Layer (Lớp truyền thông)....................................................................................13
3. Service Layer (Lớp dịch vụ)...........................................................................................................14
4. Application Layer (Lớp ứng dụng).................................................................................................14
IV. Thiết kế hệ thống IOT......................................................................................................................15
1. Mô tả tổng quan...........................................................................................................................15
2. Lý do lựa chọn mô hình Publish–Subscribe...................................................................................15
3. Mối quan hệ giữa các thành phần trong hệ thống........................................................................16
I.Thiết kế vật lý của hệ thống IOT
1. Mục tiêu thiết kế
Mục tiêu của hệ thống là tự động bật/tắt đèn và quạt trong nhà vệ sinh khi có người, đồng
thời cho phép người dùng điều khiển thủ công qua ứng dụng trên điện thoại bằng Wi-Fi. Hệ
thống giúp tiết kiệm điện năng, nâng cao sự tiện nghi và đảm bảo an toàn.
2. Danh mục phần cứng Số STT Tên linh kiện
Giá thành ước Công dụng lượng tính(K VND) WeMos D1 Mini 1
Vi điều khiển trung tâm, kết nối Wi-Fi 1 65 (ESP8266) và điều khiển relay Cảm biến PIR 2
Phát hiện chuyển động người để bật/tắt 1 25 HC-SR501 thiết bị tự động Module Relay 5V 3
1 Điều khiển riêng biệt đèn và quạt 30 (2 kênh) Đèn LED 5V (có 4 1 Mô phỏng bóng đèn 5 điện trở sẵn) 4 5 Quạt mini DC 5V
1 Mô phỏng quạt thông gió 30 6 Breadboard nhỏ
1 Lắp mạch thử, chia nguồn điện 25 Bộ dây jumper 7 (MM + MF + FF,
1 Dây nối giữa các linh kiện 20 40 sợi)
Cấp nguồn và nạp chương trình cho 8 Cáp Micro USB 1 10 WeMos Nguồn 5V (Cổng 9 5V Laptop hoặc
1 Cấp nguồn cho toàn bộ mạch 0 SDP)
3. Kiến trúc phần cứng
3.1. Khối cảm biến
Thành phần: Cảm biến chuyển động PIR HC-SR501.
Chức năng: Phát hiện sự hiện diện của người trong nhà vệ sinh thông qua thay đổi bức xạ hồng ngoại.
Khi phát hiện có người, cảm biến gửi tín hiệu HIGH đến chân digital (D5) của WeMos D1 Mini.
Khi không phát hiện, tín hiệu chuyển về LOW.
Đặc điểm: Cảm biến PIR có góc quét khoảng 120° và tầm phát hiện 3–7 mét, đủ để nhận
biết người ra/vào trong không gian nhỏ.
3.2. Khối điều khiển trung tâm
Thành phần: WeMos D1 Mini (sử dụng chip ESP8266EX). 5 Chức năng: o
Xử lý logic: WeMos D1 Mini đóng vai trò là vi điều khiển trung tâm. Khi nhận
tín hiệu mức HIGH từ cảm biến PIR, WeMos sẽ xử lý và xuất tín hiệu điều khiển
relay để bật đèn và quạt. o
Quản lý năng lượng: Nếu không phát hiện chuyển động trong khoảng thời gian
được lập trình (khoảng 3 phút), WeMos sẽ tự động ngắt tín hiệu điều khiển relay
để tắt thiết bị, giúp tiết kiệm điện năng. o
Kết nối mạng (IoT): Nhờ tích hợp sẵn Wi-Fi, WeMos kết nối trực tiếp với
Internet và giao tiếp với máy chủ Blynk Cloud. Khi người dùng thao tác trên ứng
dụng, lệnh được gửi trực tiếp đến WeMos để thực thi ngay lập tức mà không cần qua mạch trung gian. o
Đồng bộ trạng thái: Ngược lại, WeMos D1 Mini gửi trạng thái hiện tại của thiết
bị (ON/OFF) lên Blynk Cloud, giúp ứng dụng trên điện thoại hiển thị chính xác theo thời gian thực.
3.3. Khối chấp hành và giao tiếp người dùng
Thành phần: Module relay 2 kênh 5V, đèn LED 5V và quạt mini 5V.
Chức năng: Relay đóng/ngắt nguồn 5V cấp cho đèn và quạt theo tín hiệu điều khiển từ WeMos D1 Mini. o
Khi WeMos xuất tín hiệu LOW đến relay → relay đóng mạch → đèn và quạt . bật o
Khi WeMos xuất tín hiệu HIGH đến relay → relay ngắt mạch → đèn và quạt tắt.
Người dùng có thể: o
Điều khiển thủ công qua ứng dụng Blynk IoT (thông qua Wi-Fi). o
Hoặc để hệ thống hoạt động tự động dựa trên tín hiệu từ cảm biến PIR.
Hiển thị: Trạng thái bật/tắt của đèn và quạt được cập nhật và hiển thị trên ứng dụng điện
thoại ngay khi có thay đổi.
3.4. Mối liên hệ giữa các khối
Cảm biến PIR phát hiện chuyển động và gửi tín hiệu trực tiếp đến chân nhập (Input) của WeMos D1 Mini.
WeMos D1 Mini xử lý logic tự động, đồng thời duy trì kết nối Wi-Fi để nhận lệnh điều
khiển từ ứng dụng Blynk.
WeMos D1 Mini xuất tín hiệu qua các chân GPIO để điều khiển đóng/ngắt Relay.
Relay đóng vai trò công tắc điện tử, cấp nguồn cho đèn và quạt hoạt động.
Toàn bộ hệ thống sử dụng chung một nguồn 5V–2A, đảm bảo sự đồng bộ, gọn nhẹ và hoạt động ổn định.
4. Sơ đồ kết nối phần cứng
Chân trên thiết Chân WeMos Thiết bị
Mô tả kết nối bị D1 Mini 6 Cảm biến PIR HC-SR501 VCC 5V Cấp nguồn cho cảm biến GND G Nối mass chung
Gửi tín hiệu phát hiện chuyển OUT D5 động đến WeMos Module Relay 2 kênh DC+ 5V Cấp nguồn cho module relay DC– G Nối mass chung với WeMos
Điều khiển relay kênh 1 (bóng IN1 D6 đèn) IN2 D7
Điều khiển relay kênh 2 (quạt) NO1 (chân Đèn LED 5V
Cực dương (+) thường mở của Bật khi relay 1 được kích hoạt relay kênh 1) 7 Cực âm (–) G Nối mass chung NO2 (chân Quạt mini 5V
Dây dương (+) thường mở của Bật khi relay 2 được kích hoạt relay kênh 2) Dây âm (–) G Nối mass chung
Cổng USB hoặc 5V và GND của Nguồn 5V
Cấp điện cho toàn bộ hệ thống Adapter WeMos
4.1 Chế độ tự động (Automatic Mode)
Cảm biến PIR HC-SR501 phát hiện chuyển động của người trong nhà vệ sinh bằng cách
nhận biết sự thay đổi bức xạ hồng ngoại.
Khi cảm biến phát hiện có người → xuất tín hiệu mức HIGH về chân D5 của WeMos D1 Mini.
WeMos D1 Mini (ESP8266) nhận tín hiệu này và lập tức kích hoạt hai relay thông qua các chân điều khiển: o
Relay kênh 1 (D6) bật đèn LED 5V. o
Relay kênh 2 (D7) bật quạt mini 5V.
Khi không còn chuyển động, cảm biến PIR sẽ xuất tín hiệu LOW.
Để tránh trường hợp đèn và quạt tắt khi người dùng ngồi yên, chương trình trên WeMos
được lập trình giữ trạng thái bật thêm 3 phút kể từ lần phát hiện cuối cùng.
Nếu trong khoảng thời gian này cảm biến phát hiện chuyển động mới → bộ đếm thời
gian sẽ được đặt lại.
Sau khi hết 3 phút không có người → WeMos gửi tín hiệu LOW để ngắt cả hai relay, tắt đèn và quạt.
→ Kết quả: Hệ thống tự động bật khi có người và tự tắt khi không có ai, giúp tiết kiệm điện
năng và nâng cao tiện nghi.
4.2 Chế độ thủ công (Manual Mode – Điều khiển qua ứng dụng) 8
Khi người dùng mở ứng dụng Blynk
IoT trên điện thoại, ứng dụng sẽ kết nối đến Blynk
Cloud Server qua Internet.
WeMos D1 Mini (ESP8266) tự động đăng nhập vào mạng Wi-Fi cục bộ đã cấu hình và
kết nối đến Blynk Cloud bằng giao thức MQTT.
Khi người dùng nhấn nút “Đèn” hoặc “Quạt” trên ứng dụng: o
Lệnh điều khiển được gửi từ App Blynk → Blynk Cloud → WeMos D1 Mini. o
WeMos phân tích lệnh nhận được và xuất tín hiệu điều khiển đến relay tương ứng. o
Relay kênh 1 bật/tắt đèn LED, relay
kênh 2 bật/tắt quạt mini.
Đồng thời, WeMos D1 Mini sẽ gửi phản hồi trạng thái hiện tại (bật/tắt) của các relay
lên Blynk Cloud để hiển thị thời gian thực trên ứng dụng.
→ Kết quả: Người dùng có thể điều khiển đèn và quạt từ xa, ở bất kỳ đâu có Internet.
5. Thiết kế mạng và giao tiếp
5.1. Kiến trúc kết nối
Hệ thống Nhà vệ sinh thông minh điều khiển qua Wi-Fi sử dụng kiến trúc client–server với các thành phần sau:
WeMos D1 Mini (ESP8266): thiết bị IoT (client) – thu thập dữ liệu từ cảm biến PIR,
điều khiển relay và truyền dữ liệu đến Blynk Cloud.
Blynk Cloud Server: máy chủ trung gian – nhận và phân phối dữ liệu điều khiển giữa thiết bị và ứng dụng.
Ứng dụng Blynk IoT: giao diện người dùng (UI) trên điện thoại – cho phép giám sát và điều khiển từ xa.
Các thành phần được kết nối thông qua mạng Wi-Fi nội bộ hoặc Internet, đảm bảo khả năng điều
khiển và giám sát hệ thống mọi lúc, mọi nơi.
5.2. Quy trình giao tiếp
Kết nối Wi-Fi:
WeMos D1 Mini được cấu hình sẵn SSID và mật khẩu Wi-Fi cục bộ.
Khi khởi động, thiết bị tự động kết nối vào mạng và kiểm tra trạng thái liên kết.
Kết nối đến Blynk Cloud:
WeMos sử dụng giao thức MQTT để giao tiếp với Blynk Cloud Server qua Internet. 9
Khi người dùng thao tác trên ứng dụng Blynk, dữ liệu lệnh được truyền đến server và
chuyển tiếp đến WeMos, thiết bị sau đó điều khiển relay tương ứng.
Luồng dữ liệu chính:
App Blynk → Blynk Cloud Server → WeMos D1 Mini → Relay và ngược lại:
Relay → WeMos D1 Mini → Blynk Cloud → App Blynk (hiển thị trạng thái)
→ Nhờ sử dụng cơ chế Publish–Subscribe của giao thức MQTT, dữ liệu được truyền nhanh,
ổn định, và theo thời gian thực, đảm bảo hệ thống phản hồi tức thì khi người dùng thao tác.
5.3 Giao thức sử dụng Giao thức / Tầng mạng
Vai trò trong hệ thống Chuẩn IEEE 802.11 (Wi- Link Layer
Truyền dữ liệu không dây giữa Wemos D1 Mini và router. Fi) Network Layer IPv4
Định danh thiết bị bằng địa chỉ IP cục bộ hoặc toàn cầu.
Đảm bảo dữ liệu từ Blynk Cloud đến Wemos D1 Mini Transport Layer TCP
truyền ổn định, không mất gói. Application
MQTT / HTTP Trao đổi dữ liệu điều khiển, gửi lệnh ON/OFF, đồng bộ Layer (Blynk) trạng thái thiết bị.
5.4. Ứng dụng điều khiển (Blynk IoT App)
Người dùng cài đặt ứng dụng Blynk IoT trên điện thoại (Android/iOS).
Trong ứng dụng, tạo một
Dashboard gồm các thành phần: o
Nút bật/tắt đèn (Virtual Pin V1) o
Nút bật/tắt quạt (Virtual Pin V2) o
Các hiển thị trạng thái thiết bị (Label hoặc LED Widget)
Nguyên lý hoạt động:
Khi người dùng nhấn nút ON/OFF, ứng dụng gửi dữ liệu “1” hoặc “0” đến Blynk Cloud Server.
WeMos D1 Mini (ESP8266) đã kết nối sẵn với server qua Wi-Fi và giao thức MQTT sẽ nhận lệnh trực tiếp.
Vi điều khiển xử lý tín hiệu nhận được và điều khiển relay tương ứng: o
Relay kênh 1 (D6) điều khiển đèn LED. o
Relay kênh 2 (D7) điều khiển quạt mini. 10
Sau khi thực hiện lệnh, WeMos gửi trạng thái mới (ON/OFF) trở lại Blynk Cloud, giúp
ứng dụng hiển thị trạng thái thời gian . thực
→ Kết quả: Người dùng có thể bật/tắt riêng biệt đèn và quạt, hoặc giám sát trạng thái tự
động từ cảm biến PIR thông qua ứng dụng Blynk ở bất kỳ đâu có Internet.
6. Lắp ráp thực tế
Các bước thực hiện:
1. Cố định WeMos D1 ,
Mini cảm biến ,
PIR và module relay 2 kênh trên breadboard.
2. Kết nối các dây jumper giữa W ,
eMos PIR, và relay theo sơ đồ phần cứng đã mô tả.
3. Nối relay kênh
1 với đèn LED 5V, relay kênh
2 với quạt mini , 5V đảm bảo đúng cực và an toàn.
4. Cấp nguồn 5V qua cổng Micro USB của W
eMos (có thể dùng adapter hoặc pin dự phòng).
5. Kết nối WeMos vào mạng Wi-Fi đã cấu hình, kiểm tra trạng thái trên ứng dụng Blynk IoT.
6. Khi có người di chuyển trước cảm biến ,
PIR hệ thống sẽ tự động bật đèn và quạt.
7. Sau khoảng 3 phút không phát hiện người, WeMos tự động tắt relay, dừng đèn và quạt.
→ Toàn bộ hệ thống hoạt động hoàn toàn tự động, đồng thời hỗ trợ điều khiển thủ công qua ứng dụng điện thoại.
II. Các giao thức truyền thông IoT
1. Link Layer – Chuẩn IEEE 802.11 (Wi-Fi) Vai trò:
Là lớp liên kết dữ liệu, giúp thiết bị kết nối không dây vào mạng Wi-Fi nội bộ.
Đảm bảo WeMos D1
Mini có thể truy cập Internet để trao đổi dữ liệu với Blynk Cloud.
Ứng dụng trong dự án:
WeMos hoạt động ở chế độ Wi-Fi Station, kết nối vào mạng không dây (SSID, mật khẩu được lập trình sẵn).
Khi kết nối thành công, thiết bị có thể gửi và nhận lệnh điều khiển từ ứng dụng Blynk qua Internet.
Nhờ Wi-Fi, hệ thống có thể vận hành và điều khiển từ xa mà không cần kết nối vật lý. 11
2. Network Layer – Giao thức IPv4 Vai trò:
Cung cấp địa chỉ IP duy nhất cho mỗi thiết bị trong mạng.
Giúp định danh và định tuyến dữ liệu chính xác đến thiết bị cần điều khiển.
Ứng dụng trong dự án:
Khi kết nối vào Wi-Fi, router cấp cho WeMos một địa chỉ IP (ví dụ: 192.168.1.105).
Nhờ đó, Blynk Cloud có thể xác định và trao đổi trực tiếp với thiết bị.
Các lệnh điều khiển từ ứng dụng luôn được truyền đúng đến thiết bị đích thông qua địa chỉ IP này.
3. Transport Layer – Giao thức TCP Vai trò:
Đảm bảo dữ liệu được truyền đầy đủ, tin cậy, đúng thứ tự.
Có cơ chế kiểm tra lỗi và gửi lại gói tin khi xảy ra mất mát.
Ứng dụng trong dự án:
Khi người dùng thao tác bật/tắt đèn hoặc quạt trên ứng dụng, lệnh được gửi qua TCP
socket đến Blynk Cloud, sau đó chuyển tới WeMos D1 . Mini TCP đảm bảo rằng: o
Các lệnh “Bật đèn”, “Tắt quạt” không bị mất hoặc trùng. o
Thiết bị nhận đúng lệnh điều khiển, ngay cả khi tín hiệu Wi-Fi yếu.
Nhờ vậy, hệ thống phản hồi ổn định và chính xác.
4. Application Layer – Giao thức MQTT (Message Queuing Telemetry Transport) Vai trò:
Là giao thức truyền thông nhẹ, ổn định, tối ưu cho IoT, theo mô hình Publish/Subscribe.
Cho phép thiết bị truyền dữ liệu theo thời gian thực, tiết kiệm băng thông và năng lượng.
Ứng dụng trong dự án: 12
Ứng dụng Blynk IoT đóng vai trò Publisher, gửi lệnh điều khiển tới Blynk Cloud.
WeMos D1 Mini là Subscriber, nhận dữ liệu từ Broker (Blynk Cloud).
Khi người dùng bật đèn trên app: o
App “publish” thông điệp
ON → Blynk Cloud chuyển tiếp đến W . eMos o
WeMos xử lý lệnh → kích relay → đèn sáng. o
Sau khi hoàn tất, WeMos “publish” lại trạng thái mới (ON/OFF) → hiển thị ngay trên app.
Cơ chế này giúp hệ thống phản hồi nhanh, ổn định, và tiết kiệm tài nguyên hơn so với HTTP.
III. Thiết kế logic của hệ thống IoT
1. Device Layer (Lớp thiết bị)
Thành phần chính:
WeMos D1 Mini, cảm biến PIR, module relay 2 kênh, đèn LED 5V, quạt mini 5V.
Logic hoạt động:
1. Khi được cấp nguồn, WeMos D1 Mini khởi động, kết nối Wi-Fi và Blynk . Cloud
2. Cảm biến PIR liên tục quét để phát hiện chuyển động:
Nếu phát hiện người → xuất tín hiệu HIGH đến chân D5 → WeMos kích hoạt relay
D6 và D7 → bật đèn và quạt.
3. Nếu trong vòng 10 phút không có chuyển ,
động WeMos tự động tắt cả hai relay.
4. Khi người dùng điều khiển thủ
công qua ứng dụng Blynk, lệnh sẽ ghi đè lên trạng thái tự động.
5. Sau mỗi hành động, WeMos cập nhật trạng thái hiện tại lên Blynk Cloud để đồng bộ giao diện ứng dụng.
→ Kết quả: WeMos D1 Mini đảm nhiệm cả điều khiển lẫn truyền thông Wi-Fi, giúp mạch gọn
nhẹ và hoạt động ổn định.
2. Communication Layer (Lớp truyền thông) Vai trò:
Truyền dữ liệu giữa WeMos D1
Mini và Blynk Cloud một cách tin cậy và thời gian thực.
Cơ chế hoạt động: 13
Các lệnh điều khiển hoặc phản hồi trạng thái được gửi qua Wi-Fi (IEEE 802.11) bằng giao thức . TCP/IP
Giao tiếp giữa thiết bị và server sử dụng MQTT để đảm bảo độ trễ thấp và phản hồi nhanh.
Khi người dùng bật/tắt đèn, lệnh từ app → Cloud → WeMos → Relay, và ngược lại.
3. Service Layer (Lớp dịch vụ) Vai trò:
Đóng vai trò trung gian giữa thiết bị IoT và ứng dụng người dùng. Thành phần:
Blynk Cloud Server – nền tảng quản lý kết nối và dữ liệu IoT.
Logic hoạt động:
1. WeMos D1 Mini kết nối đến Blynk Cloud bằng Auth Token duy nhất.
2. Ứng dụng Blynk IoT sử dụng cùng Auth Token đó để xác thực.
3. Khi người dùng thao tác: o
App gửi lệnh → Cloud định tuyến → chuyển đến WeMos. o
WeMos thực hiện điều khiển relay → gửi phản hồi trạng thái.
4. Cloud đồng bộ dữ liệu giữa thiết bị và giao diện người dùng trong thời gian thực.
4. Application Layer (Lớp ứng dụng)
Thành phần chính: Ứng dụng Blynk
IoT trên điện thoại Android hoặc iOS.
Logic hoạt động:
1. Người dùng đăng nhập, mở dự án “Smart Toilet”.
2. App kết nối Blynk Cloud bằng Auth Token.
3. Giao diện có 2 nút điều khiển: o Nút “Đèn” (V1) o Nút “Quạt” (V2)
4. Khi nhấn nút, app gửi lệnh ON/OFF qua Cloud đến WeMos D1 Mini để bật/tắt relay tương ứng.
5. Trạng thái thiết bị được phản hồi ngay về app, hiển thị đồng bộ.
6. Khi hoạt động ở chế độ tự động, trạng thái do cảm biến
PIR điều khiển cũng được cập nhật lên app.
→ Kết quả: Người dùng có thể điều khiển và giám sát hệ thống từ xa hoàn toàn qua Internet. 14
IV. Thiết kế hệ thống IOT
Mô hình lựa chọn: Publish – Subscribe
1. Mô tả tổng quan
Hệ thống Nhà vệ sinh thông minh điều khiển qua Wi-Fi được xây dựng dựa trên mô hình Publish–
Subscribe (Pub/Sub) – một kiến trúc truyền thông phổ biến trong các ứng dụng IoT hiện đại.
Trong mô hình này, các thiết bị và ứng dụng không giao tiếp trực tiếp với nhau, mà thông qua một máy
chủ trung gian (Broker) – ở đây là Blynk Cloud Server:
Thiết bị WeMos D1 Mini (ESP8266): hoạt động như Subscriber (người đăng ký nhận dữ liệu) –
nhận lệnh điều khiển từ server, xử lý tín hiệu cảm biến và phản hồi trạng thái.
Ứng dụng Blynk IoT (trên điện thoại): hoạt động như Publisher (người gửi dữ liệu) – gửi lệnh
điều khiển bật/tắt đèn và quạt.
Blynk Cloud Server: đóng vai trò Broker, tiếp nhận, lưu trữ tạm thời và chuyển tiếp thông điệp
giữa Publisher và Subscriber.
Nhờ cấu trúc này, thiết bị IoT và ứng dụng người dùng có thể giao tiếp hai chiều qua Internet một cách ổn
định và thời gian thực, mà không cần kết nối trực tiếp.
2. Lý do lựa chọn mô hình Publish–Subscribe
Giao tiếp bất đồng bộ và tức thời:
Khác với mô hình Request–Response (REST API), trong đó ứng dụng phải liên tục gửi yêu cầu
để kiểm tra trạng thái thiết bị (gây tốn băng thông và độ trễ), mô hình Publish–Subscribe cho
phép giao tiếp hai chiều tự động và ngay lập tức.
Khi người dùng bật đèn trên ứng dụng Blynk, lệnh (Publish) được gửi tới Blynk Cloud, và
server sẽ chuyển tiếp (Deliver) ngay lập tức đến W
eMos D1 Mini (Subscriber).
Ngược lại, khi cảm biến PIR phát hiện chuyển động, W
eMos xử lý và Publish trạng thái mới
(bật đèn/quạt) lên Cloud, giúp ứng dụng nhận thông tin tức thời mà không cần gửi yêu cầu truy vấn. 15
Nhờ đó, hệ thống phản hồi gần như theo thời gian thực, không cần cơ chế “polling” tốn tài nguyên.
Tách biệt giữa các thành phần:
Ứng dụng Blynk IoT và thiết bị W
eMos không cần biết địa chỉ IP hoặc vị trí vật lý của nhau – cả
hai chỉ cần cùng kết nối đến Blynk Cloud.
Nếu muốn mở rộng hệ thống (ví dụ: thêm cảm biến độ ẩm, cảm biến mùi, hoặc thêm relay điều
khiển thiết bị khác), chỉ cần đăng ký thêm topic (kênh dữ liệu) tương ứng mà không ảnh hưởng
đến cấu trúc hiện tại.
Giúp hệ thống linh hoạt, dễ mở rộng và dễ bảo trì.
Hiệu quả và nhẹ (Efficient & Lightweight):
Giao thức MQTT, được Blynk sử dụng trong mô hình Publish–Subscribe, là một giao thức
truyền thông cực nhẹ, tiêu tốn rất ít băng thông và năng lượng, rất phù hợp cho vi điều khiển có
tài nguyên hạn chế như ESP8266.
Ngoài ra, MQTT hỗ trợ cơ chế QoS (Quality of Service) để đảm bảo dữ liệu không bị mất, giúp
các lệnh điều khiển đèn và quạt luôn chính xác và tin cậy, ngay cả khi tín hiệu Wi-Fi yếu hoặc không ổn định. Tổng kết:
Khả năng giao tiếp hai chiều, thời gian thực.
Cấu trúc tách biệt, dễ mở rộng.
Hiệu năng cao, phù hợp với thiết bị nhúng nhỏ gọn như WeMos D1 Mini (ESP8266).
3. Mối quan hệ giữa các thành phần trong hệ thống
Vai trò trong mô Thành phần
Chức năng cụ thể trong dự án hình
Blynk App (Điện Publisher
Gửi lệnh điều khiển “ON/OFF” đến Blynk Cloud. thoại) Blynk Cloud
Tiếp nhận, lưu trữ và phân phối dữ liệu giữa app và Broker Server ESP8266. Subscriber /
Nhận lệnh điều khiển từ app, thực thi, và gửi phản hồi Wemos D1 Mini Publisher trạng thái ngược lại.
Kích hoạt tự động relay, đồng thời gửi trạng thái mới Cảm biến PIR Input sensor để publish lên server. 16
Vai trò trong mô Thành phần
Chức năng cụ thể trong dự án hình
Relay + Đèn + Actuator (bộ chấp Thực hiện thao tác bật/tắt theo tín hiệu điều khiển. Quạt hành) Thiết kế hệ thống: 17