CHƯƠNG 3 : THIẾT KẾ PHẦN CỨNG VÀ XÂY DỰNG GIẢI PHÁP
3.3 XÂY DỰNG LƯU ĐỒ GIẢI THUẬT VÀ LẬP TRÌNH
3.3.5 Website cho phép xem và thiết lập thông số để hệ thống kết nối vận hành
Ứng dụng web giám sát cục bộ được viết bằng ngôn ngữ Python trên nền tảng mã nguồn mở Django, một nền tảng web server nhẹ, phát triển nhanh [15]. Server được chạy ngay trên board Raspberry Pi và ứng dụng web này dành cho người quản lý phòng máy để xem một số thông tin:
- Tên thiết bị: Để khỏi nhầm lẫn giữa các thiết bị giám sát ở phòng máy khác. - Thời gian hoạt động của hệ thống: Để xem thiết bị có bị khởi động lại bất thường. - Trạng thái giám sát: Các thông số môi trường, an ninh hiện tại và trạng thái kết
nối về server quản lý tập trung.
Đồng thời, module cho phép người quản lý thực hiện thiết lập các thông số về: - Tên thiết bị.
- Thông tin mô tả vị trí các loại cảm biến trong phòng. - Ngưỡng cảnh báo của các loại cảm biến (Nhiệt, độ ẩm). - Địa chỉ IP của thiết bị giám sát và xử lý cục bộ.
- Kích hoạt và thay đổi địa chỉ IP của thiết bị giám sát ra vào. - Kích hoạt và thay đổi địa chỉ IP của camera giám sát.
- Kích hoạt và thay đổi các tổ hợp (nhiệt, khói, mất điện) trạng thái làm chuông báo kêu.
Người quản lý phòng máy
Đăng nhập
Xem trạng thái
Cấu hình thông số Thay đổi tên thiết bị
<<extend>>
Thay đổi thông tin cảm biến
Thay đổi thông tin IP <<extend>> <<extend>> Thay đổi tổ hợp kích hoạt chuông báo <<extend>>
Xem thông tin
Xem tên thiết bị
Xem thời gian hệ thống hoạt động bao lâu
<<extend>>
<<extend>>
Xem nhiệt độ, độ ẩm, khói, điện
<<extend>> Xem trạng thái ra vào, camera Xem trạng thái kết nối mạng <<extend>> <<extend>> Đổi mật khẩu Xem trạng thái chuông báo <<extend>>
Giao diện trang web đáp ứng (responsive) hiển thị trên cả máy tính và các thiết bị điện thoại:
Trang đăng nhập:
Người dùng thực hiện xác thực để có thể truy cập các trang trạng thái và cấu hình (Hình 3.33).
Trang xem thông tin:
Hình 3.34: Giao diện trang xem thông tin thiết bị
Người dùng có thể xem một số thông tin thiết bị như: tên, phòng máy, giờ trên hệ thống và tổng thời gian hoạt động của hệ thống từ lúc khởi động (Hình 3.34). Trang xem trạng thái:
Tại trang trạng thái ta có thể xem các giá trị cảm biến và trạng thái realtime của các khối chức năng. Các thông số trạng thái có màu sắc thay đổi theo trạng thái: Xanh (trạng thái bình thường – Normal), Cam (trạng thái hơi cao – Warning) và Đỏ (trạng thái báo động – Critical) như Hình 3.35.
Hình 3.35: Giao diện trang xem trạng thái
Trang cấu hình thông số:
- Thông tin điện lưới phòng máy: Có thể thiết lập tên phòng máy, số pha điện
Hình 3.36: Giao diện trang cấu hình thông tin phòng máy
- An ninh: Cấu hình kích hoạt kết nối giữa Pi với các khối giám sát ra vào và
an ninh camera (Hình 3.37).
Hình 3.37: Giao diện trang cấu hình thông tin các thiết bị an ninh
- Chuông báo: Chuông báo động có thể được cấu hình kích hoạt khi xảy ra một
trong các trạng thái mất điện lưới, nhiệt độ rất cao, phát hiện khói (Hình 3.38).
Hình 3.38: Giao diện trang cấu hình các điều kiện kích hoạt chuông báo
3.4 TRIỂN KHAI VÀ THEO DÕI KẾT QUẢ:
- Lập trình ứng dụng thu thập các thông số cảm biến, bao gồm toàn bộ các khối chức năng Giám sát. Các khối này đòi hỏi thời gian đáp ứng các sự kiện thời gian thực, nhanh nên tôi sử dụng kỹ thuật xử lý đa luồng – multithreading.
- Lập trình ứng dụng giao diện xem trạng thái và cấu hình trên nền tảng Django, bao gồm các giao diện xem, khai báo và cấu hình các thông số của các khối Giám sát.
- Thiết kế và dựng database lưu trữ nền tảng Sql Server. - Dựng Mqtt broker cho module Report.
- Lập trình dịch vụ nhận sự kiện và lưu trữ vào database lưu trữ. - Lập trình dịch vụ cảnh báo cho nhân sự quản lý.