Tải bản đầy đủ (.pdf) (25 trang)

Hệ thống báo cháy ( Đồ án vi điều khiển )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.67 MB, 25 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN
LẬP TRÌNH HỆ THỐNG VÀ VI ĐIỀU KHIỂN
TÊN ĐỀ TÀI
HỆ THỐNG BÁO CHÁY

GIẢNG VIÊN HƯỚNG DẪN: HUỲNH HỮU HƯNG
GIẢNG VIÊN CHẤM:

STT NHÓM: 10

LỚP HỌC

ĐIỂM QUÁ

ĐIỂM BẢO VỆ

HỌ VÀ TÊN SINH VIÊN

PHẦN ĐỒ

TRÌNH

(do GV chấm ghi)

ÁN

(do GVHD ghi)


Trương Cơng Quốc Thịnh

18N11A

Trần Văn Hiền

18N11A

Hồ Văn Hoài

18N10A

Chế Văn Minh Đức

18N10B

ĐÀ NẴNG, 08/2021


TÓM TẮT ĐỒ ÁN
Hiện nay vấn đề cảnh báo cháy ở mỗi hệ thống báo cháy là rất được chú tâm, vậy để
giảm được các rủi ro và thuận tiện nhất cho cơng cuộc chữa cháy và cứu người thì
nhóm tụi em đã thực hiện đồ án hệ thống báo cháy tự động. Hệ thống này sẽ tự động
báo cháy qua loa tích hợp với tính năng nhận diện người trong đám cháy và gửi thông
báo qua ứng dụng android. Vì vậy có những chế độ báo động khác nhau, và có thể
quan sát được đám cháy thơng qua camera trên ứng dụng Android.
Hiện tại, với hệ thống khả thi tối thiểu của mình, đã có thể xác nhận được tình huống
xảy ra cháy , có người bên trong đám cháy với độ chính xác và ổn định tương đối tốt.
Các mơ hình phối hợp với nhau ổn định. Tuy vậy nếu có thời gian và nguồn lực lớn
hơn, nhóm có thể cải thiện lại mơ hình để nó hoạt động tốt và đáng tin cậy hơn.

Những ý tưởng phát triển:
+ Tích hợp báo cả vị trí của người mắc kẹt trong đám cháy
+ Tích hợp hệ thống chống cháy phát nước tự động

2


BẢNG PHÂN CÔNG NHIỆM VỤ

Sinh viên thực hiện

Các nhiệm vụ

Tự đánh giá theo 3
mức

Chế Văn Minh Đức

-Lập trình Raspberry

Đã hồn thành

-Dán nhãn tập dữ liệu
Trần Văn Hiền

-Lập trình phần cứng Arduino

Đã hồn thành

-Dán nhãn tập dữ liệu

Hồ Văn Hồi

-Lập trình ứng dụng Android

Đã hồn thành

-Dán nhãn tập dữ liệu
Trương
Thịnh

Cơng

Quốc -Train mơ hình nhận diện người

Đã hồn thành

-Lập trình Raspberry
-Dán nhãn tập dữ liệu

3


MỤC LỤC

Contents
DANH MỤC HÌNH ẢNH .............................................................................................5
DANH MỤC BẢNG ......................................................................................................6
I. Giới thiệu ......................................................................................................................7
II. Giải pháp .....................................................................................................................7
2.1. Giải pháp về phần cứng và truyền thông .............................................................. 8

2.2 Giải pháp phần mềm ............................................................................................ 13
2.2.1 Mơ hình nhận diện vật thể SSDLite-MobilenetV2 : ........................................13
III. Kết quả .....................................................................................................................19
3.1 Mơ hình nhận diện : ............................................................................................. 19
3.2 Ứng dụng di động : .............................................................................................. 21
3.3 Phần cứng và thử nghiệm toàn hệ thống ............................................................. 22
3.4 Đánh giá :.............................................................................................................23
IV. Kết luận ...................................................................................................................24
V. Danh mục tài liệu tham khảo ....................................................................................25

