Chƣơng trình giao diện cảnh báo

Một phần của tài liệu Lưu và cập nhật động dữ liệu lên website cho mạng cảm biến không dây (Trang 50)

3.3.2.1. Giới thiệu công nghệ .Net và ngôn ngữ C#

Hình 3.17: Mô tả các thành phần trong .NET Framework.

.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thƣ viện lập trình có thể đƣợc cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thƣờng của các chƣơng trình điện toán nhƣ lập trình giao diện ngƣời dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chƣơng trình đƣợc viết dựa trên .NET Framework do đó ngƣời dùng cần phải cài.NET Framework để có thể chạy các chƣơng trình đƣợc viết trên nền .NET.

.NET Framework có hai thành phần chính: Common Language Runtime (CLR) và thƣ viện lớp .NET Framework. CLR là nền tảng của .NET Framework. Chúng ta có thể hiểu runtime nhƣ là một agent quản lý mã nguồn khi nó đƣợc thực thi, cung cấp các dịch vụ cốt lõi nhƣ: quản lý bộ nhớ, quản lý tiểu trình, và quản lý từ xa. Ngoài ra nó còn thúc đẩy việc sử dụng kiểu an toàn và các hình thức khác của việc chính xác mã nguồn, đảm bảo cho việc thực hiện đƣợc bảo mật và mạnh mẽ. Thật vậy, khái niệm quản lý mã nguồn là nguyên lý nền tảng của runtime. Mã nguồn mà đích tới runtime thì đƣợc biết nhƣ là mã nguồn đƣợc quản lý (managed code). Trong khi đó mã nguồn mà không có đích tới runtime thì đƣợc biết nhƣ mã nguồn không đƣợc quản lý (unmanaged code).

Thƣ viện lớp, một thành phần chính khác của .NET Framework là một tập hợp hƣớng đối tƣợng của các kiểu dữ liệu đƣợc dùng lại, nó cho phép chúng ta có thể phát triển những ứng dụng từ những ứng dụng truyền thống command-line hay những ứng

dụng có giao diện đồ họa (GUI) đến những ứng dụng mới nhất đƣợc cung cấp bởi ASP.NET, nhƣ là Web Form và dịch vụ XML Web.

Ngôn ngữ C#

C# là một ngôn ngữ lập trình hƣớng đối tƣợng đƣợc phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ. Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhƣng theo ECMA là C#, chỉ bao gồm dấu số thƣờng. Microsoft phát triển C# dựa trên C++ và Java. C# đƣợc miêu tả là ngôn ngữ có đƣợc sự cân bằng giữa C++, Visual Basic, Delphi và Java. C# đƣợc thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sƣ phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.

Ngôn ngữ C# đƣợc lựa chọn trong luận văn này vì nó có đƣợc sự mạnh mẽ của C++ và sự đơn giản của VB:

 C# là ngôn ngữ đơn giản

 C# là ngôn ngữ hiện đại

 C# là ngôn ngữ hƣớng đối tƣợng

 C# là ngôn ngữ mạnh mẽ và cũng mềm dẻo

 C# là ngôn ngữ ít từ khóa

 C# là ngôn ngữ hƣớng module

3.3.2.2. Chƣơng trình giao diện cảnh báo sự cố tự động

Hình 3.18: Giao diện chính của chƣơng trình

Thiết đặt thông số cổng COM

Đây là phần để thiết đặt các thông số cổng COM gồm số hiệu COM Port, tốc độ Baud Rate, giá trị Party, Data Bits và Bit Stop. Hình thể hiện cổng đƣợc cài đặt có số hiệu COM5. Thực chất đối với máy tính cá nhân hiện nay, các cổng COM không còn đƣợc tích hợp nhiều nữa. Nhƣng chúng ta hoàn toàn có thể dễ dàng có một kết nối cổng COM với thiết bị chuyển đổi USB to RS232 thông qua một cổng kết nối USB.

comport.BaudRate = int.Parse(cmbBaudRate.Text); comport.DataBits = int.Parse(cmbDataBits.Text);

comport.StopBits=(StopBits)Enum.Parse(typeof(StopBits), cmbStopBits.Text); comport.Parity = (Parity)Enum.Parse(typeof(Parity), cmbParity.Text);

comport.PortName = cmbPortName.Text;

Hình 3.19: GroupBox chứa các tham số cài đặt ComPort

Vì không phải lúc nào chúng ta cũng theo dõi trực tiếp quá trình diễn biến môi trƣờng, nên phải thiết kế một hệ thống tự động cảnh báo khi có sự cố để xử lý kịp thời. Các mức cảnh báo sẽ là các ngƣỡng gây nguy hiểm có mức độ từ thấp đến cao và có thể thay đổi linh hoạt đƣợc. Dƣới đây là thiết đặt các mức ngƣỡng với 3 mức cơ bản của nhiệt độ và độ cao mức nƣớc

Hình 3.20: GroupBox chứa các tham số cài đặt mức ngƣỡng

Điều khiển ngắt nối cổng COM

Đây là phần điều khiển đóng mở cổng COM.

Mở port

comport.Open();

Đóng port

comport.Close();

Hình 3.21: GroupBox ngắt nối cổng COM

