LỜI NÓI ĐẦU Ngày nay, khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến vào đời sống, từ những ứng dụng đơn giản như điề
Trang 1KHOA ĐIỆN-ĐIỆN TỬ
-
ĐỒ ÁN MÔN HỌC 1
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG
THIẾT KẾ VÀ THI CÔNG MẠCH CẢNH
BÁO RÒ RỈ KHÍ GAS
GVHD : TH.S NGUYỄN THANH BÌNH SVTH : NGUYỄN VĂN THẮNG
MSSV : 20161372
Tp HCM, tháng 6/2023
Trang 2Độc lập – Tự do – Hạnh phúc
***
TP Thủ Đức, ngày… tháng… năm 2023
NHIỆM VỤ ĐỒ ÁN MÔN HỌC 1
Họ và tên sinh viên: Nguyễn Văn Thắng MSSV: 20161379
Ngành: Công nghệ kỹ thuật điện tử – viễn thông Lớp: 20161DTCN2
Giảng viên hướng dẫn: Th.S Nguyễn Thanh Bình
Ngày nhận đề tài: …/…/2023 Ngày nộp đề tài: …/…/2023
1.Tên đề tài: THIẾT KẾ VÀ THI CÔNG MẠCH CẢNH BÁO VÀ RÒ RỈ KHÍ GAS
2.Các số liệu, tài liệu ban đầu:
- Vi điều khiển: ESP8266-DEVKITC-32U
- Các loại module: MQ2, DHT11
- Thiết bị: Quạt, Đèn 12V - DC
- Nguồn: Adapter 12V – 1A, ổn áp IC 7805
3.Sản phẩm:
- Thiết bị có chức năng đo khí gas, nhiệt độ - độ ẩm, cảnh báo
- Quyển báo cáo đề tài
TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN
Trang 3Độc lập – Tự do – Hạnh phúc
***
TP Thủ Đức, ngày… tháng… năm 2023
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Nguyễn Văn Thắng MSSV: 20161379
Ngành: Công nghệ kỹ thuật điện tử – viễn thông
Tên đề tài: THIẾT KẾ VÀ THI CÔNG MẠCH CẢNH BÁO VÀ RÒ RỈ KHÍ GAS
Họ và tên Giảng viên hướng dẫn:………
NHẬN XÉT
1.Về nội dung đề tài & khối lượng thực hiện
………
……… …… 2.Ưu điểm
………
……… …… 3.Khuyết điểm
………
……… …….4.Đề nghị cho bảo vệ hay không?
………
……… …… 5.Đánh giá loại:
………
……… …… 6.Điểm……….(Bằng chữ……….)
GIẢNG VIÊN HƯỚNG DẪN
Trang 4Xin chân thành cảm ơn!
Nhóm thực hiện đề tài
Nguyễn Văn Thắng
Trang 5Nhóm thực hiện đồ án môn học 1 cam đoan đề tài dựa vào một số tài liệu trước đó và không sao chép nội dung, kết quả của các đồ án khác Các nội dung tham khảo đã được trích dẫn đầy đủ
Trang 6LỜI NÓI ĐẦU
Ngày nay, khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng dụng cho các hệ thống nhúng ngày càng trở nên phổ biến vào đời sống, từ những ứng dụng đơn giản như điều khiển LED, bật tắt thiết bị điện tử… đến những ứng dụng cho xã hội như điều khiển đèn giao thông, hệ thống thang máy, cửa tự động,… cho đến những ứng dụng lớn như robot, phi thuyền không người lái, kiểm soát nhà máy hạt nhân,… Các hệ thống
tự động trước đây sử dụng nhiều công nghệ khác nhau như các hệ thống tự động hoạt động bằng nguyên lý khí nén, thủy lực, relay cơ điện, mạch điện tử số, các thiết bị máy móc tự động thấp so với các hệ thống tự động hiện đại được xây dựng trên nền tảng của các hệ thống nhúng
So với nhứng kiến thức đã học và tìm hiểu từ trường học và khoa học công nghệ đời sống hiện đại, nhóm cũng muốn góp thêm phần phát triển cho xã hội bằng cách học hỏi
và đưa ra những sản phẩm có ích cho cuộc sống Nhóm xin giới thiệu sản phẩm mang tên
“THIẾT KẾ VÀ THI CÔNG MẠCH CẢNH BÁO VÀ RÒ RỈ KHÍ GAS”
Với ý tưởng trên nhóm mong muốn góp phần bảo vệ cho những gia đình, tập thể hay công ty có sử dụng khí gas được an toàn hơn Thiết bị phát hiện rò rỉ khí gas sẽ cảnh báo cho chúng ta biết được có khí gas rò rỉ ra khỏi bình chứa hoặc ống dẫn để tránh xảy ra những sự cố không đáng có
Trang 7MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU 1
1.1 LÝ DO CHỌN ĐỀ TÀI 1
1.2 MỤC TIÊU CỦA ĐỀ TÀI 1
1.3 GIỚI HẠN CỦA ĐỀ TÀI 2
1.4 PHƯƠNG PHÁP NGHIÊN CỨU 3
1.5 ĐỐI TƯỢNG PHẠM VI NGHIÊN CỨU 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 GIỚI THIỆU VỀ HỆ THỐNG IOT 4
2.1.1 Giới thiệu 4
2.1.2 Cấu trúc của hệ thống IoT 4
2.1.3 Ưu điểm và nhược điểm 5
2.2 TỔNG QUAN VỀ PHẦN MỀM LẬP TRÌNH ANDROID STUDIO 6
2.2.1 Khái niệm về hệ điều hành Android 6
2.2.2 Giới thiệu về phần mềm lập trình Android Studio 6
2.2.3 Ưu điểm và nhược điểm 10
2.3 TỔNG QUAN VỀ PHẦN MỀM LẬP TRÌNH CHO VI ĐIỀU KHIỂN 10
2.3.1 Giới thiệu về Arduino IDE 10
2.3.2 Các thao tác trên phần mềm 11
2.4 TỔNG QUAN VỀ FIREBASE 11
2.4.1 Giới thiệu 11
2.4.2 Cách thức hoạt động của Realtime Database 11
2.4.3 Ưu điểm và nhược điểm 12
CHƯƠNG 3 TÍNH TOÁN THIẾT KẾ SƠ ĐỒ KHỐI 13
3.1 THIẾT KẾ SƠ ĐỒ KHỐI 13
3.2 TÍNH TOÁN VÀ THIẾT KẾ 14
3.2.1 Khối xử lý trung tâm 14
3.2.2 Khối ngoại vi 18
Trang 83.2.3 Khối cảnh báo 21
3.2.4 Khối xử lý và chấp hành 25
3.2.5 Khối giao diện tương tác 28
3.2.6 Khối nguồn 28
3.3 SƠ ĐỒ NGUYÊN LÝ HỆ THỐNG 31
CHƯƠNG 4 THI CÔNG HỆ THỐNG 32
4.1 Thi công board mạch 32
4.2 Lắp ráp và kiểm tra 33
CHƯƠNG 5 LẬP TRÌNH HỆ THỐNG 35
5.1 Lưu đồ giải thuật của phần cứng 35
5.2 Lưu đồ giải thuật của app android 38
CHƯƠNG 6 KẾT QUẢ THỰC HIỆN 40
6.1 KẾT QUẢ ĐẠT ĐƯỢC 40
6.1.1 Đóng gói hệ thống 40
6.1.2 Kết quả phần mềm 41
6.2 THAO TÁC TRÊN PHẦN MỀM 42
6.3 NHẬN XÉT – GIẢI PHÁP KHẮC PHỤC 43
6.3.1 Nhận xét 43
6.3.2 Giải pháp khắc phục 45
CHƯƠNG 7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46
7.1 KẾT LUẬN 46
7.2 HƯỚNG PHÁT TRIỂN 46
Trang 9DANH MỤC HÌNH
Hình 2-1 Cấu trúc hệ thống IoT 4
Hình 2-2 Logo hệ điều hành android 6
Hình 2-3 App mobile 6
Hình 2-4 Giao diện tạo 1 activity mới 8
Hình 2-5 Giao diện cấu hình cho project 8
Hình 2-6 Giao diện của ứg dụng khi thiết kế 9
Hình 2-7 Giao diện lập trình Java 9
Hình 3-1 Sơ đồ khối của hệ thống 13
Hình 3-2 ESP8266 NodeMCU 16
Hình 3-3 Sơ đồ nguyên lý khối xử lý trung tâm 17
Hình 3-4 Sơ đồ kết nối của esp với khối cảm biến 21
Hình 3-5 Sơ đồ kết nối giữa esp với khối cảnh báo 24
Hình 3-6 Sơ đồ kết nối esp với khối xử lý và chấp hành 28
Hình 3-7Sơ đồ khối toàn hệ thống 31
Hình 4-1Board mạch hoàn thiện 32
Hình 4-2 Hình 3d mạch hoàn thiện 33
Hình 4-3 Board sau khi hàn và kết nối linh kiện 34
Hình 4-4 Board mạch khi hết nối với các linh kiện của mô hình 34
Hình 5-1 Lưu đồ chương trình chính 35
Hình 5-2 Lưu đồ chương trình đọc khí gas 36
Hình 5-3 Lưu đồ chương trình android 38
Hình 6-1 Mô hình hệ thống 40
Hình 6-2 Giao diện app cài đặt 41
Hình 6-3 Giao diện app hiện thị 41
Hình 6-4 Thao tác trên app 42
Trang 10DANH MỤC BẢNG
BẢNG 2-1 Thao tác trên arduino IDE 11
BẢNG 3-1 Số lượng chân linh kiện 15
BẢNG 3-2 Thông số kĩ thuật espe8266 NodeMCU 17
BẢNG 3-3 Thông số kĩ thuật của MQ2 19
BẢNG 3-4 Kết nối chân của ESP với cảm biến MQ2 19
BẢNG 3-5 Thông số kĩ thuật cảm biến DHT11 20
BẢNG 3-6 Kết nối chân của ESP với cảm biến DHT11 20
BẢNG 3-7 Thông số kĩ thuật led 22
BẢNG 3-8 Thông số kĩ thuật còi 22
BẢNG 3-9 Thông số kĩ thuật C1815 23
BẢNG 3-10 Kết nối chân của ESP với khối cảnh báo 23
BẢNG 3-11 Thông số kĩ thuật của quạt 12V 26
BẢNG 3-12 Thông số kĩ thuật đèn 12V 26
BẢNG 3-13 Thông số kĩ thuật PC817 27
BẢNG 3-14 Sơ đồ nối giữa esp và khối xử lý và chấp hành 27
BẢNG 3-15 Thông số điện áp và dòng tiêu thụ 29
BẢNG 3-16 Thông số kĩ thuật adapter 30
BẢNG 3-17 Thông số kĩ thuật IC7805 30
Trang 11CHƯƠNG 1 GIỚI THIỆU
1.1 LÝ DO CHỌN ĐỀ TÀI
Việc thiết kế và thi công hệ thống cảnh báo khí gas là một chủ đề rất quan trọng trong lĩnh vực an ninh và an toàn, đặc biệt trong các nhà máy, xí nghiệp, khu công nghiệp và các khu dân cư có nguy cơ cháy nổ cao
Việc lựa chọn đề tài này đáp ứng nhu cầu ngày càng cao của các công ty và tổ chức trong việc nâng cao mức độ an toàn và giảm thiểu rủi ro trong quá trình sản xuất và sử dụng khí gas Hệ thống cảnh báo khí gas sẽ giúp phát hiện kịp thời sự xuất hiện của khí gas trong không khí và cảnh báo cho người dùng, giúp họ có thể thực hiện các biện pháp phòng cháy, nổ để đảm bảo an toàn cho bản thân và xung quanh
Việc áp dụng công nghệ IoT vào hệ thống cảnh báo khí gas sẽ giúp cho việc giám sát và quản lý trở nên dễ dàng hơn thông qua các thiết bị di động hoặc máy tính Hơn nữa, hệ thống này có thể tích hợp với các hệ thống khác như hệ thống báo động cháy nổ để tăng cường tính toàn vẹn và hiệu quả cho hệ thống bảo vệ tổng thể của tòa nhà hoặc xưởng sản xuất
Do đó, việc chọn đề tài "thiết kế và thi công hệ thống cảnh báo khí gas" là rất cần thiết và hữu ích để nâng cao mức độ an toàn cho các nhà máy, xí nghiệp, khu công nghiệp và các khu dân cư
1.2 MỤC TIÊU CỦA ĐỀ TÀI
Nhóm thực hiện đề tài xây dựng một mô hình mạch in đáp ứng yêu cầu giám sát khí gas, sử dụng cảm biến khí gas và cảm biến nhiệt độ độ ẩm DHT11 Mô hình sẽ được tối ưu hóa để đảm bảo tính chính xác và độ tin cậy trong việc phát hiện khí gas độc hại
• Xử lý dữ liệu và cảnh báo: Hệ thống sẽ được lập trình để xử lý dữ liệu từ cảm biến khí gas Nếu giá trị gas vượt ngưỡng an toàn, hệ thống sẽ kích hoạt quạt để loại bỏ khí gas độc và đồng thời gửi thông báo cảnh báo cho người dùng thông qua ứng dụng Android
Trang 12• Kết nối và cập nhật dữ liệu: Sử dụng vi điều khiển ESP8266 để kết nối hệ thống với ứng dụng Android thông qua mạng Internet Điều này cho phép người dùng theo dõi
dữ liệu cảm biến và điều khiển quạt từ xa thông qua ứng dụng trên điện thoại di động
• Tăng cường tính an toàn và tiện ích: Mục tiêu của nhóm là cung cấp một giải pháp
an toàn và tiện ích cho việc giám sát khí gas độc hại Bằng cách sử dụng ứng dụng Android, người dùng có thể nhận được thông báo cảnh báo ngay khi có sự vượt ngưỡng gas và có thể điều khiển quạt để xử lý tình huống nguy hiểm
• Đơn giản hóa quá trình giám sát: Nhằm đơn giản hóa quá trình giám sát khí gas bằng cách cung cấp một giao diện trực quan và dễ sử dụng Người dùng có thể dễ dàng xem thông tin cảm biến, nhận cảnh báo và điều khiển từ xa chỉ thông qua ứng dụng Android
Tổng thể, mục tiêu đề tài của chúng tôi là cung cấp một giải pháp tích hợp phần cứng và phần mềm để giám sát và xử lý khí gas độc hại một cách hiệu quả, đồng thời tăng cường tính an toàn và tiện ích cho người dùng
1.3 GIỚI HẠN CỦA ĐỀ TÀI
Giới hạn phần cứng: Đề tài tập trung vào mô hình mạch in sử dụng cảm biến khí gas và cảm biến nhiệt độ độ ẩm DHT11 Tôi sẽ không đi sâu vào các loại cảm biến khí gas cụ thể khác hoặc mở rộng mạch in cho các ứng dụng phức tạp hơn
Giới hạn phần mềm: Nhóm thực hiện đề tài tập trung vào việc phát triển ứng dụng Android
để cập nhật dữ liệu từ vi điều khiển ESP8266 và cung cấp giao diện người dùng trực quan Tuy nhiên, nhóm không mở rộng nền tảng phần mềm cho các tính năng phức tạp khác ngoài việc hiển thị dữ liệu cảm biến và điều khiển quạt
Giới hạn chức năng: Hệ thống được thiết kế để giám sát và xử lý khí gas độc hại thông qua cảm biến khí gas và cảm biến nhiệt độ độ ẩm Nhóm tập trung vào việc bật quạt để loại bỏ khí gas khi giá trị vượt ngưỡng Tuy nhiên, không có các chức năng phức tạp khác như phân loại khí gas hoặc kích hoạt các biện pháp khác để xử lý tình huống nguy hiểm
Trang 13Giới hạn thời gian: Đề tài được thực hiện trong một khung thời gian nhất định Do đó, các yếu tố phần cứng và phần mềm được phát triển chỉ tập trung vào việc đáp ứng mục tiêu cơ bản và hoạt động đáng tin cậy trong phạm vi đề tài đã đặt ra
Giới hạn về quy mô: Đề tài tập trung vào áp dụng hệ thống giám sát khí gas trong một phạm
vi cụ thể, chẳng hạn như một phòng hoặc một khu vực nhỏ Nhóm không mở rộng đến quy
mô lớn hơn như một tòa nhà hoặc hệ thống giám sát toàn bộ ngôi nhà
Tóm lại, giới hạn đề tài của chúng tôi tập trung vào việc phát triển một hệ thống giám sát
và xử lý khí gas đơn giản và hiệu quả sử dụng mô hình mạch in và ứng dụng Android, với những giới hạn về phần cứng, phần mềm, chức năng, thời gian và quy mô đã nêu trên
1.4 PHƯƠNG PHÁP NGHIÊN CỨU
• Phân tích nghiên cứu các phương pháp về mô hình mạch in đọc cảm biến
• Phân tích các đề tài đi trước tìm hiểu những điểm nổi bật và hình thành ý tưởng nâng cấp các tính năng khác
Tìm hiều về cơ sở dữ liệu, cách thức hoạt động, phân tích và chọn ra phương thức phù hợp
1.5 ĐỐI TƯỢNG PHẠM VI NGHIÊN CỨU
-Đối tượng nghiên cứu:
• Nghiên cứu nguyên lý hoạt động của phần cứng ESP8266-DEVKITC-32U, module cảm biến MQ2, DHT11, LCD,…
• Nghiên cứu và tìm hiểu về cách lập trình ứng dụng điện thoại cũng như các ngôn ngữ lập trình liên quan
• Nghiên cứu các giao thức giao tiếp giữa các module với nhau
- Phạm vi:
• Nghiên cứu dựa trên các mô hình đã có sẵn, tích hợp và ứng dụng những tính năng mới cho đề tài
Trang 14CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU VỀ HỆ THỐNG IOT
2.1.1 Giới thiệu
IoT được viết tắt từ Internet of things được gọi là Internet kết nối vạn vật hiện nay đang là một xu hướng được mọi người quan tâm bởi tính ứng dụng đa dạng đã và đang tạo những bước tiến đột phá trong cách mạng khoa học kỹ thuật Tuy nhiên khái niệm IoT thực chất đã được biết đến từ nhiều thập kỷ nhưng phải đến năm 1999 mới bắt đầu thực
sự bùng nổ trong công nghiệp hóa tạo điều kiện thuận lợi giúp IoT liên tục phát triển cho đến hiện nay
Hệ thống IoT là một hệ thống kết nối liên mạng với sự kết hợp của nhiều thành phần có các chuẩn giao tiếp không dây như Wifi, Lora, Zigbee, Bluetooth, Trong đó các thiết bị sẽ được tích hợp các bộ phận điện tử, phần mềm cũng như các loại thiết bị cảm biến giúp chúng ta có thể vừa thu thập dữ liệu vừa có thể kết nối với mạng máy tính để thực hiện việc truyền và chia sẻ dữ liệu
2.1.2 Cấu trúc của hệ thống IoT
Cấu trúc của hệ thống IoT gồm 4 phần chính: Thiết bị (Things), trạm kết nối
(Gateways), hạ tầng mạng (Network and Cloud), dịch vụ (Services)
Hình 2-1 Cấu trúc hệ thống IoT
Trang 15• Thiết bị: Hiện nay trên thị trường các thiết bị công nghệ thông minh được sử dụng
rất rộng rãi điển hình như các thiết bị điều khiển, cảm biến, đồng hồ và điện thoại thông minh với đặc điểm chung là đều được kết nối thông qua Internet Đối với các thiết bị thông minh đã được tích hợp sẵn cơ sở hạ tầng sẽ được sàng lọc kết nối và quản lý dữ liệu một cách cục bộ Đối với các thiết bị chưa được tích hợp thông minh có thể kết nối được thông qua các trạm kết nối
• Trạm kết nối: Các trạm kết nối ở đây đóng vai trò trung gian cho việc kết nối các
vật dụng với điện toán đám mây một cách bảo mật và dễ dàng hơn trong việc quản
lý
• Hạ tầng mạng và điện toán đám mây: Cơ sở hạ tầng mạng bao gồm các thiết bị
tổng hợp, trạm kết nối và các thiết bị định tuyến,… để có thể kiểm soát được lưu lượng dữ liệu lưu thông bên cạnh đó cũng được kết nối với mạng lưới viễn thông triển khai bởi các nhà cung cấp Điện toán đám mây sẽ bao gồm hệ thống các máy chủ, hệ thống mạng, lưu trữ ảo sẽ được kết nối
• Dịch vụ: Giúp đưa ra những sản phẩm công nghệ IoT ra thị trường và tận dụng
được những giá trị của việc phân tích dữ liệu hệ thống
2.1.3 Ưu điểm và nhược điểm
Ưu điểm:
- Có thể truy cập mọi lúc mọi nơi điều khiển thông qua mạng Internet một cách tiện lợi
- Dữ liệu được lưu trữ trên cơ sở dữ liệu giúp tiếp kiệm thời gian và tiền bạc bên cạnh đó tăng tính linh động cho dữ liệu
- IoT là giải pháp giúp mọi thứ tự động hóa các nhiệm vụ cải thiển chất lượng cuộc sống
Trang 162.2 TỔNG QUAN VỀ PHẦN MỀM LẬP TRÌNH ANDROID STUDIO
2.2.1 Khái niệm về hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Cùng với việc Google cấp giấy phép (Apache) là một loại giấy phép ít bị ràng buộc nên
Android đã và đang được các nhà phát triển tiếp cận một cách nhanh chóng và phân phối sản phẩm của mình tự do trên các nền tảng Lập trình ứng dụng Android có thể sử dụng nhiều loại ngôn ngữ lập trình khác nhau Các ngôn ngữ phổ biến được sử dụng trong việc phát triển ứng dụng Android có thể kể đến như: Java, Kotin, AngularJS, C#, HTML và CSS
2.2.2 Giới thiệu về phần mềm lập trình Android Studio
Hình 2-2 Logo hệ điều hành android
Hình 2-3 App mobile
Trang 17Hiện nay để phát triển các ứng dụng Android chạy trên điện thoại cũng như trên các ứng dụng IoT thì có rất nhiều phần mềm hỗ trợ như MIT App Inventor dựa trên nền tảng kéo thả Nền tảng cho phép nhà lập trình tạo ra các ứng dụng phần mềm cho hệ điều hành Android Bằng cách sử dụng giao diện đồ họa, nền tảng cho phép người dùng kéo và thả các khối mã (blocks) để tạo ra các ứng dụng có thể chạy trên thiết bị Android
Và phải kể đến một ứng dụng khá là quen thuộc với lĩnh vực IoT đó chính là App Blynk là một phần mềm mã nguồn mở Ứng dụng giúp người dùng điều khiển phần cứng
từ xa, có thể hiển thị dữ liệu cảm biến, lưu trữ dữ liệu, biến đổi dữ liệu hoặc làm nhiều việc khác
Trong đó Android Studio một công cụ chính thức và mạnh mẽ nhất cho các ứng dụng điện thoại Đây là IDE (môi trường phát triển tích hợp) chính thức cho nền tảng Android, được phát triển với sự hỗ trợ mạnh mẽ từ Google sử dụng để tạo phần lớn các ứng dụng
để kiểm tra app) cần thiết để làm ra một ứng dụng Android hoàn chỉnh
Ngôn ngữ lập trình chính của Android là Java Java là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất trên thế giới với ước tính khoảng 9 triệu nhà phát triển
Hệ điều hành Android của Google sử dụng Java như cơ sở cho tất cả các ứng dụng
Android Trong khi Android Java là không hoàn toàn giống như Java thông thường, nhưng nó cũng có nhiều điểm chung
Trang 18• Các thao tác sử dụng Android Studio:
Sau khi khởi tạo một project mới trên phần mềm ta sẽ được giao diện như hình 2-4, tiến hành bấm chọn “Empty Activity”
Ở bước này ta tiến hành đặt tên, chọn thư mục lưu trữ cho project cũng như cài đặt các cấu hình cơ bản
Hình 2-5 Giao diện cấu hình cho project Hình 2-4 Giao diện tạo 1 activity mới
Trang 19Khi tạo xong project ta tiến hành thiết kế giao diện, đặt các đối tượng cho ứng dụng như: image view, button, text view, linear layout,…Các đối tượng này được tích hợp sẵn trong phần mềm nên thuận tiện cho việc sắp xếp thiết kế giao diện cho ứng dụng, hoặc có thể sử dụng ngôn ngữ lập trình XML để thiết kế giao diện ứng dụng
Phần lập trình ngôn ngữ XML được tạo ra tương ứng với bước sắp xếp các đối tượng được phần mềm Android Studio hỗ trợ Ta cũng có thể dùng các câu lệnh để sửa lại giao diện thiết kế
Ở bước lập trình bằng ngôn ngữ Java, đầu tiên ta phải tiến hành ánh xạ các đối tượng để thực hiện liên kết hoạt động cho các đối tượng ở phần thiết kế giao diện, sau đó thực hiện liên kết ứng dụng với Firebase và đẩy dữ liệu lên cơ sở dữ liệu
Hình 2-6 Giao diện của ứg dụng khi thiết kế
Hình 2-7 Giao diện lập trình Java
Trang 202.2.3 Ưu điểm và nhược điểm
Ưu điểm:
- Hệ điều hành thân thiện và dễ dàng sử dụng
- Có khả năng chạy cùng lúc nhiều ứng dụng
- Vì có mã nguồn mở nên được nhiều nhà phát triển lựa chọn để phát triển ứng dụng
- Kho ứng dụng Google Play với nhiều sản phẩm miễn phí cho người dùng
Khuyết điểm:
- Bên cạnh những lợi ích từ mã nguồn mở thì cũng gây ra các tác hại như dễ nhiễm các phần mềm độc hại chưa được kiểm soát có chất lượng không tốt và lỗi về bảo mật
- Gây khó khăn trong việc kiểm soát chất lượng của ứng dụng
2.3 TỔNG QUAN VỀ PHẦN MỀM LẬP TRÌNH CHO VI ĐIỀU KHIỂN
2.3.1 Giới thiệu về Arduino IDE
Arduino IDE là một trình soạn thảo văn bản khá nổi tiếng được viết tắt từ (Arduino Integrated Development Environment) hỗ trợ sử dụng ngôn ngữ lập trình C và C++ nên rất phổ biến với sinh viên trong việc tiếp cận lập trình nhúng một cách dễ dàng hơn Phần mềm hỗ trợ trên đa nền tảng với các hệ điều hành như Mac, Windows, Linux và chạy trên nền Java có các chức năng và câu lệnh có sẵn đóng vai trò rất quan trọng trong việc chỉnh sửa và biên dịch mã trong môi trường này Phần mềm hỗ trợ rất nhiều module Arduino như Arduino Mega, Arduino Uno,… Không chỉ vậy phần mềm còn hỗ trợ lập trình cho các module ESP như ESP8266 và ESP32 Mỗi module sẽ chứa bộ vi điều khiển trên board mạch được lập trình và chấp nhận thông tin dưới dạng mã còn được gọi là sketch tạo nên từ nền tảng IDE Sau đó sẽ tạo ra một tệp tin dưới dạng Hex được chuyển và tải lên bộ điều khiểu của board mạch
Trang 212.3.2 Các thao tác trên phần mềm
Verify Kiểm tra lỗi và biên dịch code
Upload Dịch và upload code vào bo mạch đã được cài đặt sẵn
BẢNG 2-1 Thao tác trên arduino IDE
2.4 TỔNG QUAN VỀ FIREBASE
2.4.1 Giới thiệu
Firebase là cơ sở dữ liệu thời gian thực lưu trữ thông qua đám mây được cung cấp bởi Google nên có một hệ thống máy chủ vô cùng mạnh mẽ Là một nền tảng để phát triển các ứng dụng di động và trang web bao gồm các API đơn giản Có các chức năng cũng như thao tác dễ tiếp cận nên đây là một trong những cơ sở dữ liệu được rất nhiều lập trình viên lựa chọn làm nền tảng đầu tiên phát triển sản phẩm cho hàng triệu người dùng trên thế giới Đặc biệt còn là dịch vụ đa năng có tính bảo mật cực tốt Firebase hỗ trợ trên cả hai nền tảng hệ điều hành là Android và IOS
2.4.2 Cách thức hoạt động của Realtime Database
Khi tiến hành đăng ký một tài khoản Firebase để tạo ứng dụng là ta đã có thể dễ dàng
có được một cơ sở dữ liệu thời gian thực Dữ liệu này được định dạng là một chuỗi JSON Đồng thời dữ liệu cũng luôn được đồng bộ hóa khi có tác động thay đổi dữ liệu và kết nối tới mọi client có các ứng dụng đa nền tảng Trong trường hợp mất mạng dữ liệu sẽ được lưu lại cục bộ Chính vì vậy khi có sự thay đổi nào đều được tự động cập nhập lên server của Firebase Dữ liệu được truyền qua chứng chỉ kết nối SSL với độ bảo mật cao
Trang 222.4.3 Ưu điểm và nhược điểm
Ưu điểm:
- Tạo tài khoản và sử dụng dễ dàng
- Tốc độ phát triển nhanh
- Nhiều dịch vụ trong một nền tảng
- Được cung cấp bởi Google mang lại uy tín cho người sử dụng
- Tập trung vào phát triển giao diện người dùng
- Firebase không có máy chủ
- Sao lưu
Khuyết điểm:
- Không phải là mã nguồn mở
- Người dùng không có quyền truy cập mã nguồn
- Firebase không hoạt động ở nhiều quốc gia
- Truy vấn chậm
- Không phải tất cả các dịch vụ Firebase đều miễn phí
- Firebase khá đắt và giá không ổn định
- Chỉ chạy trên Google Cloud
Trang 23CHƯƠNG 3 TÍNH TOÁN THIẾT KẾ SƠ ĐỒ KHỐI
3.1 THIẾT KẾ SƠ ĐỒ KHỐI
Với những yêu cầu đặt ra như trên của đề tài thì sơ đồ khối của hệ thống sẽ như sau:
Chức năng từng khối:
Khối nguồn: Cung cấp điện cho toàn mạch Sử dụng nguồn adapter 12V-DC để
cung cấp cho khối thiết bị (đèn 12v, quạt12v) và đi qua 1 mạch hạ áp xuống còn 5v để cung cấp nguồn cho (esp8266,led,cảm biến,và còi) nguồn điện cần liên tục và ổn định
Khối xử lý trung tâm: Có chức năng nhận và xử lí thông tin với các khối khác
trong toàn hệ thống Bộ điều khiển trung tâm sẽ nhận tín hiệu từ cảm biến Thông qua Hình 3.1 Sơ đồ khối của hệ thống qua chương trình vi điều khiển, tín hiệu kỹ thuật số được xử lý, các tín hiệu sau đó gửi đến các cổng đầu ra tương ứng của vi điều khiển
Hình 3-1 Sơ đồ khối của hệ thống
Trang 24Khối ngoại vi: Có chức năng thu thập dữ liệu từ bên ngoài và gửi đến cho khối xử
lý trung tâm để xử lý,tính toán
Khối giao diện tương tác: Có chức năng truyền và nhận dữ liệu, liên kết với wifi
để thực hiện việc đẩy dữ liệu nhận được lên cơ sở dữ liệu (Firebase) và đồng thời nhận các dữu liệu trên firebase để đi điều khiển các khối
Khối cảnh báo:Có chức năng nhận dữ liệu từ khối xử lý trung tâm để đi thực hiện
các cảnh báo khác nhau tùy thuộc vào dữ liệu nhận đưsợc từ khối ngoại vi
Khối xử lý và chấp hành:Có chức năng nhận dữ liệu từ khối xử lý trung tầm để đi
thực hiện các các tác vụ xử lý và điều khiển tùy thuộc vào dữ liệu nhận được từ khối ngoại vi hoặc khối giao diện tương tác
3.2 TÍNH TOÁN VÀ THIẾT KẾ
3.2.1 Khối xử lý trung tâm
• Phân tích lựa chọn linh kiện:
Vì hệ thống cần vừa phải module điều khiển với số lượng chân khá vừa như đã liệt
kê ở bảng 3.1 nên cần có một board vi điều khiển đáp ứng được về số lượng chân sử dụng
và có thể đẩy dữ liệu lên cơ sở dữ liệu thông qua mạng Internet nên đã quyết định chọn esp Vì không cần sử dụng quá nhiều chân GPIO cũng như các tính năng khác nên so sánh giữa hai module ESP8266 và ESP32 quyết định chọn module ESP8266 để thực hiện Với phần cứng được tích hợp nhiều chức năng cơ bản và là mã nguồn mở do đó có thể giúp có thể tiếp dễ dàng lập trình cũng như tiếp cận gần hơn với hệ thống
Trang 25BẢNG 3-1 Số lượng chân linh kiện
• Giới thiệu
ESP8266 là một module Wi-Fi có khả năng kết nối internet được sử dụng phổ biến trong các ứng dụng IoT (Internet of Things) và các dự án nhúng Module này được phát triển bởi Espressif Systems và có khả năng xử lý tốc độ cao, bộ nhớ nội bộ đầy đủ, các cổng giao tiếp như UART, SPI và I2C
Một số tính năng của ESP8266 bao gồm:
-Khả năng kết nối Wi-Fi với tốc độ lên đến 72 Mbps
-Bộ nhớ lưu trữ flash tích hợp, giúp lưu trữ các chương trình và dữ liệu
-CPU xử lý tốc độ cao với bộ vi xử lý Tensilica Xtensa L106
-Các cổng giao tiếp UART, SPI, I2C giúp kết nối với các thiết bị ngoại vi khác
-Hỗ trợ các giao thức mạng như TCP/IP, DNS, DHCP, MQTT, HTTP
Linh kiện Số lượng chân sử dụng
Trang 26Đối với các dự án IoT và nhúng, ESP8266 rất phổ biến bởi tính tiện dụng, độ tin cậy và giá thành thấp Các dự án có thể được xây dựng bằng cách sử dụng các thư viện có sẵn và các hướng dẫn được cung cấp bởi cộng đồng Ngoài ra, có thể sử dụng ESP8266
để kết nối với các dịch vụ đám mây như AWS IoT hoặc Google Cloud Platform để lưu trữ
và xử lý dữ liệu từ các thiết bị IoT
Thông số kĩ thuật Mô tả
Kết nối Wi-Fi 802.11 b/g/n, tốc độ tối đa lên đến 72.2Mbps
Giao thức mạng hỗ trợ TCP/IP, DNS, DHCP, MQTT, HTTP
Hình 3-2 ESP8266 NodeMCU
Trang 27Dòng tiêu thụ tối đa 200mA
BẢNG 3-2 Thông số kĩ thuật espe8266 NodeMCU
• Dòng tiêu thụ của esp8266 NodeMCU
Dòng DC trên mỗi chân I/O : 12mA
Dòng DC trên chân 3.3V [5]: 150mA
Dòng DC trên esp ở chế độ wifi : 70 – 180 mA(lấy trung bình là 120mA)
Hệ thống sử dụng 7 chân I/O và 1 chân 3.3V
Suy ra dòng tiêu thụ trên esp8266 NodeMCU là :
• I = ( 7 x 12 mA) + 150 mA + 120mA = 356 mA
Hình 3-3 Sơ đồ nguyên lý khối xử lý trung tâm
Trang 283.2.2 Khối ngoại vi
• Phân tích lựa chọn linh kiện:
-Theo yêu cầu cầu hệ thống ta cần 1 cảm biến để đo lượng khí trong không khí thì MQ2 là lựa chọn phù hợp.Vì MQ-2 có giá thành thấp, kích thước nhỏ gọn, dễ dàng sử dụng và tích hợp vào hệ thống Nó có thể hoạt động ở nhiều mức độ độ nhạy khác nhau, cho phép
tùy chỉnh để phát hiện các loại khí cụ
-Ta cũng cần 1 cảm biến để đo nhiệt độ ,độ ẩm do esp8266 chỉ có duy nhất 1 chân analog A0 đã xử dụng cho cảm biến MQ2 nên cảm biến DHT11 là sự lựa chọn hợp lý.Vì DHT11 giao tiếp với esp theo chuẩn one wire không cần chân analog như các cảm biến nhiệt độ thông thường
• Giới thiệu cảm biến MQ2:
MQ-2 là một loại cảm biến khí, thường được sử dụng để phát hiện và đo lượng khí trong không khí Cảm biến MQ-2 có khả năng phát hiện các khí như LPG, i-butane, propane, methane, alcohol, Hydrogen và fume
Cảm biến MQ-2 hoạt động trên nguyên lý tự nhiên điện hóa, nghĩa là nó đo sự thay đổi của điện trở khi được phơi nhiễm với khí Khi cảm biến được phơi nhiễm với khí, chất nào đó trong khí sẽ tương tác với màng bảo vệ của cảm biến, làm thay đổi điện trở Sau
đó, mạch điện tử trong cảm biến sẽ đo thay đổi này và xuất ra một tín hiệu analog hoặc số
để cho biết lượng khí hiện tại trong không khí
Cảm biến MQ-2 có thiết kế nhỏ gọn, dễ dàng sử dụng và được tích hợp sẵn trên nhiều thiết bị điện tử, chẳng hạn như module cảm biến MQ-2 Nó được sử dụng rộng rãi trong các ứng dụng đo lường khí, như trong hệ thống báo khí gas tự động hoặc các hệ thống kiểm tra khí trong phòng thí nghiệm
Trang 29• Thông số kĩ thuật cảm biến MQ2
Thông số kĩ thuật Mô tả
Điện áp hoạt động 3.3-5V DC
Các khí có thể phát hiện LPG, i-butane, propane, methane, alcohol, Hydrogen Điện trở đầu ra 1KΩ ~ 10KΩ tại nồng độ khí khác nhau
Độ nhạy nồng độ khí có thể phát hiện từ vài ppm đến vài trăm ppm Nhiệt độ hoạt động từ -20 đến +50 độ C
Độ ẩm tương đối hoạt động từ 20 đến 90% không ngưng tụ
BẢNG 3-3 Thông số kĩ thuật của MQ2
• Kết nối chân giữa ESP8266 và cảm biến MQ2
Trang 30• Giới thiệu cảm biến DHT11:
Cảm biến DHT11 là một cảm biến đo nhiệt độ và độ ẩm trong không khí với độ chính xác
và độ ổn định tương đối cao Nó được sử dụng rộng rãi trong các ứng dụng như hệ thống điều khiển tự động, các thiết bị đo nhiệt độ và độ ẩm và các dự án IoT
Cảm biến DHT11 có một cảm biến nhiệt độ và một cảm biến độ ẩm được tích hợp trên cùng một bo mạch Nó hoạt động ở mức điện áp 3.3V hoặc 5V và sử dụng giao tiếp 1-Wire để giao tiếp với vi điều khiển hoặc các thiết bị khác
• Thông số kĩ thuật cảm biến DHT11
Thông số kĩ thuật Mô tả
Dải đo nhiệt độ 0 đến 50 độ C với độ chính xác +/- 2 độ C
BẢNG 3-5 Thông số kĩ thuật cảm biến DHT11
• Kết nối chân giữa ESP8266 và cảm biến DHT11