4


DANH MỤC HÌNH ẢNH
HÌNH 1. Tổng quan chức năng .................................................................................. 7
HÌNH 2. Raspberry Pi Model 3B+ ............................................................................. 8
HÌNH 3. Module Camera Rev 1.3 .............................................................................. 8
HÌNH 4. Arduino UNO R3 ........................................................................................ 9
HÌNH 5. Loa Bluetooth .............................................................................................. 9
HÌNH 6. Cảm biến khói MQ2 .................................................................................... 9
HÌNH 7. Cảm biến nhiệt độ DHT11 .......................................................................... 10
HÌNH 8. Sơ đồ kết nối vi xử lý .................................................................................. 10
HÌNH 9. Cảm biến lửa KY-026 ................................................................................. 11
HÌNH 10. Sơ đồ kết nối của hệ thống ........................................................................ 12
HÌNH 11. Mơ hình Single Shot Detector ................................................................... 13
HÌNH 12. Kiến trúc của mạng SSD ........................................................................... 14
HÌNH 13. Sơ đồ q trình đăng nhập ......................................................................... 16
HÌNH 14. Sơ đồ q trình đăng ký ............................................................................. 17
HÌNH 15. Sơ đồ của q trình tải ảnh lên ứng dụng .................................................. 18
HÌNH 16. Sơ đồ lắng nghe sự kiện và gửi thơng báo ................................................ 19

HÌNH 17. Kích thước tập dữ liệu ............................................................................... 20
HÌNH 18. Kết quả train .............................................................................................. 20
HÌNH 19. Ví dụ kết quả nhận diện ............................................................................. 21
HÌNH 20. Màn hình đăng nhập .................................................................................. 21
HÌNH 21. Màn hình đăng ký ...................................................................................... 21
HÌNH 22. Thơng báo khi có cháy .............................................................................. 22
HÌNH 23. Xem ảnh qua camera ................................................................................. 22
HÌNH 24. Sơ đồ phần cứng của hệ thống................................................................... 22

5


DANH MỤC BẢNG
Bảng 1. Cấu trúc bản ghi Authentication table ............................................................. 14
Bảng 2. Cấu trúc bản ghi Authentication table ............................................................. 15
Bảng 3. Cấu trúc bảng ghi Real-Time Image table .......................................................15
Bảng 4. Cấu trúc bảng ghi Warning table .....................................................................15

6


I. Giới thiệu
Hệ thống báo cháy là thành phần không thể thiếu trong hệ thống phòng cháy chữa
cháy hiện nay. Có nhiều hệ thống báo cháy được thực hiện cho mỗi loại cơng trình
khác nhau: hệ thống báo cháy địa chỉ, hệ thống báo cháy không dây… Nhưng các hệ
thống này vẫn chỉ báo cháy thông thường, chưa thể phát hiện được có người bị nạn
trong các đám cháy hay khơng hoặc chỉ có thể xem xét trực tiếp thơng qua camera
dưới sự giám sát của nhân viên làm tốn nguồn tài nguyên nhân lực.
Từ đó, nhóm chúng em phát triển ra hệ thống báo cháy tích hợp thêm nhận diện con
người. Trường hợp nếu có người trong đám cháy thì ưu tiên việc cứu người trước.

Truong trường hợp ngược lại thì có thể điều động ít nhân lực phụ trách tìm cứu người
đi đáng kể mà chỉ tập trung vào chữa cháy để giảm thiểu thiệt hại về vật chất.

II. Giải pháp
Hệ thống sẽ phát hiện ra hoả hoạn , sau đó sẽ nhận diện xem có người cịn mắc
kẹt trong đám cháy không đồng thời gửi thông báo và ảnh đến cơ sở dữ liệu Firebase
và từ Firebase có thể nhận thơng báo và xem ảnh trên ứng dụng android. Nếu không
nhận diện ra người, hệ thống sẽ phát tín hiệu X để mọi người tập trung chữa cháy. Nếu
nhận diện có người trong khu vực hoả hoạn, hệ thống sẽ phát tín hiệu Y để mọi người
ưu tiên tìm kiếm cứu người trước.(Tín hiệu X và Y được phổ biến trước cho mọi
người để phân biệt).

HÌNH 1. Tổng quan chức năng
7


2.1. Giải pháp về phần cứng và truyền thông
a. Linh kiện sử dụng
- Raspberry pi model 3B+:
CPU quad-core A53 (ARMv8) 64-bit, RAM 1GB. Kết nối Gigabit.
Ethernet, Wi-Fi. Bộ nhớ Micro-SD. 40-pin GPIO header. Camera SerialInterface (CSI). Kích thước 82mm x 56mm x 19.5mm, 50g.

HÌNH 2. Raspberry Pi Model 3B+
- Module Camera Rev 1.3 5MP
Camera được kết nối với Raspberry Pi thơng qua 1 socket nhỏ ở mặt
phía trên của bo mạch. Kết nối này giao tiếp thông qua CSI interface, được thiết
kế dành riêng cho việc truyền tải dữ liệu giữa Camera và Raspberry Pi. Bus CSI
này có thể truyền dẫn dữ liệu ở tốc độ cực cao, và chỉ mang theo dữ liệu điểm
ảnh. Máy ảnh được kết nối với bộ xử lý BCM2835 trên Pi thông qua bus CSI.
Bus CSI sẽ được kết nối tới Pi Camera qua cáp FFC (Flexible Flat Cable).


HÌNH 3. Module Camera Rev 1.3

8


- Arduino UNO R3:

HÌNH 4. Arduino UNO R3
Vi điều khiển Atmega328P, điện áp hoạt động 5V.
Digital I/O pin: 14 (trong đó 6 pin có khả năng băm xung).
PWM Digital I/O Pins: 6; Analog Input Pins: 6
Kích thước 68.6mm x 53.4 mm, trọng lượng 25g.
- Loa Bluetooth LG Xboom: công suất 30W

HÌNH 5. Loa Bluetooth
- Cảm biến khói MQ2:

HÌNH 6. Cảm biến khói MQ2

9


MQ2 là cảm biến khí gas, nó được cấu tạo từ chất bán dẫn SnO2. Chất
này có độ nhạy cảm thấp với khơng khí sạch, nhưng khi mơi trường có chất
gây cháy thì độ dẫn của nó ngay lập tức thay đổi. Nhờ đặc điểm đó, người ta
thêm vào mạch đơn giản để biến đổi từ độ nhạy này sang điện áp. Giá trị
điện áp đầu ra càng tăng khi nồng độ khí gây cháy xung quang MQ2 càng
cao.


Arduino

MQ2

A0

Aout

VCC

5V

GND

GND

- Cảm biến nhiệt độ DHT11:

HÌNH 7. Cảm biến nhiệt độ DHT11

HÌNH 8. Sơ đồ kết nối vi xử lý

10


➢ Nguyên lý hoạt động: để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý
thực hiện 2 bước:
+ Gửi tín hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại
+ Khi đã giao tiếp được với DHT11, cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt
độ đo được.

Arduino

DHT11

5V

VCC

GND

GND

D4

DATA

- Cảm biến lửa
Mô đun cảm biến lửa sẽ dùng 1 led thu tín hiệu hồng ngoại để bắt tín
hiệu hồng ngoại mà ngọn lửa phát ra ( ngọn lửa thường ở dải 760- 1100 nm)

HÌNH 9. Cảm biến lửa KY-026

Arduino

Cảm biến lửa

5V

VCC


GND

GND

D (hoặc A)

OUT

Khi phát hiện ngọn lửa, thì chân OUT sẽ đẩy điện thế lên cao và ngược lại.

11


b. Sơ đồ kết nối của hệ thống :

HÌNH 10. Sơ đồ kết nối của hệ thống