Điểu khiển monitor

Chứa các nút dùng để điều khiển hiển thị các thông tin nhƣ đồ thị, dữ liệu trong khoảng thời gian và dùng để lƣu dƣới dạng file văn bản.

Hình 3.22: GroupBox ngắt nối cổng COM

Bảng thông báo kết quả

Hiển thị kết quả thông tin tức thời từ hệ thống giá trị mức nƣớc và nhiệt.

Hình 3.23: Hiển thị kết quả

Vẽ đồ thị hiện thị thông tin tức thời một cách tự động liên tục theo thời gian thực

Để hiện thị thông tin một cách giác quan hơn ta có thể sử dụng đồ thị với trục dữ liệu và một trục nữa là thời gian. Luận văn sử dụng thƣ viện ZedGraph của .NET. Muốn vậy ta phải thêm thƣ viện ZedGraph.dll vào Project.

Hình 3.24: Đồ thị thời gian thực

Kết quả thông báo trên TextBox: các thông tin từ cổng COM gửi về trong bộ đệm sẽ đƣợc hiển thị theo dòng lần lƣợt trên TextBox.

Hình 3.25: Kết quả truyền về

Kết quả truy vấn dữ liệu trong khoảng thời gian theo ngày:

Hình 3.26: Truy xuất kết quả theo ngày

Cảnh báo sự cố: Mỗi khi có sự cố vƣợt ngƣỡng ta sẽ cho phát một file audio cảnh báo và đồng thời cho hiển thị lên màn hình nội dung cảnh báo khác nhau với dòng chữ động.

Hình 3.27: Thông báo cảnh báo vƣợt ngƣỡng

Cho hiển thị TextBox cảnh báo:

textBox7.Show(); timer1.Enabled = true;

textBox7.Text = "BÁO ĐỘNG CẤP HAI MỨC NƢỚC ĐÃ VƢỢT NGƢỠNG CHO PHÉP!!!";

Cho phép phát âm thanh cảnh báo

SoundPlayer a = new SoundPlayer("warn2.wav"); a.PlayLooping();

Điều khiển chƣơng trình cảnh báo:

Từ giao diện ngƣời dùng, chúng ta sẽ thiết kế thêm phần điều khiển chƣơng trình cảnh báo nhắm thuận tiện phát hiện sự cố một cách nhanh và chính xác nhất.

Thiết lập tham số cho các cảnh báo:

Tùy vào vị trí đặt sensor, các ứng dụng cụ thể mà chúng ta cần thiết lập mức độ cảnh báo phù hợp. Thông thƣờng với cảnh báo thiên nhiên sẽ có các cấp độ khác nhau từ bình thƣờng cho đến khẩn cấp nguy hiểm. Vì vậy ta cần phải thiết đặt nhiều mức cảnh báo

VD: Các cấp báo động mức nƣớc lũ sông Việt Nam

Báo động Cấp I Có khả năng xảy ra lũ - Nƣớc sông dâng cao; đe doạ phần bờ cao; gây ngập ở các vùng đất rất thấp

Báo động Cấp II Tình trạng lũ nguy hiểm - Lũ gây ngập tại những vùng bằng phẳng; trừ những thị trấn và thành phố đƣợc bảo vệ trƣớc sự tấn công của nƣớc lũ; dòng chảy trong sông với vận tốc lớn gây nguy hiểm cho bờ sông và làm xói lở đê; chân cầu có nguy cơ bị nguy hiểm do bị xói lở

Báo động Cấp III Tình trạng lũ rất nguy hiểm - Tất cả các vùng đất thấp đều bị ngập; kể cả những vùng đất thấp nằm trong thành phố; sự an toàn của các đê bảo vệ ven sông đang bị đe doạ; bắt đầu có sự thiệt hại về cơ sở hạ tầng

Báo động trên Cấp III Trình trạng lũ khẩn cấp - Lũ không thể kiểm soát đƣợc trên diện rộng; đê bị vỡ là điều khó tránh khỏi và có thể không kiểm soát đƣợc; thiệt hại về cơ sở hạ tầng là nghiêm trọng

(theo Văn phòng thƣờng trực Ban chỉ đạo Phòng chống lụt bão Trung ƣơng)

Nhƣ vậy, chúng ta phải thiết lập các mức cảnh báo để có thể mang lại thông tin hiệu quả nhất. Vì điều kiện thí nghiệm còn hạn chế, nên ở đây việc thiết đặt thông số cảnh báo chỉ mang tính chất biểu trƣng.

Phát tín hiu cnh báo:

Tín hiệu cảnh báo ở đây có thể là: gửi cảnh báo trên mạng Internet, phát tin nhắn đến điện thoại tổng đài, âm thanh cảnh báo, phát đèn cảnh báo. Trong khuôn khổ đề tài này sử dụng cảnh báo bằng âm thanh. Mỗi khi sensor truyền về tín hiệu môi trƣờng vƣợt quá mức ngƣỡng cho phép, chƣơng trình sẽ tự động phát ra âm thanh cảnh báo. Để thực hiện điều này ta cần thêm form cảnh báo.

Một phần của tài liệu Lưu và cập nhật động dữ liệu lên website cho mạng cảm biến không dây (Trang 50)