














Preview text:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN ----- & -----
BÁO CÁO BÀI TẬP LỚN
Đề tài: Hệ thống cảnh báo rò rỉ khí Gas, báo cháy
Giảng viên hướng dẫn : Kim Ngọc Bách Nhóm học phần : 02 Nhóm bài tập lớn : 12 Thành viên B21DCCN255 - Phạm Văn Đức B21DCCN310 - Lương Thái Hà B21DCCN339 - Đoàn Minh Hiển B21DCCN408 - Đỗ Mạnh Hùng
Hà Nội, tháng 10 năm 2024 Mục lục
I. Giới thiệu đề tài ...................................................................................................... 3
1. Mô tả dự án ......................................................................................................... 3
2. Mục đích, ý nghĩa của dự án ............................................................................. 3
3. Tổng quan phương hướng ................................................................................. 3
4. Các thiết bị sử dụng trong hệ thống ................................................................. 4 II.
Cơ sở lý thuyết .................................................................................................... 5
1. Khái niệm về IoT(Internet of Things) . ............................................................ 5
2. Tầm quan trọng của IoT trong an toàn khí Gas, cháy nổ .............................. 5
3. Cấu trúc của hệ thống cảnh báo rò rỉ khí Gas, báo cháy trong thực tế ........ 5
4. Giao thức HTTP ................................................................................................. 6
5. WebSocket ........................................................................................................... 6
6. Firebase ...... ........................................................................................................ 7
7. Các thiết bị sử dụng trong hệ thống ................................................................. 7 III.
Phân tích yêu cầu .............................................................................................. 12
1. Yêu cầu chức năng............................................................................................ 12
2. Yêu cầu phi chức năng ..................................................................................... 13
3. Yêu cầu về giao tiếp .......................................................................................... 13
4. Yêu cầu về môi trường hoạt động ................................................................... 14
5. Yêu cầu về thử nghiệm ..................................................................................... 14 IV.
Phân tích thiết kế hệ thống .............................................................................. 15 V.
Đánh giá kết quả dự án .................................................................................... 15 VI.
Kết luận ............................................................................................................. 15
Tài liệu tham khảo ....................................................................................................... 15 2
I. Giới thiệu đề tài 1. Mô tả dự án
Ngày nay với sự phát triển vượt bậc của khoa học kỹ thuật, điện tử đã được ứng
dụng ở rất nhiều lĩnh vực trong thực tế để phục vụ nhu cầu: chăm sóc sức khỏe, bảo vệ
tính mạng và tài sản cho con người.
Khi đời sống con người được cải thiện thì việc sử dụng bếp gas hay các sản phẩm
của gas làm nhiên liệu đun nấu đang phổ biến. Bên cạnh việc tiện lợi của gas, một vấn
đề khác của gas cũng được quan tâm đó là: an toàn khi sử dụng gas. Khi con người
tiếp xúc trực tiếp với khí gas (vượt quá một nồng độ cho phép nhất định) trong thời
gian dài thì rất dễ bị ngộ độc gas và có thể gây tử vong. Không những vậy khí gas rò rỉ
vào trong không khí có thể dễ dàng bắt lửa và gây cháy nổ, ảnh hưởng nghiêm trọng
tới an toàn của người sử dụng cũng như những người xung quanh. Vì vậy, vấn đề phát
hiện và xử lý sự cố rò gas là một việc rất cần thiết với người thường xuyên sử dụng
gas. Đặc biệt là các bạn sinh viên thường sử dụng các bình gas mini không đảm bảo
chất lượng, có thể rò rỉ gas bất cứ khi nào. Xuất phát từ ý tưởng và tình hình thực tế
em thấy đây là một đề tài hay, có tính ứng dụng cao và có thể phát triển nên em đã
chọn đề tài này làm đề tài chính trong đồ án môn học.
Để khắc phục sự cố của khí gas khi sử dụng chúng em đã làm ra thiết bị cảnh báo
rò rỉ khí gas, thiết bị này giúp chúng ta dễ dàng nhận biết khí gas khi bị rò rỉ, được sử
dụng trong các tòa nhà và hộ gia đình.
2. Mục đích, ý nghĩa của dự án
Nắm bắt được cấu trúc phần cứng, sơ đồ khối, nguyên lý làm việc của mạch điều khiển.
Tìm hiểu về lập trình Arduino
Biết cách làm một đồ án hoàn chỉnh phục vụ cho việc làm đồ án tốt nghiệp về sau.
Sản phẩm hoạt động ổn định với đầy đủ các chức năng cần thiết cho việc “ cảnh
báo khí gas và phòng chống cháy nổ “
Sản phẩm nhỏ, gọn, mang tính thẩm mỹ cao.
Giá thành sản phẩm phù hợp với người tiêu dùng hiện nay.
3. Tổng quan phương hướng
Hệ thống cảnh báo rò rỉ khí gas đang ngày càng trở nên quan trọng trong việc
bảo vệ an toàn cho con người và tài sản. Trong bối cảnh công nghệ IoT ngày càng phát 3
triển, một số xu hướng chính có thể hình thành trong tương lai cho hệ thống này bao gồm:
Tích hợp trí tuệ nhân tạo sẽ giúp hệ thống phân tích dữ liệu từ các cảm biến một
cách hiệu quả hơn, nhận diện các mẫu rò rỉ khí và đưa ra cảnh báo chính xác hơn.
Machine Learning cũng có thể cải thiện khả năng phát hiện bất thường và giảm
thiểu số lượng báo động giả.
Cải thiện cảm biến thông minh: Các cảm biến thông minh sẽ trở nên nhỏ gọn và
nhạy bén hơn, cho phép tích hợp nhiều loại cảm biến vào một thiết bị duy nhất.
Chúng có thể đo lường nhiều loại khí khác nhau và tự động điều chỉnh ngưỡng
cảnh báo tùy theo môi trường.
Tích hợp với hệ sinh thái nhà thông minh: Hệ thống cảnh báo rò rỉ khí gas sẽ
ngày càng được tích hợp vào các hệ thống nhà thông minh, cho phép tự động
điều khiển các thiết bị khác (như quạt thông gió, cửa sổ tự động, v.v.) nhằm giảm thiểu nguy cơ.
Những xu hướng này sẽ không chỉ nâng cao khả năng phát hiện rò rỉ khí gas mà còn
tăng cường an toàn cho người dùng và giảm thiểu rủi ro liên quan đến sự cố khí gas trong tương lai.
4. Các thiết bị sử dụng trong hệ thống a. Phần cứng ESP32 WROOM 32 Cảm biến khí Gas MQ2
Màn hình LCD 1602 để hiển thị thông số Còi báo cháy
Module 2 relay để điều khiển bật tắt quạt, máy bơm
Servo để đóng mở cửa
Kit để kết nối các linh kiện Các dây dẫn b. Phần mềm
Arduino IDE : Arduino IDE để viết mã cho ESP32. Chương trình viết xong sẽ
được nạp vào ESP32 thông qua giao tiếp USB. Arduino IDE có công cụ kiểm tra
lỗi và nạp chương trình để giúp đảm bảo rằng chương trình hoạt động ổn định.
Firebase Realtime Database là cơ sở dữ liệu được lưu trữ trên đám mây để lưu
trữ giá trị khí gas đo được, giá trị khí gas tiêu chuẩn, các trạng thái của relay,
servo cũng như trạng thái khi phát hiện lửa. Các giá trị sẽ được đồng bộ hóa theo
thời gian thực mỗi khi người dùng hoặc ESP32 kết nối 4
Frontend(ReactJS): Xây dựng giao diện người dùng để tương tác với hệ thống
cũng như theo dõi nồng độ khí gas cũng nhưng trạng thái của các thiết bị
Backend(NodeJS): xây dựng một API để giao tiếp với Firebase Realtime
Database và phục vụ các yêu cầu từ frontend ReactJS
II. Cơ sở lý thuyết
1. Khái niệm về IoT(Internet of Things)
Internet of Things (IoT) là một mạng lưới các thiết bị vật lý được kết nối với
nhau qua internet, cho phép thu thập, trao đổi và phân tích dữ liệu mà không cần sự
can thiệp của con người. Các thiết bị này có thể bao gồm cảm biến, máy móc, thiết bị
điện tử, và hơn thế nữa, được trang bị các cảm biến và phần mềm để thu thập thông tin
và tương tác với môi trường. [1]
2. Tầm quan trọng của IoT trong an toàn khí Gas, cháy nổ
Rò rỉ khí gas có thể dẫn đến các tai nạn nghiêm trọng, bao gồm cháy nổ và ô nhiễm
không khí. Hệ thống cảnh báo rò rỉ khí gas sử dụng IoT giúp phát hiện và thông báo
kịp thời về các rủi ro này, từ đó giảm thiểu thiệt hại cho con người và tài sản. IoT cung
cấp khả năng giám sát liên tục và phản ứng nhanh chóng với các tình huống nguy hiểm.
3. Cấu trúc của hệ thống cảnh báo rò rỉ khí Gas, báo cháy trong thực tế
Hệ thống cảnh báo rò rỉ khí gas thường bao gồm các thành phần chính sau:
Cảm biến khí gas: Thiết bị phát hiện các loại khí như metan, propan, hay khí tự
nhiên. Cảm biến này thường sử dụng công nghệ điện hóa, hồng ngoại, hoặc bán
dẫn để xác định nồng độ khí. Một số loại cảm biến phổ biến bao gồm cảm biến
điện hóa (được sử dụng cho khí độc như CO, H₂S), cảm biến hồng ngoại (Thích
hợp cho khí dễ cháy như CH₄, C₃H₈), cảm biến bán dẫn (rẻ và có kích thước nhỏ,
thường dùng cho các ứng dụng không yêu cầu độ chính xác cao)
Cổng kết nối: Thiết bị trung gian kết nối các cảm biến với internet, thu thập dữ
liệu từ các cảm biến và gửi đến máy chủ đám mây để phân tích thường hỗ trợ
nhiều giao thức truyền thông (MQTT, HTTP, CoAP).
Nền tảng lưu trữ dữ liệu: Dữ liệu từ các cảm biến được gửi đến máy chủ đám
mây, nơi chúng được lưu trữ, xử lý và phân tích. Nền tảng này thường sử dụng
các công nghệ như Big Data và AI để cung cấp thông tin hữu ích.
Giao diện người dùng: Ứng dụng di động hoặc web cho phép người dùng theo
dõi tình trạng an toàn của môi trường xung quanh, nhận thông báo khi có rò rỉ
khí, và quản lý các thiết bị cảm biến. 5
Hình 1: Sơ đồ của hệ thống cảnh báo rò rỉ khí gas trên thực tế 4. Giao thức HTTP
Khái niệm: Giao thức truyền thông Hypertext Transfer Protocol (HTTP) là một giao
thức cơ bản được sử dụng để truy cập và truyền tải dữ liệu trên Internet. Trong lĩnh
vực loT, HTTP đóng vai trò quan trọng trong việc kết nối và truyền thông dữ liệu giữa
các thiết bị loT và các hệ thống backend. [2]
Cách hoạt động: Khi một thiết bị loT muốn gửi dữ liệu đến một hệ thống backend
thông qua giao thức HTTP, nó sẽ thiết lập một kết nối TCP với máy chủ và gửi một
yêu cầu HTTP chứa dữ liệu cần truyền. Hệ thống backend sau đó xử lý yêu cầu này và
có thể trả về phản hồi theo yêu cầu của thiết bị loT. 5. WebSocket
Khái niệm: WebSocket là một giao thức truyền thông cung cấp các kênh liên lạc song
công hoàn toàn qua một kết nối TCP duy nhất giữa máy khách và máy chủ. Không
giống như HTTP truyền thống tuân theo mô hình phản hồi yêu cầu, giao thức này cho
phép giao tiếp hai chiều. Điều này có nghĩa là máy khách và máy chủ có thể gửi dữ
liệu cho nhau bất cứ lúc nào, giúp dữ liệu được truyền đi nhanh chóng mà không cần
phải tải lại trang web. [2] Cách hoạt động:
Client (thiết bị IoT) gửi yêu cầu mở kết nối WebSocket tới server qua HTTP.
Server chấp nhận kết nối và thiết lập một kênh giao tiếp hai chiều. 6
Sau khi kết nối được thiết lập, cả hai bên có thể truyền dữ liệu lẫn nhau mà
không cần gửi thêm yêu cầu HTTP mới.
Khi không còn dữ liệu, kết nối sẽ vẫn mở cho đến khi một trong hai bên ngắt kết nối. 6. Firebase
Khái niệm: Firebase trong IoT là một nền tảng được sử dụng để hỗ trợ lưu trữ và quản
lý dữ liệu của các thiết bị IoT trên đám mây. Firebase cung cấp một loạt các dịch vụ,
chẳng hạn như cơ sở dữ liệu thời gian thực, lưu trữ tệp, phân tích, và khả năng xác
thực người dùng, giúp các hệ thống IoT có thể lưu trữ, xử lý và đồng bộ dữ liệu dễ
dàng giữa các thiết bị và ứng dụng. [3]
Các khía cạnh chính về việc sử dụng Firbase trong dự án IoT:
Firebase Realtime Database: là một giao thức được xây dựng dựa trên
WebSocket và HTTP để cung cấp kết nối dữ liệu liên tục theo thời gian thực, là
một cơ sở dữ liệu NoSQL, nơi mà dữ liệu được lưu trữ dưới dạng JSON và đồng
bộ hóa theo thời gian thực. Điều này rất phù hợp với các ứng dụng IoT, vì các
thiết bị IoT thường cần gửi và nhận dữ liệu trong thời gian thực.
Firebase Cloud Messaging (FCM): cho phép các thiết bị IoT gửi và nhận thông
báo thông qua dịch vụ đám mây của Firebase. Ví dụ, một thiết bị IoT có thể phát
hiện sự cố (như phát hiện khói hoặc khí gas vượt ngưỡng) và gửi thông báo tới
người dùng ngay lập tức
Firebase Hosting: có thể được sử dụng để lưu trữ ứng dụng web, trang điều
khiển các thiết bị IoT, giúp quản lý và điều khiển thiết bị từ xa qua giao diện người dùng (UI).
7. Các thiết bị sử dụng trong hệ thống
a. ESP32 WROOM 32: Đây là bộ vi điều khiển mạnh mẽ với khả năng kết nối Wi-Fi
và Bluetooth, rất phù hợp cho các ứng dụng IoT. 7
Phần cứng của ESP-WROOM-32: [4]
GPIO (General Purpose Input/Output): ESP32 có 34 chân GPIO có thể lập trình
được, với mỗi chân có thể thực hiện nhiều chức năng khác nhau như đầu vào/đầu ra
kỹ thuật số, ADC, UART, SPI, I2C, và PWM. Một số chân được chỉ định sẵn cho
các chức năng đặc biệt như ADC hoặc DAC, nhưng các chân khác có thể được cấu
hình tùy chỉnh qua chương trình.
ADC (Analog to Digital Converter): ESP32 có 18 kênh ADC 12-bit chia thành
hai khối (ADC1 và ADC2), cho phép chuyển đổi tín hiệu analog thành giá trị số từ
0 đến 4093. Độ phân giải cao của ADC giúp đo chính xác các tín hiệu từ cảm biến.
DAC (Digital to Analog Converter): ESP32 tích hợp 2 kênh DAC 8-bit trên các
chân GPIO25 và GPIO26, cho phép chuyển đổi tín hiệu số sang tín hiệu điện áp analog.
PWM (Pulse Width Modulation): Có 16 kênh PWM độc lập, giúp điều khiển
động cơ và đèn LED. Người dùng có thể điều chỉnh tần số, chu kỳ nhiệm vụ và gán
kênh PWM cho bất kỳ chân GPIO nào.
RTC GPIO (Real-Time Clock GPIO): ESP32 có 16 GPIO RTC, giúp đánh thức
thiết bị khỏi chế độ ngủ sâu (Deep Sleep) nhờ các nguồn đánh thức bên ngoài.
Cảm biến điện dung: Có 10 GPIO cảm ứng điện dung, sử dụng để phát hiện sự
thay đổi điện dung khi có vật chạm vào chân cảm ứng, không cần phần cứng bổ sung.
Giao diện UART: ESP32 có 3 giao diện UART cho truyền thông nối tiếp, thường
sử dụng cho giao tiếp với máy tính hoặc các module khác.
Giao diện SPI: ESP32 có 3 khối SPI (SPI, HSPI, VSPI), dùng cho truyền thông tốc
độ cao với các thiết bị ngoại vi như bộ nhớ Flash. 8
Giao diện I2C: 2 giao diện I2C cho phép giao tiếp với các cảm biến và thiết bị
ngoại vi. Các chân I2C mặc định trong Arduino IDE là GPIO21 (SDA) và GPIO22
(SCL), nhưng có thể cấu hình lại.
Chỉ đầu vào GPIO: Một số chân như GPIO34, GPIO35, GPIO36, và GPIO39 chỉ
hỗ trợ đầu vào kỹ thuật số.
Triển khai ESP32 với Firebase: [5]
Yêu cầu phần cứng: ESP32 WROOM 32
Cảm biến(ví dụ: Cảm biến khí gas MQ2)
Nguồn điện(USB hoặc pin)
Yêu cầu phần mềm: Arduino IDE
Thư viện Firebase ESP32 Client để hỗ trợ kết nối Firebase
ESP32 trong phần Board Manager
Các bước thực hiện:
Bước 1: Cài đặt Arduino IDE và thêm ESP32 và Board Manager
Bước 2: Cài thư đặt thư viện Firebase ESP32 Client: Vào Tools -> Manage
Libraries, tìm kiếm “Firebase ESP32 Client” và cài đặt
Bước 3: Kết nối WiFi: Khai báo thư viện “WiFi.h” để kết nối ESP32 với WiFi
Code: https://ideone.com/j5bgyd
Bước 4: Tạo dự án trên Firebase: bạn vào đường dẫn sau:
https://console.firebase.google.com/u/0/ rồi tạo một dự án có tên là “BLT-IOT”
Bước 5: Kết nối với Firebase: Sau khi ESP32 kết nối thành công với WiFi, bạn cần
kết nối với Firebase. Dưới đây là cách thiết lập thông qua thư viện “Firebase ESP32 Client”:
Code: https://ideone.com/j5bgyd
Bước 6: Gửi và nhận dữ liệu bằng Firebase Realtime Database: Sau khi kết nối
thành công với Firebase, ta có thể gửi và nhận giữ liệu thông qua Firebase Realtime
Database. Ví dụ, nếu muốn gửi giá trị khí gas đo được từ cảm biến ta có thể thực hiện bằng câu lệnh:
Firebase.setInt(firebaseData, “/data/gasValue”, value);
Hoặc nếu muốn đặt lại giá trị ngưỡng khí gas từ Firebase ta có thể dùng câu lệnh: 9
Firebase.getInt(firebaseData, "/data/gasThreshold");
gasThreshold = firebaseData.intData();
Bước 7: Firebase Console: tại đây bạn có thể xem những giá trị đo được từ cảm biến
hoặc cũng có thể gửi giá trị cho ESP32 thông qua Firebase Realtime Database
Code: https://ideone.com/j5bgyd [5] b. Cảm biến khí gas MQ2
Cảm biến MQ-2 là một trong những cảm biến khí phổ biến, được sử dụng để phát hiện
nhiều loại khí khác nhau, bao gồm khí gas tự nhiên (methane), khí LPG (propane),
khói và một số khí độc khác. Đây là một cảm biến điện hóa, hoạt động dựa trên
nguyên tắc thay đổi điện trở khi tiếp xúc với các loại khí.
Chức năng của cảm biến MQ-2:
Phát hiện khí : Cảm biến có khả năng phát hiện nồng độ của nhiều loại khí khác
nhau, bao gồm: khí gas tự nhiên (methane, CH₄), khí LPG (propane, C₃H₈), khói
và hơi từ các chất dễ cháy, một số khí độc như CO (carbon monoxide).
Đo lường nhiệt độ: Cảm biến cung cấp tín hiệu điện để đo lường nồng độ khí,
giúp người dùng biết được tình trạng an toàn của môi trường.
Cảnh báo Rò rỉ: Khi nồng độ khí vượt quá ngưỡng an toàn, cảm biến có thể kích
hoạt hệ thống cảnh báo để thông báo cho người dùng về rủi ro tiềm ẩn.
Cảm biến MQ-2 hoạt động theo nguyên lý điện trở thay đổi. Dưới đây là các bước cụ thể:
Cấu trúc cảm biến: MQ-2 gồm một mạch điện và một bộ cảm biến, thường là
một dây kim loại với lớp oxit kim loại nhạy cảm với khí (thường là SnO₂).Cảm
biến có hai chân: chân cấp điện (VCC) và chân tín hiệu (AO/DO).
Cấp điện: Khi cảm biến được cấp điện (thường là 5V), điện trở của lớp SnO₂ sẽ
bị ảnh hưởng bởi các khí mà nó tiếp xúc. 10
Đo lường tín hiệu: Cảm biến cung cấp hai loại tín hiệu: Analog Output (AO) có
thể được sử dụng để đo nồng độ khí liên tục. Digital Output (DO) là một tín hiệu
bật/tắt, cho phép cảm biến phát hiện khi nồng độ khí vượt qua ngưỡng đã định trước.
Xử lý Dữ liệu: Tín hiệu từ cảm biến được gửi đến vi điều khiển hoặc hệ thống xử
lý dữ liệu để phân tích. Hệ thống có thể so sánh tín hiệu với các giá trị ngưỡng đã
xác định để quyết định xem có nên kích hoạt cảnh báo hay không
Thông số kỹ thuật:
Nguồn hoạt động: 5V
Loại dữ liệu: Analog
Phạm vi phát hiện rộng
Tốc độ phản hồi nhanh và độ nhạy cao Mạch đơn giản
Ổn định trong việc sử dụng lâu dài
c. Cảm biến phát hiện lửa
Cảm biến chuyên dùng để phát hiện lửa, thường dùng trong các hệ thống báo cháy.
Tầm hoạt động trong khoảng 80cm với góc quét 60°. Cảm biến nhận biết được lửa tốt
nhất với bước sóng 760nm - 1100nm. Mạch còn được tích hợp IC LM393 để so sánh
tạo mức tín hiệu và có thể chỉnh được độ nhạy bằng biến trở, có hai ngõ ra tín hiệu là Digital và Analog.
Thông số kỹ thuật:
Nguồn cấp: 3.3V - 5VDC Dòng tiêu thụ: 15mA
Tín hiệu ra: Digital 3.35VDC tùy nguồn cấp hoặc Analog. Khoảng cách : 80 cm Góc quét: 60 độ
Kích thước : 3.2 x 1.4 cm 11 Sơ đồ chân: VCC -> 3.3V~5.3V
GND -> power supply ground
AOUT (AO) -> analog output
DOUT (DO) -> digital output
III. Phân tích yêu cầu
1. Yêu cầu chức năng
Phát hiện nồng độ khí gas trong không khí:
- Hệ thống cần tích hợp cảm biến MQ-2 để đo nồng độ khí gas trong môi trường.
- Khi nồng độ khí gas vượt qua một ngưỡng an toàn (giá trị ngưỡng gas), hệ thống
phải kích hoạt cảnh báo.
Cảnh báo rò rỉ khí gas:
- Hệ thống sẽ kích hoạt còi báo cháy và gửi thông báo đến người dùng khi phát
hiện nồng độ khí vượt quá ngưỡng cho phép.
- Tùy vào thiết kế của hệ thống, có thể có thêm chức năng điều khiển tự động các
thiết bị khác (ví dụ như quạt thông gió, máy bơm, cửa tự động) để giảm thiểu nguy cơ.
Ghi và lưu trữ dữ liệu khí gas:
- Dữ liệu về nồng độ khí gas đo được từ cảm biến sẽ được lưu trữ trên Firebase
Realtime Database theo thời gian thực để người dùng có thể theo dõi và phân tích.
- Hệ thống cần có khả năng đồng bộ hóa dữ liệu khi có sự thay đổi trạng thái (ví
dụ như khi ngưỡng khí gas được cập nhật hoặc khi phát hiện rò rỉ).
Điều khiển từ xa thông qua giao diện người dùng:
- Xây dựng một giao diện web (Frontend sử dụng ReactJS) cho phép người dùng
theo dõi nồng độ khí gas và trạng thái của các thiết bị (quạt, cửa, máy bơm).
- Người dùng có thể thực hiện các thao tác điều khiển từ xa, chẳng hạn như bật/tắt
quạt hoặc đóng/mở cửa thông qua giao diện này.
Tự động cập nhật giá trị ngưỡng khí gas:
- Người dùng có thể thay đổi giá trị ngưỡng khí gas tiêu chuẩn (threshold) thông
qua giao diện web. Giá trị này sẽ được đồng bộ với cơ sở dữ liệu trên Firebase và thiết bị ESP32.
Hỗ trợ chế độ cảnh báo bằng âm thanh:
- Khi phát hiện khí gas vượt ngưỡng, hệ thống cần kích hoạt còi báo để cảnh báo trực
tiếp tại vị trí có rò rỉ. 12
Kiểm soát hệ thống thông qua ESP32:
- ESP32 cần được lập trình để xử lý các tín hiệu từ cảm biến MQ-2 và thực hiện
các hành động cần thiết (bật cảnh báo, ghi dữ liệu lên Firebase, điều khiển các thiết bị liên quan).
2. Yêu cầu phi chức năng
Hiệu suất hệ thống:
- Hệ thống cần phải phản hồi nhanh chóng khi phát hiện khí gas vượt ngưỡng.
Thời gian phản hồi giữa cảm biến và còi báo cháy cần nhỏ hơn 1 giây.
Khả năng mở rộng:
- Hệ thống cần có khả năng mở rộng dễ dàng, cho phép thêm nhiều cảm biến khác
nhau vào hệ thống nếu cần (ví dụ như cảm biến đo nhiệt độ, độ ẩm, phát hiện lửa).
Tính khả dụng:
- Hệ thống phải hoạt động ổn định, đảm bảo liên tục giám sát khí gas trong môi
trường mà không bị gián đoạn.
- Cơ sở dữ liệu Firebase Realtime Database cần đồng bộ hóa dữ liệu một cách
mượt mà giữa thiết bị ESP32 và giao diện người dùng. Bảo mật:
- Dữ liệu đo được từ cảm biến phải được bảo vệ để tránh việc bị truy cập trái phép.
Firebase cần hỗ trợ cơ chế xác thực và cấp quyền truy cập cho người dùng một cách hợp lý.
Khả năng bảo trì:
- Hệ thống cần có thiết kế dễ bảo trì, cho phép nâng cấp phần cứng và phần mềm
mà không ảnh hưởng đến hoạt động của hệ thống hiện tại.
Tính thẩm mỹ và gọn nhẹ:
- Thiết bị cần có kích thước nhỏ gọn, dễ dàng lắp đặt trong không gian gia đình
hoặc tòa nhà mà không làm mất tính thẩm mỹ.
3. Yêu cầu về giao tiếp
Giao tiếp giữa ESP32 và Firebase:
- Thiết bị ESP32 cần sử dụng thư viện Firebase ESP32 Client để kết nối với Firebase thông qua Wi-Fi.
- Dữ liệu cần được gửi và nhận theo thời gian thực, đặc biệt khi có thay đổi về nồng
độ khí gas hoặc trạng thái của các thiết bị.
Giao tiếp giữa người dùng và hệ thống: 13
- Người dùng tương tác với hệ thống qua giao diện web (ReactJS), và giao diện này
phải dễ sử dụng, thân thiện, hiển thị rõ ràng các thông số cần thiết.
- Hệ thống phải đảm bảo phản hồi ngay lập tức khi người dùng thay đổi giá trị
ngưỡng hoặc điều khiển thiết bị từ xa.
4. Yêu cầu về môi trường hoạt động
Điều kiện hoạt động của cảm biến:
- Cảm biến khí gas MQ-2 cần hoạt động ổn định trong các điều kiện môi trường
khắc nghiệt như nhiệt độ cao hoặc độ ẩm lớn.
Khả năng tích hợp với các thiết bị khác:
- Hệ thống cần có khả năng tích hợp với các thiết bị thông minh khác trong nhà
thông minh, như hệ thống quạt thông gió tự động, cửa tự động và các thiết bị bảo vệ khác.
5. Yêu cầu về thử nghiệm
Thử nghiệm phát hiện rò rỉ:
- Hệ thống cần được thử nghiệm kỹ lưỡng để đảm bảo phát hiện chính xác nồng độ
khí gas và kích hoạt cảnh báo kịp thời.
Thử nghiệm hiệu suất:
- Đánh giá hiệu suất của hệ thống trong nhiều môi trường khác nhau, bao gồm cả
môi trường có độ ẩm cao hoặc điều kiện nhiệt độ bất thường.
Thử nghiệm khả năng đồng bộ:
- Đảm bảo dữ liệu được gửi lên Firebase theo thời gian thực mà không xảy ra tình
trạng mất đồng bộ giữa các thiết bị. -
Bảng phân công công việc Họ và tên Mã sinh viên Công việc Phạm Văn Đức B21DCCN255
Lập trình Arduino, kết nối ESP32 với
Firebase, gửi và nhận dữ liệu với Firebase
Realtime Database và viết báo cáo Đoàn Minh Hiển B21DCCN339
Xử lý dữ liệu nhận được từ Firebase, từ phía Client Lương Thái Hà B21DCCN310
Tìm hiểu về lập trình Arduino, các cảm
biến, thiết bị sử dụng, lậ p trình Front-end Đỗ Mạnh Hùng B21DCCN408
Mua thiết bị, lắp đặt các thiết bị, tìm hiểu
về Firebase, viết báo cáo 14
IV. Phân tích thiết kế hệ thống
V. Đánh giá kết quả dự án VI. Kết luận
Tài liệu tham khảo
[1] P. Gokhale, O. Bhat and S. Bhat, "Introduction to IOT," IT Dept., Smt. Kashibai
Navale College of Engineering, Maharashtra, 2018.
[2] "1," 12 November 2023. [Online]. Available: https://comlink.vn/giao-thuc-truyen-
thong-thiet-bi-iot/. [Accessed 2 October 2024].
[3] P. Chougale, V. Yadav and D. A. Gaikwad, "FIREBASE - OVERVIEW AND
USAGE," International Research Journal of Modernization in Engineering
Technology and Science, Kolhapur, 2021.
[4] "1," CÔNG TY TNHH TM VÀ DV ĐIỆN TỬ TƯƠNG LAI VIỆT NAM,
[Online]. Available: https://dientutuonglai.com/so-do-chan-esp32.html. [Accessed 3 October 2024].
[5] "1," [Online]. Available: https://randomnerdtutorials.com/esp32-firebase-realtime-
database/. [Accessed 3 October 2024]. 15