Mơ tả mơ hình :
- Các đường nét liền là kết nối có dây, nét đứt là kết nối không dây thông qua
bluetooth và internet.
- Ba cảm biến đo các thông số môi trường xung quanh gửi về arduino. Nếu vượt qua 1
ngưỡng nhất định , arduino sẽ xác định là đang có cháy và gửi tín hiệu sang raspberry
pi.
- Raspberry pi nhận được tín hiệu có cháy từ arduino, thơng qua video realtime nhận
được từ pi camera, raspberry pi sẽ nhận diện xem có người ở trong khu vực xảy ra hoả
hoạn khơng, sau đó phát tín hiệu tương ứng thơng qua loa bluetooth.
- Đồng thời có thể gửi hình ảnh từ pi camera lên trên firebasae storage, thơng qua app,
chúng ta có thể xem được hình ảnh và nhận thơng báo khi có cháy.

12



2.2 Giải pháp phần mềm
2.2.1 Mơ hình nhận diện vật thể SSDLite-MobilenetV2 :
a.SSDLite-Mobilenet-v2-quantized-coco model :
Vì điều kiện thời gian, vật chất của nhóm ít ỏi, khơng thể tiến hành thu thập dữ liệu
lớn để thực hiện train lại từ đầu vì mơ hình này thường có rất nhiều lớp, phải được
train trên tập dữ liệu lớn và thường sẽ tốn rất nhiều thời gian. Do đó nhóm tiến hành kỹ
thuật transfer learning[1] cho bài tốn này trên mơ hình pre-trained SSDLite-Mobilenetv2-quantized-coco[2] được cung cấp bởi Tensorflow. Mơ hình huấn luyện sẵn (pretrained) này là một mơ hình mạnh và phù hợp cho bài tốn u cầu 1 mơ hình nhanh,
chính xác, có thể nhận diện real-time . TensorFlow Lite[3] là giải pháp gọn nhẹ của
TensorFlow, giúp các nhà phát triển chạy mơ hình của họ trên các thiết bị di động,
nhúng và IoT.
b. SSD model
SSD : Single Shot Detector[4] cùng với YOLO là những kiến trúc có tốc độ xử lý
nhanh mà vẫn đảm bảo về độ chính xác nhờ những thay đổi trong kiến trúc mạng
nhằm gói gọn quá trình phát hiện và phân loại vật thể trong 1 lần và cắt bớt được các
xử lý khơng cần thiết.

HÌNH 11. Mơ hình Single Shot Detector

13


HÌNH 12. Kiến trúc của mạng SSD
2.2.2 Firebase[5]
- Authentication table (bảng xác thực người dùng): lưu trữ các tài khoản
có quyền đăng nhập vào ứng dụng trên điện thoại và lưu trữ ID tương ứng cho
mỗi tài khoản để tiện cho việc tham chiếu và tra cứu các thông tin.

Tên trường


Ý nghĩa

Kiểu dữ liệu

Khóa

Username

Tên tài khoản đăng nhập

String

Khóa chính

Password

User UID

Mật khẩu cùa tài khoản
tương ứng
ID tương ứng của tài
khoản

String

String

Bảng 1. Cấu trúc bản ghi Authentication table
- Level Management table (bảng phân quyền đăng nhập): lưu trữ thông

tin về quyền truy cập của mỗi người dùng.

Tên trường
User UID
isHost

Ý nghĩa
ID tương ứng của tài
khoản người dùng
Lưu trữ quyền đăng nhập

Kiểu dữ liệu

Khóa

String

Khóa chính

Boolean

14


có phải chủ nhà hay
khơng

Bảng 2. Cấu trúc bản ghi Authentication table
- Real-Time Image table: lưu trữ hình ảnh của camera tại thời gian thực đã được xử lý
nhận dạng và đẩy lên từ sever.

Tên trường

Ý nghĩa

Kiểu dữ liệu

Khóa

Name

Tên của ảnh được upload

String

Khóa chính

Kích thước ảnh với đơn vị

Size

KB

