Xây dựng hệ thống giám sát môi trường tại phòng máy chủ

69 1 0
Xây dựng hệ thống giám sát môi trường tại phòng máy chủ

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN KHĨA LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THƠNG TIN XÂY DỰNG HỆ THỐNG GIÁM SÁT MƠI TRƯỜNG TẠI PHỊNG MÁY CHỦ NGUYỄN QUAN DINH AN GIANG, 05-2022 TRƯỜNG ĐẠI HỌC AN GIANG KHOA CƠNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG HỆ THỐNG GIÁM SÁT MƠI TRƯỜNG TẠI PHỊNG MÁY CHỦ NGUYỄN QUAN DINH DTH185247 GIẢNG VIÊN HƯỚNG DẪN TS HUỲNH PHƯỚC HẢI AN GIANG, 05-2022 Khoá luận “Xây dựng hệ thống giám sát mơi trường phịng máy chủ” sinh viên Nguyễn Quan Dinh thực hướng dẫn TS Huỳnh Phước Hải Tác giả báo cáo kết nghiên cứu Hội đồng Khoa học Đào tạo thông qua ngày ……………………… Phản biện Phản biện (Ký ghi rõ chức danh, họ tên) (Ký ghi rõ chức danh, họ tên) Giảng viên hướng dẫn (Ký ghi rõ chức danh, họ tên) i LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến Ban giám hiệu Trường Đại học An Giang Thầy Cô Khoa Công nghệ thông tin tạo mơi trường học tập, tận tình giảng dạy, trang bị kiến thức cho em trình học tập, nhờ kiến thức làm tảng cho em tự nghiên cứu học tập thêm kỹ q trình làm khóa luận Em xin gửi lời biết ơn sâu sắc đến thầy TS Huỳnh Phước Hải, người hướng dẫn em suốt q trình thực khóa luận, tận tình hướng dẫn để em vận dụng kiến thức học vào thực tiễn Em gửi lời cảm ơn tới gia đình bạn bè ln bên cạnh em, giúp đỡ em hồn thành khóa luận Do thời gian kiến thức có hạn nên khơng thể tránh thiếu sót, em mong nhận góp ý, dẫn từ q Thầy Cơ để khóa luận hồn thiện Một lần xin gửi đến Ban giám hiệu, Thầy Cô, bạn bè gia đình lời cảm ơn chân thành tốt đẹp nhất!!! An Giang, ngày 19 tháng 05 năm 2022 Sinh viên thực Nguyễn Quan Dinh ii TÓM TẮT Quản lý nhiệt độ độ ẩm trung tâm liệu, phịng máy tính, hay phịng máy chủ trở thành việc thiết yếu nhân viên quản lý công nghệ thông tin IT để “phòng chống thảm họa” – sở hạ tầng công nghệ thông tin công ty yếu tố sống cho hoạt động chức tồn tổ chức Nếu khơng có hoạt động liên tục hệ thống thông tin, tổ chức truy cập đến thông tin quan trọng liên quan đến hoạt động kinh doanh Và hậu suy giảm lợi tức đáng kể giá trung bình cho “chết” hệ thống máy tính lên đến vài chục ngàn USD Với thế, kể công ty có hệ thống máy tính với thời gian hoạt động nhiều hàng trăm ngàn USD năm khoản thời gian chết không mong muốn Vì vậy, việc quản lý giám sát mơi trường phòng máy chủ việc quan trọng Đề tài xây dựng dựa hệ thống sử dụng nhiều cảm biến cho phép truyền liệu không dây thiết kế để theo dõi thông số mơi trường phịng máy chủ Các liệu đo từ cảm biến xử lý máy tính nhúng Raspberry Pi B, hoạt động trung tâm trung chuyển liệu thông qua chuẩn truyền không dây Trước gửi đến máy chủ xa, liệu thu thập từ cảm biến lưu trữ sở liệu cục bộ, cảm biến kết nối trực tiếp vào GPIO Raspberry Pi Một giao diện website thiết kế cho phép hiển thị liệu thu thập mơi trường phịng máy chủ quản lý thông tin liên quan khác iii MỤC LỤC CHƯƠNG .1 ĐẶT VẤN ĐỀ 1.1 Tính cần thiết đề tài 1.2 Phạm vi .2 1.3 Mục tiêu nghiên cứu 1.4 Phương pháp nghiên cứu CHƯƠNG .3 TỔNG QUAN CƠ SỞ LÝ THUYẾT 2.1 IOT 2.1.1 Định nghĩa 2.1.2 Khái niệm IoT 2.1.3 IoT từ góc nhìn kỹ thuật 2.1.4 Mơ hình hệ thống IoT 2.2 RASPBERRY PI 2.2.1 Giới thiệu chung 2.2.2 Hệ điều hành Raspberry Pi 13 2.2.3 Cài đặt hệ điều hành cho Raspberry Pi 15 2.3 CẢM BIẾN 21 2.3.1 CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT22 21 2.3.2 CẢM BIẾN CHẤT LƯỢNG KHƠNG KHÍ MQ135 21 2.3.3 CẢM BIẾN MƯA (RÒ RỈ NƯỚC) MH-RD 21 2.4 REMOTE.IT 21 2.5 NGÔN NGỮ HTML 22 2.6 NGÔN NGỮ PHP 22 2.7 NGÔN NGỮ PYTHON 23 2.8 JAVASCRIPT 23 2.9 AJAX 23 2.10 BOOTSTRAP .23 2.11 MYSQL 23 iv CHƯƠNG .25 PHÂN TÍCH THIẾT KẾ HỆ THỐNG .25 3.1 GIÁM SÁT MÔI TRƯỜNG SERVER ROOM BÊNH VIỆN ĐA KHOA CHÂU ĐỐC 25 3.2 KIẾN TRÚC HỆ THỐNG .26 3.3 THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ .27 3.3.1 Bảng user (người dùng) 28 3.3.2 Bảng room (phòng) 28 3.3.3 Bảng dht22list (danh sách cảm biến nhiệt độ / độ ẩm DHT22) 28 3.3.4 Bảng dht22 (dữ liệu cảm biến nhiệt độ / độ ẩm DHT22) 29 3.3.5 Bảng room_detail (chi tiết phòng) 29 3.3.6 Bảng mq135list (danh sách cảm biến chất lượng khơng khí MQ135) 29 3.3.7 Bảng mq135 (dữ liệu cảm biến chất lượng không khí MQ135) 30 3.3.8 Bảng mhrdlist (danh sách cảm biến rò rỉ nước MH-RD) 30 3.3.9 Bảng mhrd (dữ liệu cảm biến rò rỉ nước MH-RD) 30 3.4 CÁC XỬ LÝ CHÍNH .30 3.4.1 Thu thập, cảnh báo hiển thị liệu .30 3.4.2 Phân quyền hệ thống 31 3.5 PHÂN TÍCH YÊU CẦU 32 3.5.1 Sơ đồ Use case 32 3.5.2 Đặc tả chi tiết số Use case 38 3.5.3 Sơ đồ số Use case 41 3.6 GIAO DIỆN CỦA PHẦN MỀM 43 3.5.1 Giao diện đăng nhập 43 3.6.2 Giao diện trang chủ 44 3.5.3 Giao diện cảm biến 44 3.5.4 Giao diện liệu cảm biến 45 3.5.5 Giao diện danh sách phòng 45 3.5.6 Giao diện thêm người dùng vào phòng 46 3.5.7 Giao diện danh sách cảm biến DHT22 46 3.5.8 Giao diện thêm cảm biến DHT22 47 v 3.5.9 Giao diện sửa cảm biến DHT22 47 3.5.10 Giao diện danh sách cảm biến MQ135 48 3.5.11 Giao diện danh sách cảm biến MH-RD 48 3.5.12 Giao diện danh sách người dùng 49 3.5.13 Giao diện thêm người dùng 49 3.5.14 Giao diện sửa người dùng 50 3.5.15 Giao diện cấp lại mật người dùng 50 3.5.16 Giao diện đổi mật 51 3.5.17 Giao diện đăng xuất .51 3.5.18 Giao diện quên mật .52 3.7 KẾT QUẢ 52 3.8 Ý NGHĨA .53 3.9 HƯỚNG PHÁT TRIỂN 53 PHỤ LỤC .54 MÃ NGUỒN RASPBERRY PI .54 TÀI LIỆU THAM KHẢO 57 vi DANH MỤC HÌNH ẢNH Hình IoT kết nối vạn vật Hình Hệ thống IoT từ góc nhìn kỹ thuật Hình Các loại thiết bị khác mối quan hệ Hình Mơ hình IoT Hình Bảng mạch máy tính Raspberry Pi Hình Cấu tạo model 10 Hình Thơng số kỹ thuật (Raspberry Pi 4B 3B+) 10 Hình Cấu tạo Raspberry Pi 11 Hình Sơ đồ kết nối API 13 Hình 10 Tải Raspberry Pi máy 16 Hình 11 Chọn Choose Os 16 Hình 12 Chọn Choose Storage -> chọn thẻ microSD cần cài đặt chọn Write 17 Hình 13 Lắp thẻ microSD vào Raspberry Pi khởi động 17 Hình 14 Màn hình sau khởi động 18 Hình 15 Set Country 18 Hình 16 Màn hình chờ 19 Hình 17 Đặt mật 19 Hình 18 Set Up Screen 20 Hình 19 Update Software 20 Hình 20 Hoàn thành cài đặt 21 Hình 21 Kiến trúc hệ thống 26 Hình 22 Sơ đồ sở liệu quan hệ 27 Hình 23 Truyền liệu 31 Hình 24 Sơ đồ Use Case - Hệ thống giám sát môi trường 34 Hình 25 Sơ đồ Use case – Phân rã chức “Quản lý người dùng” 35 Hình 26 Sơ đồ Use case – Phân rã chức “Quản lý phịng” 35 Hình 27 Sơ đồ Use case – Phân rã chức “Quản lý cảm biến DHT22” 36 Hình 28 Sơ đồ Use case – Phân rã chức “Quản lý cảm biến MQ135” 36 vii Hình 29 Sơ đồ Use case - Phân rã chức "Quản lý cảm biến MH-RD 37 Hình 30 Sơ đồ Use case – Phân rã chức “Quản lý liệu cảm biến DHT22, MQ135 MH-RD” 37 Hình 31 Sơ đồ Đăng nhập 41 Hình 32 Sơ đồ Thêm người dùng 42 Hình 33 Sơ đồ Cập nhật thơng tin phịng 42 Hình 34 Sơ đồ Điều chỉnh cảnh báo cảm biến DHT22 43 Hình 35 Giao diện đăng nhập 43 Hình 36 Giao diện trang chủ 44 Hình 37 Giao diện cảm biến 44 Hình 38 Giao diện liệu cảm biến 45 Hình 39 Giao diện danh sách phịng 45 Hình 40 Giao diện thêm người dùng vào phòng 46 Hình 41 Giao diện danh sách cảm biến DHT22 46 Hình 42 Giao diện thêm cảm biến DHT22 47 Hình 43 Giao diện sửa cảm biến DHT22 47 Hình 44 Giao diện danh sách cảm biến MQ135 48 Hình 45 Giao diện danh sách cảm biến MH-RD 48 Hình 46 Giao diện danh sách người dùng 49 Hình 47 Giao diện thêm người dùng 49 Hình 48 Giao diện sửa người dùng 50 Hình 49 Giao diện cấp lại mật người dùng 50 Hình 50 Giao diện đổi mật 51 Hình 51 Giao diện đăng xuất 51 Hình 52 Giao diện quên mật 52 viii 3.5.3.4 Sơ đồ Điều chỉnh cảnh báo cảm biến DHT22 Hình 34 Sơ đồ Điều chỉnh cảnh báo cảm biến DHT22 3.6 GIAO DIỆN CỦA PHẦN MỀM 3.5.1 Giao diện đăng nhập Hình 35 Giao diện đăng nhập 43 3.6.2 Giao diện trang chủ Hình 36 Giao diện trang chủ 3.5.3 Giao diện cảm biến Hình 37 Giao diện cảm biến 44 3.5.4 Giao diện liệu cảm biến Hình 38 Giao diện liệu cảm biến 3.5.5 Giao diện danh sách phịng Hình 39 Giao diện danh sách phòng 45 3.5.6 Giao diện thêm người dùng vào phòng Hình 40 Giao diện thêm người dùng vào phịng 3.5.7 Giao diện danh sách cảm biến DHT22 Hình 41 Giao diện danh sách cảm biến DHT22 46 3.5.8 Giao diện thêm cảm biến DHT22 Hình 42 Giao diện thêm cảm biến DHT22 3.5.9 Giao diện sửa cảm biến DHT22 Hình 43 Giao diện sửa cảm biến DHT22 47 3.5.10 Giao diện danh sách cảm biến MQ135 Hình 44 Giao diện danh sách cảm biến MQ135 3.5.11 Giao diện danh sách cảm biến MH-RD Hình 45 Giao diện danh sách cảm biến MH-RD 48 3.5.12 Giao diện danh sách người dùng Hình 46 Giao diện danh sách người dùng 3.5.13 Giao diện thêm người dùng Hình 47 Giao diện thêm người dùng 49 3.5.14 Giao diện sửa người dùng Hình 48 Giao diện sửa người dùng 3.5.15 Giao diện cấp lại mật người dùng Hình 49 Giao diện cấp lại mật người dùng 50 3.5.16 Giao diện đổi mật Hình 50 Giao diện đổi mật 3.5.17 Giao diện đăng xuất Hình 51 Giao diện đăng xuất 51 3.5.18 Giao diện quên mật Hình 52 Giao diện quên mật 3.7 KẾT QUẢ Trong suốt trình thực đề tài, em học hỏi nhiều kiến thức từ việc tìm hiểu nghiên cứu vấn đề mới, lập kế hoạch, thiết kế hệ thống, theo dõi tiến độ, kiểm thử, Các kiến thức kinh nghiệm tiếp thu trình thực đề tài: - Đọc hiểu tài liệu trực tuyến - Biết thêm quy trình hoạt động hệ thống giám sát mơi trường - Tìm hiểu chi tiết tính kỹ thuật thiết bị Raspberry Pi sensor cảm biến nhiệt độ, độ ẩm, chất lượng khơng khí - Tìm hiểu IoT - Cài đặt hệ điều hành Raspbian cho Raspberry Pi Chương trình thực chức sau: - Sử dụng ngơn ngữ lập trình Python kết hợp với máy tính nhúng Raspberry Pi để đọc liệu sensor cảm biến nhiệt độ, độ ẩm, chất lượng khơng khí thu nhận Sau hiển thị giao diện web cách trực quan dễ hiểu - Một ứng dụng web bao gồm tính năng: xác thực người dùng, phân quyền, xem liệu cảm biến, thống kê liệu 52 3.8 Ý NGHĨA Raspberry Pi đóng vai trị thiết bị giám sát với khả truy cập đến sở liệu lấy liệu từ cảm biến tích hợp Màn hình hiển thị giám sát nhiệt độ với đồ thị giao diện web, qua cho phép dễ dàng đọc liệu lưu trữ kết đến sở liệu Đề tài vừa mang tính nghiên cứu, vừa mang tính sáng tạo tiên phong việc giám sát môi trường Sản phẩm đề tài mơ hình thực tế cho việc ứng dụng sức mạnh công nghệ cá nhân quan tâm Đóng góp tài liệu ứng dụng Raspberry Pi lĩnh vực IoT cho bạn sinh viên tham khảo phát triển 3.9 HƯỚNG PHÁT TRIỂN Phát triển thêm với sensor cảm biến ánh sáng, chuyển động, … Nâng cao chất lượng giao diện tương tác với người dùng Cảnh báo qua SMS 53 PHỤ LỤC MÃ NGUỒN RASPBERRY PI import Adafruit_DHT import RPi.GPIO as GPIO import pymysql import datetime from urllib.request import urlopen from gpiozero import InputDevice, CPUTemperature from time import sleep sensor = Adafruit_DHT.DHT22 BuzzerPin = 22 no_rain = InputDevice(24) GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.IN) GPIO.setup(BuzzerPin, GPIO.OUT, initial=GPIO.LOW) gpio = 17 #Sensor ID: dht22id = "dht22a1011" mq135id = "mq135a1011" mhrdid = "mhrda1011" try: db = pymysql.connect( host="localhost", user="root", passwd="Quandinh113", database="sensor" ) mycursor = db.cursor() print("Successfully connected to database") update = True while update: e = datetime.datetime.now() print(e) humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio) if humidity is not None and temperature is not None: temp = '%.2f' % (temperature) hum = '%.2f' % (humidity) print('Temperature = '+temp+'*C \t''Humidity = '+hum+'%') urlopen("https://dth185247kl.000webhostapp.com/cambien/a dd_data_dht22.php?sensorid="+dht22id+"&temp="+temp+"&hum ="+hum).read() mycursor.execute("INSERT INTO dht22 (sensor_id, temperature, humidity) VALUES ('"+str(dht22id)+"', "+ str(temp) +", "+ str(hum) +")") db.commit() else: 54 print('Fail!!!') if GPIO.input(4): mq135qlty = "1" print("Good atmosphere") urlopen("https://dth185247kl.000webhostapp.com/cambien/a dd_data_mq135.php?sensorid="+mq135id+"&quality="+mq135ql ty).read() mycursor.execute("INSERT INTO mq135 (sensor_id, quality) VALUES ('"+ str(mq135id) +"', "+str(mq135qlty)+")") db.commit() else: mq135qlty = "2" print("Bad atmosphere") urlopen("https://dth185247kl.000webhostapp.com/cambien/a dd_data_mq135.php?sensorid="+mq135id+"&quality="+mq135ql ty).read() mycursor.execute("INSERT INTO mq135 (sensor_id, quality) VALUES ('"+ str(mq135id) +"', "+str(mq135qlty)+")") db.commit() if not no_rain.is_active: mhrdqlty = "2" print("Water leak") urlopen("https://dth185247kl.000webhostapp.com/cambien/a dd_data_mhrd.php?sensorid="+mhrdid+"&quality="+mhrdqlty) read() mycursor.execute("INSERT INTO mhrd (sensor_id, quality) VALUES ('"+ str(mhrdid) +"', "+str(mhrdqlty)+")") db.commit() else: mhrdqlty = "1" print("No water leak") urlopen("https://dth185247kl.000webhostapp.com/cambien/a dd_data_mhrd.php?sensorid="+mhrdid+"&quality="+mhrdqlty) read() mycursor.execute("INSERT INTO mhrd (sensor_id, quality) VALUES ('"+ str(mhrdid) +"', "+str(mhrdqlty)+")") db.commit() if(temperature < 35 and humidity < 90 and GPIO.input(4) and no_rain.is_active): GPIO.output(BuzzerPin, GPIO.LOW) else: GPIO.output(BuzzerPin, GPIO.LOW) cpu = CPUTemperature() cputemp = cpu.temperature print('CPU Temperature = '+str(cputemp)+'*C') print('\n') sleep(300) except (db.Error) as e: print(e) 55 update = False mycursor.close() db.close() 56 TÀI LIỆU THAM KHẢO Luigi Atzori, Antonio Iera, Giacomo Morabito 2010 Internet of Things: A survey Maik Schmidt 2012 Raspberry Pi, A Quick-Start Guide Texas: The Pragmatic Bookshelf Matt Richardson & Shawn Wallace 2012 Getting Started with Raspberry Pi San Francisco: Maker Media Nguyễn Triệu Vỹ 2015 Khảo sát nhiệt độ độ ẩm có chức hiển thị phịng Hồ Chí Minh: Trường Đại học Tơn Đức Thắng Ovidiu Vermesan, Peter Friess 2013 Internet of Things – Converging Technologies For Smart Environments and Integrated Ecosystems Denmark: River Publishers Phan Nguyễn Mạnh Thắng, Đặng Hoài Linh 2020 Thiết kế hệ thống đo điều khiển nhiệt độ, độ ẩm nông nghiệp mobile Hà Nội: Trường Đại học mở Hà Nội Tăng Tấn Viễn 2014 Tìm hiểu máy tính mini Raspberry Pi Đà Nẵng: Trường Đại học Duy Tân 57

Ngày đăng: 07/06/2023, 22:04

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan