HC VIỆN CÔNG NGHU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHTHÔNG TIN 1
----- -----🙞🙜🕮🙞🙜
BÁO CÁO IOT VÀ NG DNG
ĐI: HTHNG THÙNG RÁC
IOT PHÂN QUYN VÀ CNH O ĐY
Ging viên hưng dn : Kim Ngc Bách
Nhóm thc hin: 14
Nhóm hc phn : 06
Thành viên thc hin:
B22DCCN830 Đinh ng Thnh
B22DCCN842 Nguyn Như Thut
B22DCCN758 Nguyn Anh Tun
B22DCCN013 Đ Nht Anh
Hà Ni, 2025
Mc lc
I. Gii thiu đ tài ....................................................................................................... 3
a. Gii thiu đ tài .................................................................................................... 3
b. M c tiêu Chi ti a Đết c tài .................................................................................. 3
c. Thu thp Yêu cu t Stakeholders ........................................................................ 5
II. slý thuyết ........................................................................................................ 8
a. Mô hình truyn thông Publish/Subscribe (Pub/Sub) ............................................ 8
b. Giao thc MQTT (Message Queuing Telemetry Transport) ................................ 8
c. Nguyên lý hot đ m bing ca c ến ...................................................................... 9
d. Phân quyn ngưi dùng & xác thc ..................................................................... 9
e. Giao tiếp Client-Server & Realtime ..................................................................... 9
f. sd u và loggingli ...................................................................................... 9
g. Kiến trúc h ng IoTth ......................................................................................... 9
h. Nguyên lý h ng nhúng (Embedded Systems)th .............................................. 10
i. T đng hóa và IoT (Internet of Things) ............................................................ 10
III. Công ngh s dng ............................................................................................. 10
IV. Phân tích yêu cu ................................................................................................ 11
a. Yêu cu chc năng ............................................................................................. 11
b. Yêu cu phi chc năng ....................................................................................... 16
V. Phân tích ràng buc ............................................................................................... 19
a. ng buc môi trưng ........................................................................................ 19
b. ng buc pháp lý & bo mt ............................................................................ 19
c. ng buc tài nguyên thiết b ............................................................................. 19
d. ng buc hiu năng .......................................................................................... 20
e. ng buc m rng ............................................................................................ 20
VI. Mô hình hoá ........................................................................................................ 20
a. Ưu tiên hoá ......................................................................................................... 20
b. Mô hình .............................................................................................................. 22
VII. Phân chia công vic ............................................................................................ 23
I. Gii thiu đ tài
a. Gii thiu đ tài
Qun lý rác thi là mt vn đ ng yếu trong phát trin đô th. Phương tr
pháp truyn thng thường dn đến vic thu gom không đúng lúc, gây ô nhim
môi trường, tn kém chi phí vn hành, và thiếu d liu đ ti ưu hóa quy trình.
Đ xu mt gii pháp thông minh da trên IoT đ hin đi hóa quy tài đ t
trình này.
H ng không ch t th Thùng rác IoT Phân quy nh báo đyn và C
đng hóa ho ng mnp mà còn tích hợp kh năng t đ giám sát m y c đ
realtime và thông qua th RFID. Điu này giúp:phân quy i dùngn ngư
Tăng tính v sinh.
Ti ưu hóa lch trình thu gom da trên d u m y thli c đ c tế.
Cung cp tính năng ki p và ghi l hot đng m soát truy c i lch s
chi tiết.
b. M c tiêu Chi ti a Đết c tài
i. th H ng IoT nh n đ gì?m gi i quy t v ế
H ng gi ng thời ba mc tiêu ct lõi trong qun lý rác th i quy t đế
thi đô th, nhm thay thế phương pháp thu gom truyn thng kém
hiu qu:
Giám sát (Monitoring):
o Giám sát mc đy theo thi gian thc (realtime)
c .a thùng rác bng c ến siêu âm m bi HC-SR04
o Ghi l ch s ng chi tiếti l hot đ (thời gian quét th,
mnp, cnh báo).
Tự đng hóa (Automation):
o Tự đng hóa quy trình m/đóng np Servo bng
SG90 khi người dùng đư ợp l bng th c xác th c h
RFID hoc được phát hin bng c ến m bi HC-SR04.
o Tự đ cnh báong ( 80% đy) đ kích hot quy trình
thu gom.
Tối ưu hóa (Optimization):
o Tối ưu hóa lch trình thu gom d u ma trên d li c
đy th ế, thay vì lch trình c đnh.c t
o Tăng tính v sinh m chi phí vn hành và gi .
ii. Phm vi trin khai
Phm vi c tài t t ha đ p trung vào vi ng mc xây d thng mô
hình hóa ng minh tính kh thi (Proof of Concept - PoC) và ch :
Quy mô: H ng mu (Prototype) vth i 01 thiế Thùng t b
rác IoT hoàn chnh.
Môi trưng: Trin khai trong môi trưng phòng thí nghim
(Lab) hoc khu v h nghi , mô phng các đic t m n i b u
kin s dng th ế ti khu dân cư hoc khuôn viên trường.c t
S ng thiế 01 đơn v ESP32 01 RFID lư t b: Bao gm ,
RC522, , m biến m y), 01 Servo SG90 01 HC-SR04 (c c đ
và h ng Backend/Frontend tp trung.th
Phân quyn: Bao gm ít nht 2 vai trò người dùng (Admin
và ) theo mô hình User RBAC (Role-Based Access Control)
iii. Đt Tiêu chí Thành công (KPIs)
c tiêu chí này là thư nh lượng cho s tài:c đo đ thành công ca đ
Tiêu chí
Mc tiêu C
th
Chng minh K thut
Đ chính xác
Đ chính xác
ca phép đo
mc đy (HC-
SR04).
Sai s đo m y < 5% so với đo th c đ
công.
Đ tr
(Latency)
Thi gian
phn hi cho
lnh điu
khin mnp.
Thời gian phn h nh điu khin t i l
xa < 500ms.
Đ y tin c
(Reliability)
Đm bo
truyn nhn
các thông đip
quan trng.
S dng QoS 1 cho các thông đip
Cảnh báo, Lnh điu khin, Log đ
đm bo không mt gói tin.
Bảo mt
Kh năng xác
thc ngưi
dùng và thiết
b.
Xác thc th RFID qua Backend
Server. Xác thc (username/password)
và Phân quyn Topic cho MQTT
Broker.
c. Thu thp Yêu cu t Stakeholders
Phn này phân tích các yêu cu chc năng và phi ch n c năng c
ph i đáp i vng, da trên vai trò ca các bên liên quan đ i h ng thùng th
rác IoT.
i. Ngưi dùng cui (End- ời đ User: Ngư rác)
Yêu cu
Mô t Chi tiết
(Mong mun)
Đã đáp ng (Tính năng)
Thao tác
đơn gin
Kh năng đ rác
nhanh chóng, không
chm.
Mnp t đng khi quét th hợp l
hoc phát hin người dùng (HC-
SR04).
Phn hi
Biết được thao tác
quét th thành công
hay tht bi.
H ng cn cung cp phn hth i
hình nh/âm thanh (LED/Buzzer)
sau khi quét th.
V sinh
Gim thiu tiếp xúc
với thùng rác.
Tăng tính v sinh nhcơ chế m
np t đng.
ii. Qu Qun lý/Doanh nghip (Admin, Đơn v n lý c)
Yêu cu
Mô t Chi tiết
(Hiu qu, o
cáo)
Đã đáp ng (Tính năng)
Cảnh báo
tc thì
Cần nhn đưc
thông báo khi
thùng rác gn
đy đ ế lên k
hoch thu gom.
Cảnh báo m y ( 80%) đưc đ c
gi qua h thng/Dashboard. (M
rng: Chatbot Telegram cho phép
Admin gi lnh /status).
o
cáo/Thng
Cần d u đ li
ti ưu hóa l
Logging chi tiết m i s kin (m
np, quét th, cnh báo) vào cơ s
kê
trình thu gom
và đánh giá hiu
sut.
d u MySQL. D u m y li li c đ
realtime hin th ên Web tr
Dashboard.
Kim soát
Truy cp
Kim soát
nhng ai đưc
phép s dng
thùng rác.
Phân quyn ngưi dùng (RBAC)
bng th RFID, ghi li l hoch s t
đng chi tiết.
iii. thu th K t/IT (Nhóm Phát trin, Qun tr H ng)
Yêu cu
Mô t Chi tiết (Tích
hợp, Giao th o c, B
mt)
Đã đáp ng (Công ngh)
Tích
hợp/M
rng
H ng ph th i d
dàng tích hợp thiết
b mới và m rng
quy mô.
Kiến trúc Pub/Sub (MQTT) trên
nn tng Mosquitto Broker đm
bo giao tiếp phi đng b và tính
mrng.
Giao thc
hiu qu
Cần giao thc nh,
ti ưu cho thiế t b
IoT có tài nguyên
hn chế.
S dng MQTT, mt giao thc
nh, ti ưu cho IoT.
X lý li
Cần biế ng thái t tr
ca thiết b khi b
ngt k t nế i.
Trin khai tính năng Last Will
and Testament (LWT) đ t đng
cnh báo trng thái offline ca
ESP32.
iv. Phương pháp thu thp yêu cu
Phương pháp đư xu ng là kết hợp đ c đ t áp d có cái nhìn toàn
din:
Phng vn/Quan sát thc tế:
o Mc đích: Hi a ngưu rõ hành vi đ rác c ời dùng và các
vn đ "Đim đau" (Pain Points) ca quy trình thu gom
rác hin ti (ví d: rác tràn, mùi hôi, thu gom lãng phí).
o Áp dng: Áp dng cho m đng hóa (mnp c tiêu t
không ch i ưu hóa (giám sát mm) và t c đy).
Phân tích Tài liu/Yêu cu K thu t:
o Mc đích: Xác đnh các yêu cu phi chc năng v hiu
năng, bo m tin ct, và đ y.
o Áp dng: Xác đnh các tiêu chun như QoS 0/QoS 1 ,
thời gian phn hi lnh điu khin (< 500ms) , và mô
hình RBAC.
II. slý thuyết
a. Mô hình truyn thông Publish/Subscribe (Pub/Sub)
i. Khái nim: Mô hình giao tiếp phi đng b, trong đó publisher gi
message lên topic, subscriber nhn message khi đăng ký topic đó.
ii. Ưu đim: gim ti kết ni trc tiếp, tăng tính mrng, h tr
realtime.
iii. ng dng: Truyn d liu gia ESP32 MQTT Broker Server
Web/App.
b. Giao thc MQTT (Message Queuing Telemetry Transport)
i. Đc đi c nhm: giao th , ti ưu cho IoT, s dng TCP/IP.
ii. Thành phn: Publisher, Subscriber, Broker
(Mosquitto/CloudMQTT).
iii. chế QoS:
QoS 0 at most once (nhanh, p nhn mt gói)ch
QoS 1 at least once (đ o đến ít nht 1 ln)m b
QoS 2 exactly once (hiếm dùng, tn tài nguyên)
iv. li ng dng: g i d u c ến, lnh điu khin, cnh báo, log s m bi
kin.
c. Nguyên lý ho t đng ca c m biến
i. HC-SR04 (Siêu âm): đo khong cách da trên thời gian truyn
phn x sóng âm.
Dùng đ tính m y thùng:c đ
𝑓𝑖𝑙𝑙_𝑙𝑒𝑣𝑒𝑙 = (1
𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒
𝑏𝑖
𝑛
𝑒𝑖𝑔𝑡
) ×100%
ii. RC522 (RFID): đc UID th qua giao tiếp SPI, dùng cho xác thc
ngưi dùng.
iii. Servo SG90: điu khin góc quay đ m/đóng np rác (thường 0°
90°).
d. Phân quyn ngưi dùng & xác thc
i. th Khái nim: H ng có nhiu mc quyn (Admin, User).
ii. chế: Mi UID th RFID đưc ánh x đến ngưi dùng trong DB.
iii. Lý thuyết: Mô hình RBAC (Role-Based Access Control) phân
quyn theo vai trò.
e. Giao tiếp Client-Server & Realtime
i. Client: ESP32 và Web/App.
ii. Server: Node.js backend.
iii. Kết ni realtime: WebSocket (ws://broker:8080) qua MQTT.js đ
cp nht tc thì.
f. sd u và loggingli
i. MySQL: mô hình quan h, dùng đ lưu user, log, cu hình.
ii. li Chun hóa d u (Normalization) tránh dư th a, d truy vn.
iii. Timestamp & logging: Ghi l kin giúp truy vế ng, h i s t h th tr
phân tích.
g. Kiến trúc h ng IoTth
i. Gm 3 lớp:
ii. Perception Layer: cm biến, vi điu khin (ESP32, HC-SR04,
RC522)
iii. Network Layer: truyn thông MQTT qua Internet
iv. Application Layer: Web/App dashboard, x lý backend
v. M c tiêu: Kết n i dùng.i thiết b vt lý D liu Ngư
h. Nguyên lý h ng nhúng (Embedded Systems)th
i. ESP32: vi điu khin có WiFi/Bluetooth, lp trình qua Arduino IDE.
ii. li Chc năng chính: đc c ến, publish d m bi u MQTT, nhn lnh
điu khin.
i. T đng hóa và IoT (Internet of Things)
i. IoT concept: kế vt lý qua Internet đ giám sát, điu t n i thi t b ế
khin, cp nht firmware.
ii. Đc đim: realtime, tiết kim năng lượng, d mrng.
iii. ng dng: t đng mnp, cnh báo đy, thng kê người dùng.
III. Công ngh s dng
Thành phn
Công ngh
Vai trò / Ghi chú
Vi điu khin
ESP32
Thiết b IoT chính, x lý
cm biến, gi/nhn
MQTT
Cm biến
HC-SR04, RC522, Servo
SG90
Đo khong cách, nhn
din RFID, m/đóng np
Giao thc IoT
MQTT (Mosquitto /
CloudMQTT)
Truyn d liu realtime
gia thiết b server
app
Backend Server
Node.js + Express +
MQTT.js
X lý logic, xác thc
RFID, lưu log
Cơ s d liu
MySQL
Lưu thông tin user, log,
cu hình
Frontend Web
React.js + MQTT.js
Giao din realtime hin
th d liu và điu khin
UI Library
Material UI / Ant Design
Thiết kế giao din trc
quan
Biu đ
realtime
Recharts / Chart.js
Hin th % đy thùng rác,
biu đ mc rác
WebSocket
ws://broker:8080
Duy trì kết ni realtime
cho Web/App
Cloud Hosting
(tùy chn)
CloudMQTT / AWS IoT
Core
Nếu trin khai online thay
cho self-hosted broker
Ngôn ng lp
trình
C++ (Arduino IDE) /
JavaScript (Node.js, React)
Lp trình nhúng và web
Kiến trúc h
thng
Publish-Subscribe
(Pub/Sub)
Mô hình kết ni d liu
phi đng b
Phân quyn
RBAC (Role-Based Access
Control)
Qun lý user bng role
admin/user
IV. Phân tích yêu cu
a. Yêu cu chc năng
i. li Chc năng thu thp và truyn d u mc đy
H ng đ o mi thùng rác IoT đu có kh năng t đng đo th m b
lường m y theo th ng cm biến siêu âm HC-SR04 c đ i gian thc b
(hoc tùy chn thêm Loadcell đ đo trng lượng). Cảm biến HC-SR04
có d c đi đo t 2 cm đến 400 cm, sai s k thut ±3 mm, đư t np
thùng đ m bi t b i đo khong cách t c ến đến b mt rác. Thiế ph
tính toán phn trăm m y theo công thc đ c:
𝑓𝑖𝑙𝑙_𝑙𝑒𝑣𝑒𝑙 = (1
𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒
𝑏𝑖
𝑛
ℎ𝑒𝑖𝑔ℎ𝑡
) ×100%
Sau khi đo, thiế gi d u v h ng thông qua giao tht b li th c
MQTT theo chu k m nh 10 giây/ln. Ngoài ra, đ tránh lãng phí c đ
băng thông, thiế gi thêm mt gói d u ph nếu m y thay t b li c đ
đi trên 5% so v i l i trư n g ớc. Trong trường hợp phát hin s bt
thường (ví d giá tr đo b ch quá lớn), thiế cn t đng lp lsai l t b i
vic đo t c khi báo li đa 3 ln trư i.
ii. Chc năng xác thc ngư n truy cpi dùng và phân quy
Mi thùng rác h xác th ời dùng thông qua đu đc RFID tr c ngư
RC522, hot đng tn s 13.56 MHz, có kh năng đc UID th
trong khong cách 03 cm. Khi ngưi dùng quét th, thiết b gi UID
lên h thng backend đ kim tra quyn trong cơ s d liu. Thời gian
t đến khi nhn đư n hi xác th m bo lúc quét th c ph c phi đ
300 mili giây.
H ng phân loi ngư nh ít nht 3 nhóm:th i dùng thà
User (ngưi s dng thông thường): ch có quyn mnp đ
b rác.
Nhân viên thu gom / bo trì: ch đưc xem nhng thùng đy
hoc gp li.
Qun tr viên (Admin): toàn quyn điu khin t xa, cu hình
ngưỡng cnh báo và thêm hoc xóa thiết b.
Toàn b n xác th u ph ợc ghi vào log hot đng, bao các l c đ i đư
gm: UID ngưi dùng, timestamp, kế xác th t qu c (thành công / b
t chi).
iii. Chc năng điu khin mnp (local & remote)
Thùng rác h hai chế đ mnp: tr t đng m khi ngưi
dùng đ n gế n ếu bt c ến chuyn đng ho ến siêu (n m bi c cm bi
âm hướng ngang) hoc ch m khi có xác thc hp l. Đng cơ s
dng là Servo SG90, có góc quay 0°90°, mô- n 1.8 kg/cm, men xo
đ đ nâng np có t ng nh. Sau khi xác th ợp l, np phi tr c h i
đưc mhoàn toàn trong thời gian 500ms.
Đi với điu khin t xa, Admin ho ng giám sát có c h th
th g nh mhoc khóa np thông qua MQTT. Lnh điu khii l n
ph i đư c gi v m b t gói. Nới QoS 1 đ đ o không b m ếu np
đang m , h ng phquá 5 giây mà không có chuyn đng th i t
đng đóng li đ ết ki n năng và tránh mùi thoát ra.ti m đi
iv. Chc năng giám sát trng thái thiế theo tht b i gian thc
H ng cung cp giao din giám sát tp trung (Dashboard) hin th
th t đng. Mi thiế phtoàn b các thùng rác đang ho t b i có mã
đnh danh riêng (ví d: BIN_01, BIN_02, hoc theo đnh dng v trí
như T2_HALLWAY_03) đ d dàng phân loi. Trng thái ca mi
thùng ph t theo th i gian thi đư p nhc c c, bao gm:
Mc đy hin ti theo phn trăm (% Full).
Trng thái np (Open / Closed).
Trng thái kế i (Online / Offline, vi quy t ếu không t n c n
nhn đư u trong 30 giây thì coi như mc d li t k t nế i).
Ln cp nht cui (timestamp dng ISO 8601, ví d 2025-
10-13T21:05:33+07:00).
Nếu có t , giao din cn 3 thùng liên tiế t m y 80%p đ c đ
t đng chuyn sang chế đ , làm Cnh báo ưu tiên cao ni bt
các thùng này bng màu đ hoc nhp nháy đ nhân viên thu gom
d dàng nhn din.
v. Chc năng cnh báo và gi thông báo
Khi mt thùng đt ngưỡng cnh báo đy (mc đnh là 80%
nhưng ph ợc phép cu hình li theo tng v ng phi đư trí), h th i
lp t ng ít nh t trong các phương thc sau:c phát thông báo b t m
Thông báo trc tiếp trên Dashboard.
Gi tin nhn qua Telegram Bot hoc Email tới nhóm nhân
viên thu gom.
Bật tín hi i chu cnh báo t (tùy chn) như buzzer hoc đèn
LED nhp nháy.
Trong trường hợp mc đy tiếp tc tăng lên 95% mà vn chưa
đưc x ng ph u trng thái thiế là Khn c lý, h th i đánh d t b p
Cần thu gom ngay và có th t đng gi chuyn hưng thiế hit b n
th u danh sách ưu tiên.lên đ
Ngoài cnh báo đy, h ng cũng ph nh báo khi:th i c
Thùng b mnp quá th nh (ví d > 60 giây).i gian quy đ
Phát hin c ến li / giá tr bt thường liên tiếp 5 ln.m bi
Thiết b i d không g u quá 30 giây đánh du Offline.li
vi. Chc năng ghi log và lưu tr ch s l hot đng
Mi s i dư kin quan trng đu được ghi l ới dng log trong
cơ sd u. Ti thiu phi lưu li các bn ghi v ờng d li i các trư
liu như sau:
Loại s
kin
D liu cn lưu
Ví d
Quét th
RFID
UID, loi ngưi
dùng, kết qu
xác thc, thi
gian
UID=0xA4C3B2, ROLE=User,
RESULT=Accepted,
TIME=2025-10-13 21:10:05
Mnp
th
công/t xa
Người thc hin
(hoc Thiết b),
ngun lnh, thi
gian
ACTION=Open,
SOURCE=Remote,
BY=Admin01
Cảnh báo
mc đy
Thiết b, giá tr
đo, thời gian
cnh báo
BIN_02, LEVEL=82%, TIME=...
Mt kết
ni / khôi
phc
Thiết b, trng
thái, thi gian
BIN_03 Offline
c bn ghi này đưc lưu tr t u 30 ngày trên h ng i thi th
và có th xu ới dng CSV hoc Excel nếu cn ph công t ra dư c v
tác phân tích đnh k.
vii. Chc năng thng kê và ti ưu ho ng thu gomt đ
H ng cung cp giao din thng kê cho phép ngư n tr xem lth i qu i
lch s s dng theo tng khong thi gian. Thng kê cn h ti thiu tr
các dng sau:
Thng kê theo tn sut v ln mnp mi ngày.t rác / s
Biu đ m y c ng thùng theo thi gian đ xác đnh c đ a t
chu k rác đy.
Xếp hng các thùng ho ng nhiu nht / ít nh đó có t đ t, t
th đ xut vic thay đ u chnh lch thu gom.i v trí hoc đi
Nếu h ng phát hin mt thùng có xu hướng đy trong thời gian th
ngn hơn 50% so với trung bình, h ng ph đng đánh du là V th i t
trí s t ki dng cao và gi ý tăng tn su m tra.
viii. Chc năng mrng và qun lý thiế đngt b
H ng h thêm thùng rác m dàng mà không cn lp th tr i d
trình l i chi toàn b. Thiết b m cn:
Đưc gán mã đnh danh duy nht (ID) và
Đăng ký topic MQTT đúng đnh dng quy ưc, ví d:
bin/{ID}/level.
Ngay khi thiết b gi gói tin đu tiên lên h thng, h thng phi
t đng nhn din và thêm vào danh sách thiế đang qun lý, đưa t b
vào nhóm Thiế m n tr viên có th b sung thông tin như t b i. Qu
v ỡng cnh báo riêng, chế đ hot đng ngay t giao din.trí, ngư
Đng th p nht firmware t xa (OTA) qua mng.i c
b. Yêu cu phi chc năng
i. Yêu cu v hiu năng (Performance Requirements)
H ng đ o hot đng mưt mà ngay c khi có nhiu th m b
thi li thết b i d g u đng th i. C :
Thời gian phn h lúc quét th ến khi np m i t RFID đ
không đư ợt quá 500 mili giây trong điu kin mng Wi-c vư
Fi n đnh (đ < 50ms).tr
Đ n d u t lên Dashboard hin th không tr truy li thiết b
quá 1 giây. Nếu vượt quá, h ng phi đánh du là Cảnh th
báo chm tr.
Tn su u ti thiu phi đt 6 gói/phút cho mt g i d li i
thi thết b (tương ng chu k 10 giây/ln), và h ng phi x
lý đưc ti thiu 100 gói d liu/phút mà không gây nghn
hoc mt mát thông tin.
Khi s ợng thiế ng ph lư t b vưt quá 30 thùng, h th i t
đng kích hot cơ chế gi n su u còn 20 m t t g i d li
giây/ln đ đ n đnh (adaptive rate control).m bo
ii. Yêu cu v bo mt (Security Requirements)
Vì h ng có liên quan đến xác thc người dùng và điu khin th
thiết b t sau: t xa nên cn tuân th các yêu cu bo m
Kết ni MQTT phi yêu cu xác th ng c b
username/password. Password m nh phi dài t u 8 c đ i thi
ký t, bao g t 1 ch hoa + 1 ch ng + 1 ký t s.m ít nh thư
Thiết b được phép publish và subscribe trong phm vi ch
topic c t b tình truy a chính nó, ví d bin/01/#. Nếu thiế c
cp topic khác, h ng ph i kế i ngay lp tth i t ch t n c.
Nếu trin khai ngoài mng n , h ng ph i b th i h tr mã
hóa SSL/TLS (port 8883) ho y trong VPN n đ c ch i b
tránh rò r d liu.
c lnh điu khin t xa (Open/Close) phi đư ng c h th
đánh du bng mã đnh danh lnh (CommandID) đ tránh
tình tr i lng x lý lp li nếu gói tin b g i do QoS 1.
iii. Yêu cu v đ y và kh năng ph i (Reliability & Fault tin c c h
Tolerance)
H ng đư ế đ đ o không b gián đon ngay c khi th c thiết k m b
m :t s t b i. thiế gp l Cụ th
Nếu mt thiế không g u trong hơn 30 giây, h t b i tín hi
thng phi t đng đánh du trng thái là Offline và ghi log
s kin DeviceLostConnection.
Thiết b t n i l phi có cơ chế t kế i MQTT ti đa 5 ln liên
ti i.ếp, m n cách nhau 3 giây trưc khi báo li l
c trng thái quan trng như m y gn nh ng thái c đ t, tr
np hin ti ph ợc lưu dư ng Retained Message trên i đư i d
Broker, đ khi h ng kh ng l n hin th chính xác th i đ i v
d u culi i.
Trong trường hợp li cơ sd u, h ng vn phi ưu tiên li th
hin th ng thái realtime t MQTT thay vì tê litr t hoàn toàn.
iv. Yêu cu v kh năng mrng (Scalability Requirements)
H ng có kh năng ho ng n đnh với đa dng quy mô, t th t đ
mt thùng đơn l t h đến m thng lớn gm hàng chc thùng trong
nhiu tng ho u khu vc nhi c.
Kiến trúc h mrng theo chiu ngang (horizontal tr
scaling): có th thêm nhiu broker hoc server x lý mà
không phi thay đi firmware thiết b.
H ng có th ế u hình t đng th thiết k theo nguyên tc c
(auto discovery): thiết b m cn g u ln đu là i ch i d li
đưc t đng thêm vào danh sách giám sát.
Nếu s ợng thiế ng ph ợi ý lư t b vưt 50 thùng, h th i g
chuyn sang các dch v CloudMQTT, EMQX Cloud hoc
AWS IoT Core.
v. Yêu cu v ti ưu năng lượng và băng thông (Energy & Bandwidth
Efficiency)
Mô hình chy bng pin thiế ph i ưu đ năng t b i đưc t tiêu th
lượng thp:
Thiết b i h ph trDeep Sleep Mode và ch y khi cthc d n
gi d liu hoc nhn lnh, giúp kéo dài thời gian s dng
pin lên ti thiu 24 gi tliên c.
Dung lượng mi gói MQTT không đư ợt quá 200 byte, c vư
tng lưu lưng truyn c không vưa mi thi t bế t quá
50KB/ngày đ ết kiti m băng thông và chi phí cloud.
Nếu thiế không nhn lnh trong thi gian dài thì pht b i t m
ngưng vic subscribe các lnh điu khin đ m năng tiết ki
lượng (Idle Mode).
V. Phân tích ràng buc
a. ng buc môi trưng
- : 050°C, đ 90% (không ngưng tNhit đ m 20 ).
- u Wi-Fi 2.4GHz: khong cách ESP32router 50m; gii pháp auto-Nhi
reconnect sau 5s, chn kênh Wi-Fi ít nhiu.
- n đin: 5V2A, công sut ~5W; cn n đnh, tránh nhiu cm biến. Ngu
- Cả ến: HC-SR04 đ p; ly trung bình 35 ln đo; RC522 đm bi t gia n t
cnh np, servo ti bn l.
b. ng buc pháp lý & bo mt
- -Fi: tuân th Thông tư 26/2019/TT-BTTTT (24002483.5MHz, công Wi
sut 100mW).
- RFID 13.56MHz chun ISO/IEC 14443A, không cn cp phép.
- MQTT: dùng broker Mosquitto/HiveMQ, xác thc user/pass, mã hóa
TLS/SSL (port 8883).
- Phân quyn topic: ESP32 ch publish smartbin/#, subscribe
lid/command, rfid/response.
- Bảo m u cá nhân: mã hóa UID RFID, log t xóa sau 6 tháng. t d li
c. ng buc tài nguyên thiết b
- ESP32: Dual-core 240MHz, RAM 520KB cn code ti ưu.
- Buffer offline ti đa 50 message (~20KB).
- nh mnp/RFID/cnh báo (1). QoS: level (0), l
- ng thông: ~17KB/phút/thiết b (1 message/10s).
d. ng buc hiu năng
- Đ mnp <500ms (100ms mng + 200ms x lý + 200ms hin thtr ).
- p nht <1s; c ến g u mi 10s hoc khi thay đDashboard c m bi i d li i
>5%.
- M reconnect sau 5s, lưu 50 message trong EEPROM, dùng t k t nế i: t
LWT & Retained message đ báo trng thái.
e. ng buc m rng
- MQTT Broker h 1000 kế ng thiế ế cho 1050 thiết b. tr t n i, h th t k
- Cấu trúc topic: smartbin/{device_id}/{category}/{action}.
- n 34 cp đ d qun lý & m rng. Gii h
VI. Mô hình hoá
a. Ưu tiên hoá
Must-have:
Ni dung yêu cu
Loi
Ghi chú
Đo mc đy thùng rác đnh k (10s) và
gi li khi thay đi >5%.
Chức
năng
Thành phn đo lưng
chính ca h thng.
Gi d liu qua MQTT
(smartbin/{id}/level) vi QoS = 1.
Chức
năng
Đm bo d liu truyn
n đnh và không mt
gói.
Xác thc th RFID qua backend, phn
hi 300 ms.
Chức
năng
Liên quan bo mt và
tính kh dng.
Mnp sau xác thc; t đóng sau 5 giây
nếu không hot đng.
Chức
năng
Hành vi cơ bn ca
thùng rác thông minh.
Ghi log toàn b s kin (scan, open,
alert, offline) vào CSDL 30 ngày.
Chức
năng
Phc v truy vết và báo
cáo vn hành.
Dashboard hin th realtime: % đy,
trng thái np, kết ni, thi gian.
Chức
năng
Yêu cu ct lõi đ giám
sát h thng.
H trcp nht firmware t xa (OTA)
qua mng
Chức
năng
Bắt buc đ bo trì, vá
li, nâng cp thiết b.

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ÁO CÁO IOT VÀ ỨNG DỤNG
ĐỀ TÀI: HỆ THỐNG THÙNG RÁC
IOT PHÂN QUYỀN VÀ CẢNH BÁO ĐẦY
Giảng viên hướng dẫn : Kim Ngọc Bách Nhóm thực hiện: 14 Nhóm học phần : 06 Thành viên thực hiện:
B22DCCN830 – Đinh Công Thịnh
B22DCCN842 – Nguyễn Như Thuật
B22DCCN758 – Nguyễn Anh Tuấn
B22DCCN013 – Đỗ Nhật Anh Hà Nội, 2025 Mục lục
I. Giới thiệu đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
a. Giới thiệu đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
b. Mục tiêu Chi tiết của Đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
c. Thu thập Yêu cầu từ Stakeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
II. Cơ sở lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
a. Mô hình truyền thông Publish/Subscribe (Pub/Sub) . . . . . . . . . . . . . . . . . . . . . . 8
b. Giao thức MQTT (Message Queuing Telemetry Transport) . . . . . . . . . . . . . . . . 8
c. Nguyên lý hoạt động của cảm biến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
d. Phân quyền người dùng & xác thực . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
e. Giao tiếp Client-Server & Realtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
f. Cơ sở dữ liệu và logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
g. Kiến trúc hệ thống IoT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
h. Nguyên lý hệ thống nhúng (Embedded Systems) . . . . . . . . . . . . . . . . . . . . . . . 10
i. Tự động hóa và IoT (Internet of Things) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
III. Công nghệ sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
IV. Phân tích yêu cầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
a. Yêu cầu chức năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
b. Yêu cầu phi chức năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
V. Phân tích ràng buộc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
a. Ràng buộc môi trường . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
b. Ràng buộc pháp lý & bảo mật . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
c. Ràng buộc tài nguyên thiết bị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
d. Ràng buộc hiệu năng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
e. Ràng buộc mở rộng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
VI. Mô hình hoá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
a. Ưu tiên hoá . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
b. Mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
VII. Phân chia công việc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 I. Giới thiệu đề tài a. Giới thiệu đề tài
Quản lý rác thải là một vấn đề trọng yếu trong phát triển đô thị. Phương
pháp truyền thống thường dẫn đến việc thu gom không đúng lúc, gây ô nhiễm
môi trường, tốn kém chi phí vận hành, và thiếu dữ liệu để tối ưu hóa quy trình. Đề tài ề đ xuất m
ột giải pháp thông minh dựa trên IoT để hiện đại hóa quy trình này.
Hệ thống Thùng rác IoT Phân quyền và ả
C nh báo đầy không chỉ tự động hóa hoạt ộ
đ ng mở nắp mà còn tích hợp khả năng giám sát mức đầy
realtime và phân quyền ng ờ
ư i dùng thông qua thẻ RFID. Điều này giúp: • Tăng tính vệ sinh.
• Tối ưu hóa lịch trình thu gom dựa trên dữ liệu mức đầy thực tế.
• Cung cấp tính năng kiểm soát truy ậ
c p và ghi lại lịch sử hoạt động chi tiết.
b. Mục tiêu Chi tiết của Đề tài
i. Hệ thống IoT nhằm giải quyết ấ v n đề gì?
Hệ thống giải quyết ồ
đ ng thời ba mục tiêu cốt lõi trong quản lý rác
thải đô thị, nhằm thay thế phương pháp thu gom truyền thống kém hiệu quả:
• Giám sát (Monitoring):
o Giám sát mức đầy theo thời gian thực (realtime)
của thùng rác bằng cảm b ế i n siêu âm HC-SR04. o Ghi lại ị
l ch sử hoạt động chi tiết (thời gian quét thẻ, mở nắp, cảnh báo).
• Tự động hóa (Automation):
o Tự động hóa quy trình mở/đóng nắp bằng Servo
SG90 khi người dùng được xác thực hợp lệ bằng thẻ
RFID hoặc được phát hiện bằng cảm b ế i n HC-SR04. o Tự động c
ảnh báo (≥ 80% đầy) để kích hoạt quy trình thu gom.
• Tối ưu hóa (Optimization):
o Tối ưu hóa lịch trình thu gom dựa trên dữ liệu mức
đầy thực tế, thay vì lịch trình cố định.
o Tăng tính vệ sinh và giảm chi phí vận hành.
ii. Phạm vi triển khai
Phạm vi của đề tài tập trung vào việc xây dựng một hệ thống mô
hình hóa và chứng minh tính khả thi (Proof of Concept - PoC):
• Quy mô: Hệ thống mẫu (Prototype) với 01 thiết bị Thùng rác IoT hoàn chỉnh.
• Môi trường: Triển khai trong môi trường phòng thí nghiệm
(Lab) hoặc khu vực thử nghiệm nội ộ b , mô phỏng các điều
kiện sử dụng thực tế tại khu dân cư hoặc khuôn viên trường. • Số l ợ
ư ng thiết bị: Bao gồm 0 1 đơn vị ESP32, 01 RFID
RC522, 01 Servo SG90, 01 HC-SR0
4 (cảm biến mức đầy),
và hệ thống Backend/Frontend tập trung.
• Phân quyền: Bao gồm ít nhất 2 vai trò người dùng (Admin
và User) theo mô hình RBAC (Role-Based Access Control)
iii. Đặt Tiêu chí Thành công (KPIs)
Các tiêu chí này là thước đo định lượng cho sự thành công của đề tài: Tiêu chí Mục tiêu Cụ Chứng minh Kỹ thuật thể
Độ chính xác Độ chính xác
Sai số đo mức đầy < 5% so với đo thủ của phép đo công. mức đầy (HC- SR04). Độ trễ Thời gian Thời gian phản hồi ệ l nh điều khiển từ (Latency) phản hồi cho xa < 500ms. lệnh điều khiển mở nắp. Độ tin ậ c y Đảm bảo
Sử dụng QoS 1 cho các thông điệp (Reliability) truyền nhận
Cảnh báo, Lệnh điều khiển, Log để
các thông điệp đảm bảo không mất gói tin. quan trọng. Bảo mật Khả năng xác
Xác thực thẻ RFID qua Backend thực người
Server. Xác thực (username/password) dùng và thiết
và Phân quyền Topic cho MQTT bị. Broker.
c. Thu thập Yêu cầu từ Stakeholders
Phần này phân tích các yêu cầu chức năng và phi chức năng cần
phải đáp ứng, dựa trên vai trò của các bên liên quan đối với hệ thống thùng rác IoT.
i. Người dùng cuối (End-User: Người đổ rác)
Yêu cầu Mô tả Chi tiết
Đã đáp ứng (Tính năng) (Mong muốn)
Thao tác Khả năng đổ rác
Mở nắp tự động khi quét thẻ hợp lệ
đơn giản nhanh chóng, không hoặc phát hiện người dùng (HC- chạm. SR04).
Phản hồi Biết được thao tác
Hệ thống cần cung cấp phản hồi quét thẻ thành công
hình ảnh/âm thanh (LED/Buzzer) hay thất bại. sau khi quét thẻ.
Vệ sinh Giảm thiểu tiếp xúc Tăng tính vệ sinh nhờ cơ chế mở với thùng rác. nắp tự động.
ii. Quản lý/Doanh nghiệp (Admin, Đơn vị Quản lý Rác) Yêu cầu Mô tả Chi tiết
Đã đáp ứng (Tính năng) (Hiệu quả, Báo cáo) Cảnh báo
Cần nhận được Cảnh báo mức đầy (≥ 80%) được tức thì thông báo khi
gửi qua hệ thống/Dashboard. (Mở thùng rác gần
rộng: Chatbot Telegram cho phép đầy để lên ế k Admin gửi lệnh /status). hoạch thu gom. Báo Cần dữ liệu để
Logging chi tiết mọi sự kiện (mở
cáo/Thống tối ưu hóa lộ
nắp, quét thẻ, cảnh báo) vào cơ sở kê trình thu gom
dữ liệu MySQL. Dữ liệu mức đầy
và đánh giá hiệu realtime hiển thị trên Web suất. Dashboard. Kiểm soát Kiểm soát
Phân quyền người dùng (RBAC) Truy cập những ai được
bằng thẻ RFID, ghi lại lịch sử hoạt phép sử dụng động chi tiết. thùng rác.
iii. Kỹ thuật/IT (Nhóm Phát triển, Quản trị Hệ thống) Yêu cầu
Mô tả Chi tiết (Tích Đã đáp ứng (Công nghệ) hợp, Giao thức, Bảo mật) Tích Hệ thống phải ễ d
Kiến trúc Pub/Sub (MQTT) trên hợp/Mở dàng tích hợp thiết
nền tảng Mosquitto Broker đảm rộng bị mới và mở rộng
bảo giao tiếp phi đồng bộ và tính quy mô. mở rộng.
Giao thức Cần giao thức nhẹ,
Sử dụng MQTT, một giao thức hiệu quả tối ưu cho thiết ị b nhẹ, tối ưu cho IoT. IoT có tài nguyên hạn chế. Xử lý lỗi Cần biết t ạ r ng thái
Triển khai tính năng Last Will của thiết bị khi bị
and Testament (LWT) để tự động ngắt kết nối.
cảnh báo trạng thái offline của ESP32.
iv. Phương pháp thu thập yêu cầu
Phương pháp được đề xuất áp ụ
d ng là kết hợp để có cái nhìn toàn diện:
• Phỏng vấn/Quan sát thực tế:
o Mục đích: Hiểu rõ hành vi đổ rác của người dùng và các
vấn đề "Điểm đau" (Pain Points) của quy trình thu gom
rác hiện tại (ví dụ: rác tràn, mùi hôi, thu gom lãng phí).
o Áp dụng: Áp dụng cho mục tiêu tự động hóa (mở nắp không chạm) và ố
t i ưu hóa (giám sát mức đầy).
• Phân tích Tài liệu/Yêu cầu Kỹ thuật:
o Mục đích: Xác định các yêu cầu phi chức năng về hiệu
năng, bảo mật, và độ tin cậy.
o Áp dụng: Xác định các tiêu chuẩn như QoS 0/QoS 1 ,
thời gian phản hồi lệnh điều khiển (< 500ms) , và mô hình RBAC. II. Cơ sở lý thuyết
a. Mô hình truyền thông Publish/Subscribe (Pub/Sub)
i. Khái niệm: Mô hình giao tiếp phi đồng bộ, trong đó publisher gửi
message lên topic, subscriber nhận message khi đăng ký topic đó.
ii. Ưu điểm: giảm tải kết nối trực tiếp, tăng tính mở rộng, hỗ trợ realtime.
iii. Ứng dụng: Truyền dữ liệu giữa ESP32 ↔ MQTT Broker ↔ Server ↔ Web/App.
b. Giao thức MQTT (Message Queuing Telemetry Transport)
i. Đặc điểm: giao thức nhẹ, tối ưu cho IoT, sử dụng TCP/IP.
ii. Thành phần: Publisher, Subscriber, Broker (Mosquitto/CloudMQTT). iii. Cơ chế QoS:
⎯ QoS 0 – at most once (nhanh, chấp nhận mất gói)
⎯ QoS 1 – at least once (đảm ả
b o đến ít nhất 1 lần)
⎯ QoS 2 – exactly once (hiếm dùng, tốn tài nguyên) iv. Ứng dụng: gửi ữ d liệu cảm b ế
i n, lệnh điều khiển, cảnh báo, log sự kiện.
c. Nguyên lý hoạt động của cảm biến
i. HC-SR04 (Siêu âm): đo khoảng cách dựa trên thời gian truyền – phản xạ sóng âm.
→ Dùng để tính mức đầy thùng:
𝑓𝑖𝑙𝑙_𝑙𝑒𝑣𝑒𝑙 = (1 − 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒) × 100%
𝑏𝑖𝑛ℎ𝑒𝑖𝑔ℎ𝑡
ii. RC522 (RFID): đọc UID thẻ qua giao tiếp SPI, dùng cho xác thực người dùng.
iii. Servo SG90: điều khiển góc quay để mở/đóng nắp rác (thường 0° ↔ 90°).
d. Phân quyền người dùng & xác thực
i. Khái niệm: Hệ thống có nhiều mức quyền (Admin, User).
ii. Cơ chế: Mỗi UID thẻ RFID được ánh xạ đến người dùng trong DB.
iii. Lý thuyết: Mô hình RBAC (Role-Based Access Control) – phân quyền theo vai trò.
e. Giao tiếp Client-Server & Realtime i. Client: ESP32 và Web/App. ii. Server: Node.js backend.
iii. Kết nối realtime: WebSocket (ws://broker:8080) qua MQTT.js để cập nhật tức thì.
f. Cơ sở dữ liệu và logging
i. MySQL: mô hình quan hệ, dùng để lưu user, log, cấu hình.
ii. Chuẩn hóa dữ liệu (Normalization) – tránh dư thừa, dễ truy vấn.
iii. Timestamp & logging: Ghi lại sự kiện giúp truy vết ệ h thống, hỗ trợ phân tích.
g. Kiến trúc hệ thống IoT i. Gồm 3 lớp:
ii. Perception Layer: cảm biến, vi điều khiển (ESP32, HC-SR04, RC522)
iii. Network Layer: truyền thông MQTT qua Internet
iv. Application Layer: Web/App dashboard, xử lý backend
v. Mục tiêu: Kết nối thiết bị vật lý ↔ Dữ liệu ↔ Người dùng.
h. Nguyên lý hệ thống nhúng (Embedded Systems)
i. ESP32: vi điều khiển có WiFi/Bluetooth, lập trình qua Arduino IDE.
ii. Chức năng chính: đọc cảm b ế
i n, publish dữ liệu MQTT, nhận lệnh điều khiển.
i. Tự động hóa và IoT (Internet of Things)
i. IoT concept: kết nối thiết ị
b vật lý qua Internet để giám sát, điều
khiển, cập nhật firmware.
ii. Đặc điểm: realtime, tiết kiệm năng lượng, dễ mở rộng.
iii. Ứng dụng: tự động mở nắp, cảnh báo đầy, thống kê người dùng. III. Công nghệ sử dụng Thành phần Công nghệ Vai trò / Ghi chú Vi điều khiển ESP32
Thiết bị IoT chính, xử lý cảm biến, gửi/nhận MQTT Cảm biến HC-SR04, RC522, Servo Đo khoảng cách, nhận SG90
diện RFID, mở/đóng nắp Giao thức IoT MQTT (Mosquitto / Truyền dữ liệu realtime CloudMQTT)
giữa thiết bị ↔ server ↔ app
Backend Server Node.js + Express + Xử lý logic, xác thực MQTT.js RFID, lưu log Cơ sở dữ liệu MySQL Lưu thông tin user, log, cấu hình Frontend Web React.js + MQTT.js Giao diện realtime hiển
thị dữ liệu và điều khiển UI Library Material UI / Ant Design
Thiết kế giao diện trực quan Biểu đồ Recharts / Chart.js
Hiển thị % đầy thùng rác, realtime biểu đồ mức rác WebSocket ws://broker:8080 Duy trì kết nối realtime cho Web/App Cloud Hosting CloudMQTT / AWS IoT
Nếu triển khai online thay (tùy chọn) Core cho self-hosted broker Ngôn ngữ lập C++ (Arduino IDE) / Lập trình nhúng và web trình JavaScript (Node.js, React) Kiến trúc hệ Publish-Subscribe
Mô hình kết nối dữ liệu thống (Pub/Sub) phi đồng bộ Phân quyền
RBAC (Role-Based Access Quản lý user bằng role Control) admin/user IV. Phân tích yêu cầu a. Yêu cầu chức năng
i. Chức năng thu thập và truyền dữ liệu mức đầy Hệ thống đảm ả
b o mỗi thùng rác IoT đều có khả năng tự động đo
lường mức đầy theo thời gian thực bằng cảm biến siêu âm HC-SR04
(hoặc tùy chọn thêm Loadcell để đo trọng lượng). Cảm biến HC-SR04
có dải đo từ 2 cm đến 400 cm, sai số kỹ thuật ±3 mm, được đặt ở nắp
thùng để đo khoảng cách từ cảm biến đến bề mặt rác. Thiết bị phải
tính toán phần trăm mức đầy theo công thức:
𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒
𝑓𝑖𝑙𝑙_𝑙𝑒𝑣𝑒𝑙 = (1 − 𝑏𝑖𝑛 ) × 100% ℎ𝑒𝑖𝑔ℎ𝑡
Sau khi đo, thiết bị gửi dữ liệu về hệ thống thông qua giao thức
MQTT theo chu kỳ mặc định 10 giây/lần. Ngoài ra, để tránh lãng phí
băng thông, thiết bị gửi thêm một gói dữ liệu phụ nếu mức đầy thay
đổi trên 5% so với lần gửi trước. Trong trường hợp phát hiện sự bất
thường (ví dụ giá trị đo bị sai ệ l ch quá lớn), thiết ị
b cần tự động lặp lại
việc đo tối đa 3 lần trước khi báo lỗi.
ii. Chức năng xác thực người dùng và phân quyền truy cập
Mỗi thùng rác hỗ trợ xác thực người dùng thông qua đầu đọc RFID
RC522, hoạt động ở tần số 13.56 MHz, có khả năng đọc UID thẻ
trong khoảng cách 0–3 cm. Khi người dùng quét thẻ, thiết bị gửi UID
lên hệ thống backend để kiểm tra quyền trong cơ sở dữ liệu. Thời gian từ lúc quét t ẻ
h đến khi nhận được phản hồi xác thực phải ả đ m bảo ≤ 300 mili giây.
Hệ thống phân loại người dùng th n à h ít nhất 3 nhóm:
⎯ User (người sử dụng thông thường): chỉ có quyền mở nắp để bỏ rác.
⎯ Nhân viên thu gom / bảo trì: chỉ được xem những thùng đầy hoặc gặp lỗi.
⎯ Quản trị viên (Admin): toàn quyền điều khiển từ xa, cấu hình
ngưỡng cảnh báo và thêm hoặc xóa thiết bị.
Toàn bộ các lần xác thực đều phải đ ợc
ư ghi vào log hoạt động, bao
gồm: UID người dùng, timestamp, kết quả xác thực (thành công / bị từ chối).
iii. Chức năng điều khiển mở nắp (local & remote)
Thùng rác hỗ trợ hai chế độ mở nắp: tự động mở khi người
dùng đến gần (nếu bật cảm b ế
i n chuyển động hoặc cảm biến siêu
âm hướng ngang) hoặc chỉ mở khi có xác thực hợp lệ. Động cơ sử
dụng là Servo SG90, có góc quay 0°–90°, mô-men x ắ o n 1.8 kg/cm,
đủ để nâng nắp có tải t ọ
r ng nhỏ. Sau khi xác thực hợp lệ, nắp phải
được mở hoàn toàn trong thời gian ≤ 500ms.
Đối với điều khiển từ xa, Admin hoặc hệ thống giám sát có thể gửi ệ
l nh mở hoặc khóa nắp thông qua MQTT. Lệnh điều khiển phải đ ợ
ư c gửi với QoS 1 để đảm bảo không bị mất gói. Nếu nắp
đang mở quá 5 giây mà không có chuyển độn , g hệ thống phải tự
động đóng lại để tiết kiệm đ ệ
i n năng và tránh mùi thoát ra.
iv. Chức năng giám sát trạng thái thiết ị b theo thời gian thực
Hệ thống cung cấp giao diện giám sát tập trung (Dashboard) hiển
thị toàn bộ các thùng rác đang hoạt động. Mỗi thiết ị b phải có mã
định danh riêng (ví dụ: BIN_01, BIN_02, hoặc theo định dạng vị trí
như T2_HALLWAY_03) để dễ dàng phân loại. Trạng thái của mỗi
thùng phải được cập nhật theo thời gian thực, bao gồm:
⎯ Mức đầy hiện tại theo phần trăm (% Full).
⎯ Trạng thái nắp (Open / Closed). ⎯ Trạng thái kết ố
n i (Online / Offline, với quy tắc nếu không
nhận được dữ liệu trong 30 giây thì coi như mất kết nối).
⎯ Lần cập nhật cuối (timestamp dạng ISO 8601, ví dụ “2025- 10-13T21:05:33+07:00”).
Nếu có từ 3 thùng liên tiếp ạ
đ t mức đầy ≥ 80%, giao diện cần
tự động chuyển sang chế độ “Cảnh báo ưu tiên cao”, làm nổi bật
các thùng này bằng màu đỏ hoặc nhấp nháy để nhân viên thu gom dễ dàng nhận diện.
v. Chức năng cảnh báo và gửi thông báo
Khi một thùng đạt ngưỡng cảnh báo đầy (mặc định là 80% nhưng phải đ ợc
ư phép cấu hình lại theo từng vị trí), ệ h thống phải
lập tức phát thông báo bằng ít nhất ộ
m t trong các phương thức sau:
⎯ Thông báo trực tiếp trên Dashboard.
⎯ Gửi tin nhắn qua Telegram Bot hoặc Email tới nhóm nhân viên thu gom.
⎯ Bật tín hiệu cảnh báo tại chỗ (tùy chọn) như buzzer hoặc đèn LED nhấp nháy.
Trong trường hợp mức đầy tiếp tục tăng lên ≥ 95% mà vẫn chưa được xử lý, ệ h thống phải đánh ấ d u trạng thái thiết ị b là “Khẩn cấp –
Cần thu gom ngay” và có thể tự động gọi chuyển hướng thiết ị b hiển thị lên ầ đ u danh sách ưu tiên.
Ngoài cảnh báo đầy, hệ thống cũng phải ả c nh báo khi:
⎯ Thùng bị mở nắp quá thời gian quy ị
đ nh (ví dụ > 60 giây). ⎯ Phát hiện cảm b ế
i n lỗi / giá trị bất thường liên tiếp 5 lần.
⎯ Thiết bị không gửi dữ liệu quá 30 giây → đánh dấu Offline.
vi. Chức năng ghi log và lưu trữ lịch sử hoạt động
Mọi sự kiện quan trọng đều được ghi lại dưới dạng log trong
cơ sở dữ liệu. Tối thiểu phải lưu lại các bản ghi với các trường dữ liệu như sau: Loại sự Dữ liệu cần lưu Ví dụ kiện Quét thẻ UID, loại người UID=0xA4C3B2, ROLE=User, RFID dùng, kết quả RESULT=Accepted, xác thực, thời TIME=2025-10-13 21:10:05 gian Mở nắp
Người thực hiện ACTION=Open, thủ (hoặc Thiết bị), SOURCE=Remote,
công/từ xa nguồn lệnh, thời BY=Admin01 gian Cảnh báo Thiết bị, giá trị BIN_02, LEVEL=82%, TIME=... mức đầy đo, thời gian cảnh báo Mất kết Thiết bị, trạng BIN_03 → Offline nối / khôi thái, thời gian phục
Các bản ghi này được lưu trữ tối th ể
i u 30 ngày trên hệ thống
và có thể xuất ra dưới dạng CSV hoặc Excel nếu cần phục vụ công
tác phân tích định kỳ.
vii. Chức năng thống kê và tối ưu hoạt ộ đ ng thu gom
Hệ thống cung cấp giao diện thống kê cho phép người quản trị xem lại
lịch sử sử dụng theo từng khoảng thời gian. Thống kê cần hỗ trợ tối thiểu các dạng sau:
⎯ Thống kê theo tần suất vứt rác / ố
s lần mở nắp mỗi ngày.
⎯ Biểu đồ mức đầy của từng thùng theo thời gian để xác định chu kỳ rác đầy.
⎯ Xếp hạng các thùng hoạt ộ
đ ng nhiều nhất / ít nhất, ừ t đó có
thể đề xuất việc thay đổi ị
v trí hoặc điều chỉnh lịch thu gom.
Nếu hệ thống phát hiện một thùng có xu hướng đầy trong thời gian
ngắn hơn 50% so với trung bình, hệ thống phải ự
t động đánh dấu là “Vị
trí sử dụng cao” và gợi ý tăng tần suất kiểm tra.
viii. Chức năng mở rộng và quản lý thiết ị b động
Hệ thống hỗ trợ thêm thùng rác mới ễ
d dàng mà không cần lập
trình lại toàn bộ. Thiết bị mới chỉ cần:
⎯ Được gán mã định danh duy nhất (ID) và
⎯ Đăng ký topic MQTT đúng định dạng quy ước, ví dụ: bin/{ID}/level.
Ngay khi thiết bị gửi gói tin đầu tiên lên hệ thống, hệ thống phải
tự động nhận diện và thêm vào danh sách thiết ị b đang quản lý, đưa vào nhóm “Thiết ị b mới”. Q ả
u n trị viên có thể bổ sung thông tin như vị trí, ng ỡng ư
cảnh báo riêng, chế độ hoạt động ngay từ giao diện. Đồng thời ậ
c p nhật firmware từ xa (OTA) qua mạng.
b. Yêu cầu phi chức năng
i. Yêu cầu về hiệu năng (Performance Requirements) Hệ thống đảm ả
b o hoạt động mượt mà ngay cả khi có nhiều
thiết bị gửi dữ liệu đồng thời. ụ C thể:
⎯ Thời gian phản hồi từ lúc quét thẻ RFID đến khi nắp mở
không được vượt quá 500 mili giây trong điều kiện mạng Wi-
Fi ổn định (độ trễ < 50ms). ⎯ Độ trễ tru ề
y n dữ liệu từ thiết ị
b lên Dashboard hiển thị không
quá 1 giây. Nếu vượt quá, hệ thống phải đánh dấu là “Cảnh báo chậm trễ”. ⎯ Tần suất gửi ữ
d liệu tối thiểu phải đạt 6 gói/phút cho mỗi
thiết bị (tương ứng chu kỳ 10 giây/lần), và hệ thống phải xử
lý được tối thiểu 100 gói dữ liệu/phút mà không gây nghẽn hoặc mất mát thông tin. ⎯ Khi số l ợng ư thiết ị b vượt quá 30 thùng, ệ h thống phải ự t
động kích hoạt cơ chế giảm ầ t n suất gửi ữ d liệu còn 20
giây/lần để đảm bảo ổn định (adaptive rate control).
ii. Yêu cầu về bảo mật (Security Requirements)
Vì hệ thống có liên quan đến xác thực người dùng và điều khiển
thiết bị từ xa nên cần tuân thủ các yêu cầu bảo mật sau:
⎯ Kết nối MQTT phải yêu cầu xác thực bằng
username/password. Password mặc định phải dài tối th ể i u 8 ký tự, bao gồm ít n ấ
h t 1 chữ hoa + 1 chữ th ờ ư ng + 1 ký tự số.
⎯ Thiết bị chỉ được phép publish và subscribe trong phạm vi
topic của chính nó, ví dụ bin/01/#. Nếu thiết bị cố tình truy
cập topic khác, hệ thống phải ừ t chối kết ố n i ngay lập tức.
⎯ Nếu triển khai ngoài mạng nội ộ b , hệ thống phải ỗ h trợ mã
hóa SSL/TLS (port 8883) hoặc chạy trong VPN nội ộ b để tránh rò rỉ dữ liệu.
⎯ Các lệnh điều khiển từ xa (Open/Close) phải được hệ thống
đánh dấu bằng mã định danh lệnh (CommandID) để tránh
tình trạng xử lý lặp lại nếu gói tin bị gửi lại do QoS 1.
iii. Yêu cầu về độ tin ậ
c y và khả năng phục hồi (Reliability & Fault Tolerance)
Hệ thống được thiết kế để đảm ả
b o không bị gián đoạn ngay cả khi
một số thiết bị gặp lỗi. Cụ thể: ⎯ Nếu một thiết ị b không gửi tín h ệ i u trong hơn 30 giây, hệ
thống phải tự động đánh dấu trạng thái là “Offline” và ghi log
sự kiện DeviceLostConnection.
⎯ Thiết bị phải có cơ chế tự kết nối lại MQTT tối đa 5 lần liên tiếp, mỗi ầ
l n cách nhau 3 giây trước khi báo lỗi.
⎯ Các trạng thái quan trọng như mức đầy gần nhất, t ạ r ng thái
nắp hiện tại phải đ ợc ư lưu dưới ạ d ng Retained Message trên
Broker, để khi hệ thống khởi ộ đ ng lại ẫ v n hiển thị chính xác dữ liệu cuối.
⎯ Trong trường hợp lỗi cơ sở dữ liệu, hệ thống vẫn phải ưu tiên
hiển thị trạng thái realtime từ MQTT thay vì tê liệt hoàn toàn.
iv. Yêu cầu về khả năng mở rộng (Scalability Requirements)
Hệ thống có khả năng hoạt ộ
đ ng ổn định với đa dạng quy mô, từ
một thùng đơn lẻ đến một hệ thống lớn gồm hàng chục thùng trong
nhiều tầng hoặc nhiều khu vực.
⎯ Kiến trúc hỗ trợ mở rộng theo chiều ngang (horizontal
scaling): có thể thêm nhiều broker hoặc server xử lý mà
không phải thay đổi firmware thiết bị.
⎯ Hệ thống có thể thiết ế
k theo nguyên tắc cấu hình tự động
(auto discovery): thiết bị mới c ỉ h cần gửi ữ d liệu lần đầu là
được tự động thêm vào danh sách giám sát. ⎯ Nếu số l ợng ư thiết ị b vượt 50 thùng, ệ h thống phải ợi g ý
chuyển sang các dịch vụ CloudMQTT, EMQX Cloud hoặc AWS IoT Core.
v. Yêu cầu về tối ưu năng lượng và băng thông (Energy & Bandwidth Efficiency)
Mô hình chạy bằng pin thiết ị
b phải được tối ưu để tiêu thụ năng lượng thấp:
⎯ Thiết bị phải hỗ trợ Deep Sleep Mode và chỉ thức dậy khi cần
gửi dữ liệu hoặc nhận lệnh, giúp kéo dài thời gian sử dụng
pin lên tối thiểu 24 giờ liên tục.
⎯ Dung lượng mỗi gói MQTT không được vượt quá 200 byte,
tổng lưu lượng truyền của mỗi thiết ị b không vượt quá
50KB/ngày để tiết kiệm băng thông và chi phí cloud. ⎯ Nếu thiết ị
b không nhận lệnh trong thời gian dài thì phải tạm
ngưng việc subscribe các lệnh điều khiển để tiết k ệ i m năng lượng (Idle Mode). V. Phân tích ràng buộc
a. Ràng buộc môi trường - Nhiệt ộ
đ : 0–50°C, độ ẩm 2 – 0 90% (không ngưng tụ).
- Nhiễu Wi-Fi 2.4GHz: khoảng cách ESP32–router ≤50m; giải pháp auto-
reconnect sau 5s, chọn kênh Wi-Fi ít nhiễu.
- Nguồn điện: 5V–2A, công suất ~5W; cần ổn định, tránh nhiễu cảm biến. - Cảm b ế
i n: HC-SR04 đặt giữa nắp; lấy trung bình 3–5 lần đo; RC522 đặt
cạnh nắp, servo tại bản lề.
b. Ràng buộc pháp lý & bảo mật - W -
i Fi: tuân thủ Thông tư 26/2019/TT-BTTTT (2400–2483.5MHz, công suất ≤100mW).
- RFID 13.56MHz chuẩn ISO/IEC 14443A, không cần cấp phép.
- MQTT: dùng broker Mosquitto/HiveMQ, xác thực user/pass, mã hóa TLS/SSL (port 8883).
- Phân quyền topic: ESP32 chỉ publish “smartbin/#”, subscribe
“lid/command”, “rfid/response”. - Bảo mật ữ
d liệu cá nhân: mã hóa UID RFID, log tự xóa sau 6 tháng.
c. Ràng buộc tài nguyên thiết bị
- ESP32: Dual-core 240MHz, RAM 520KB → cần code tối ưu.
- Buffer offline tối đa 50 message (~20KB).
- QoS: level (0), lệnh mở nắp/RFID/cảnh báo (1).
- Băng thông: ~17KB/phút/thiết bị (1 message/10s). d. Ràng buộc hiệu năng
- Độ trễ mở nắp <500ms (100ms mạng + 200ms xử lý + 200ms hiển thị).
- Dashboard cập nhật <1s; cảm b ế i n gửi ữ
d liệu mỗi 10s hoặc khi thay đổi >5%. - Mất kết nối: ự
t reconnect sau 5s, lưu 50 message trong EEPROM, dùng
LWT & Retained message để báo trạng thái. e. Ràng buộc mở rộng
- MQTT Broker hỗ trợ 1000 kết nối, ệ h thống thiết ế k cho 10–50 thiết bị.
- Cấu trúc topic: smartbin/{device_id}/{category}/{action}. - Giới ạ
h n 3–4 cấp để dễ quản lý & mở rộng. VI. Mô hình hoá a. Ưu tiên hoá Must-have: Nội dung yêu cầu Loại Ghi chú
Đo mức đầy thùng rác định kỳ (10s) và Chức Thành phần đo lường
gửi lại khi thay đổi >5%. năng chính của hệ thống. Gửi dữ liệu qua MQTT Chức
Đảm bảo dữ liệu truyền
(smartbin/{id}/level) với QoS = 1. năng ổn định và không mất gói.
Xác thực thẻ RFID qua backend, phản Chức Liên quan bảo mật và hồi ≤300 ms. năng tính khả dụng.
Mở nắp sau xác thực; tự đóng sau 5 giây Chức Hành vi cơ bản của nếu không hoạt động. năng thùng rác thông minh.
Ghi log toàn bộ sự kiện (scan, open, Chức
Phục vụ truy vết và báo
alert, offline) vào CSDL ≥30 ngày. năng cáo vận hành.
Dashboard hiển thị realtime: % đầy, Chức
Yêu cầu cốt lõi để giám
trạng thái nắp, kết nối, thời gian. năng sát hệ thống.
Hỗ trợ cập nhật firmware từ xa (OTA) Chức
Bắt buộc để bảo trì, vá qua mạng năng
lỗi, nâng cấp thiết bị.