Double

Type

Định dạng file ảnh

String


Last modified

Lần cật nhập gần nhất

Datetime

Bảng 3. Cấu trúc bảng ghi Real-Time Image table
- Warning table (bảng cảnh báo): lưu dữ liệu liệu rằng có cháy hay
khơng được đẩy lên từ sever, đẩy lên file text có nội dung là yes (có cháy) hoặc
no (khơng có cháy).
Tên trường

Ý nghĩa

Kiểu dữ liệu

Khóa

Name

Tên file text được upload

String

Khóa chính

Bảng 4. Cấu trúc bảng ghi Warning table
2.2.3. Ứng dụng di động
- Ứng dụng di động này được xây dựng trên nền tảng Android, sử dụng bộ
công cụ android SDK. Ứng dụng này hướng đến 2 loại người dung là người chủ

sở hữu camera và cơ quan chữa cháy. Ứng dụng sẽ có các chức năng chính sau:
a. Đăng nhập:
Khi bật ứng dụng lần đầu tiên, người dùng sẽ được yêu cầu đăng nhập.
Thông tin đăng nhập của người dùng sẽ được cung cấp bởi người chủ camera
gồm email và mật khẩu. Thông tin đăng nhập này sẽ được lưu lại để không cần
đăng nhập vào các lần mở ứng dụng sau này.
Sơ đồ thể hiện quá trình đăng nhập:
15


HÌNH 13. Sơ đồ q trình đăng nhập
b. Tạo tài khoản mới:
Chức năng này dành riêng cho những người dùng đăng nhập với tài
khoản có quyền là Admin, nếu người sử dụng khơng phải là admin thì liên hệ
admin để được cấp tài khoản. Tài khoản được tạo bới admin gồm các thông tin
sau: gmail đăng nhập, mật khẩu và quyền đăng nhập với trường isHost(true=
quyền admin, false= không phải admin).
Những thông tin trên được gửi lên Firebase nếu hợp lệ thì Firebase sẽ tự
động tạo ID cho tài khoản để cung cấp cho người dùng với mục đích xác thực
lúc đăng nhập và các thông tin này được lưu vào Firebase Authentication table
và Firestore Database.

16


Sơ đồ thể hiện quá trình tạo tài khoản và lưu dữ liệu được thể hiện như sau:

HÌNH 14. Sơ đồ quá trình đăng ký
c. Xem danh sách ảnh từ Camera thời gian thực: có 2 chế độ xem
- Chế độ quyền Admin: với chế độ này thì ứng dụng sẽ được tự động tải

ảnh lên cho người dùng xem dưới dạng 1 danh sách ảnh và các ảnh này được tự
động load lại 3 giây 1 lần trong suốt quá trình xem ứng dụng.
- Chế độ quyền User: với chế độ này thì ứng dụng sẽ được tự động tải
ảnh lên cho người dùng xem khi và chỉ khi có thơng báo cháy từ Server, và khi
Server dừng báo thì ứng dụng sẽ dừng tải ảnh.
Sơ đồ thể hiện quá trình tải ảnh lên ứng dụng :
Quá trình xét điều kiện “Có báo cháy từ Server khơng?” được giới thiệu
trong phần kế tiếp.

17


HÌNH 15. Sơ đồ q trình tải ảnh lên ứng dụng
d. Lắng nghe sự kiện và gửi thông báo tới người dùng:
- Chức năng này được tích hợp trong ứng dụng được chạy ngầm trên ứng dụng
điện thoại của người dùng và được khởi động khi lần đầu tiên đăng nhập ứng dụng.
- Nguyên lý hoạt động của chức năng này là lắng nghe sự kiện từ Firebase
Storage mỗi 3 giây đọc file text “Warning.txt” trong Warning table. File text được tải
lên có nội dụng là “Yes” hoặc “No” và ứng dụng lắng nghe sự kiện sẽ tự động tải
thông báo lên cho người dùng, thông báo sự kiện “ Có cháy” hoặc “Khơng có cháy”
tới q trình tải ảnh lên ứng dụng.
Sơ đồ thể hiện quá trình:

18


HÌNH 16. Sơ đồ lắng nghe sự kiện và gửi thơng báo

III. Kết quả
3.1 Mơ hình nhận diện :

a. Dữ liệu sử dụng để train nhận diện con người:
- Sử dụng dữ liệu ảnh từ Open Image Dataset[6] và từ máy ảnh điện thoại. Xố các
ảnh khơng phải người như búp bê, tượng,.. Sử dụng phần mềm LabelImage để dán
nhãn.
- Tập dữ liệu gồm khoảng 500 ảnh, kích thước từ 11KB đến 290KB, có độ phân
giải tối đa là 640x480. Mỗi hình có thể có nhiều nhãn là person. Tập dữ liệu sẽ được
chia theo tỷ lệ kích thước tập huấn luyện : kích thước tập kiểm thử là 8:2.

19


HÌNH 17. Kích thước tập dữ liệu
b.Kết quả train

HÌNH 18. Kết quả train

20


c. Kết quả nhận diện

HÌNH 19. Ví dụ kết quả nhận diện

3.2 Ứng dụng di động :

HÌNH 20. Màn hình đăng nhập.

HÌNH 21. Màn hình đăng ký

21



HÌNH 22. Thơng báo khi có cháy.

HÌNH 23. Xem ảnh từ camera

3.3 Phần cứng và thử nghiệm tồn hệ thống

HÌNH 23. Sơ đồ phần cứng của hệ thống

22


- Thử nghiệm hệ thống thực tế cho kết quả khá tốt. Khả năng phát hiện cháy nhanh ở
khoảng cách gần. Ở khoảng cách xa hơn chỉ có thể phát hiện được ngọn lửa lớn, chưa
thể phát hiện được ngọn lửa nhỏ. Mặc dù FPS khi nhận diện không cao nhưng cho kết
quả nhận diện khá chính xác.
3.4 Đánh giá :
a.Ưu điểm:
- Các phần của hệ thống kết nối, giao tiếp với nhau ổn định.
- Thực hiện đầy đủ các chức năng đề ra.
- Khả năng mở rộng tốt.
b.Nhược điểm:
- Không phát hiện được nguồn lửa nhỏ ở xa.
- Tốc độ xử lý khung hình khơng cao (1 FPS).
- Mơ hình nhận diện người chưa được tối ưu, chưa nhận diện được người khi nằm và
trong điều kiện thiếu sáng.

23



IV. Kết luận
1. Học được:
- Nhóm đã hồn thành tương đối các yêu cầu ban đầu.
- Tăng khả năng làm việc nhóm.
- Học được lập trình Vi điều khiển , huấn luyện mơ hình học máy.
- Học được lập trình Android, vận hành giao tiếp giữa Android và cơ sở dữ liệu
Firebase.
- Chuyên nghiệp hơn trong tư duy, xây dựng định hướng công việc.
2. Tồn tại:
- Vẫn chưa bám sát được Work-Flow ban đầu đề ra.
- Cần cải thiện và thiết kế lại để mượt mà, bắt mắt hơn.
3. Hướng phát triển:
- Tăng độ hoàn thiện ứng dụng Android
- Hoàn thiện mơ hình nhận diện như nhận diện người khi nằm và trong điều kiện thiếu
sáng.
- Thêm các tính năng như kích hoạt hệ thống chữa cháy( nước).
- Cải thiện về khả năng phát hiện có lửa.

24


V. Danh mục tài liệu tham khảo
[1]Transfer Learning
/>[2] SSD_mobilenet_v2_quantized_coco from TensorFlow 1 detection model zoo:
/>_detection_zoo.md
[3] Tensorflow Lite
/>[4] SSD model trong object detection
/>[5]Firebase
/>[6] Open image dataset v6 - category : person

/>=detection&c=%2Fm%2F01g317
[7]Source code App android
/>
25


×