Một lượng lớn thông tin hữu ích đối với chúng ta tồn tại ở dạng văn bản, và giá trị của dữ liệu chính là tài sản quan trọng. Tuy nhiên, khả năng quản lý một lượng lớn thông tin, nhanh chóng truy cập đến những thông tin cần thiết còn quan trọng hơn nữa. Hiện nay đang có rất nhiều loại của hệ quản trị cơ sở dữ liệu, sau đây ta sẽ xem xét một số loại tiêu biểu:
SQL Server
SQL Server là một hệ thống quản trị cơ sở dữ liệu quan hệ (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp "ăn ý" với các server khác như Microsoft InternetInformation Server (IIS), E-Commerce Server, Proxy Server....
Microsoft Office Access, thường được gọi tắt là MS Access hoặc đơn giản
là Access, là một phần mềm quản lýữ
và được sử dụng rộng rãi trong các máy tính cài Microsoft cung cấp các công cụ tạo lập, lưu trữ , cập nhật và khai thác các dữ liệu giúp giải các bài toán quản lý
MySQL
MySQL là một trong những hệ thống quản lý cơ sở dữ liệu(CSDL) mã nguồn mở quan hệ SQL sử dụng trên web phổ biến nhất hiện nay.
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,…
Các ưu điểm của mySQL có thể liệt kê như sau: • Nhỏ, gọn, dễ sử dụng.
• Phù hợp với nhiều loại ứng dụng, từ nhỏ cho đến lớn. • Miễn phí.
• Hỗ trợ đầy đủ các câu lệnh SQL chuẩn.
Sau khi tìm hiểu các đặc điểm của các hệ thống quản lý cơ sở dư liệuđã nêu ở trên cũng như đề tài luận văn với các yêu cầu cần có, tôi quyết định sử dụng cơ sở dữ liệu mySQL để phục vụ cho luận văn này bởi những ưu điểm của nó phù hợp, dễ dàng sử dụng cho đề bài của luận văn.
2.2 Giới thiệu MySQL SQL là một chuẩn SQL là một chuẩn
SQL là một chuẩn của ANSI (American National Standards Institute - Viện tiêu chuẩn quốc gia Hoa kỳ) về truy xuất các hệ thống CSDL. Các câu lệnh SQL được sử
dụng để truy xuất và cập nhật dữ liệu trong một CSDL. SQL hoạt động với hầu hết các chương trình CSDL như MS Access, DB2, Informix, MS SQL, Server, Oracle, Sybase v.v…
Lưu ý: Hầu hết cá c chương trình CSDL hỗ trợ SQL đều có phần mở rộng cho SQL chỉ hoạt động với chính chương trình đó.
Bảng CSDL
Một CSDL thường bao gồm một hoặc nhiều bảng (table). Mỗi bảng được xác định thông qua một tên (ví dụ Customers hoặc Orders). Bảng chứa các mẩu tin - dòng (record-row), là dữ liệu của bảng. Câu truy vấn SQL. Với SQL ta có thể truy vấn CSDL và nhận lấy kết quả trả về thông qua các câu truy vấn.
Lưu ý: Một số hệ thống CSDL đòi hỏi câu lệnh SQL phải kết thúc bằng một dấu chấm phẩy (;). Chúng ta sẽ không dùng dấu chấm phẩy trong bài viết này.
SQL là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language)
SQL là cú pháp để thực thi các câu truy vấn. SQL cũng bao gồm cú pháp để cập nhật - sửa đổi, chèn thêm và xoá các mẩu tin.
Sau đây là danh sách các lệnh và truy vấn dạng DML của SQL: • SELECT - lấy dữ liệu từ một bảng CSDL.
• UPDATE - cập nhật/sửa đổi dữ liệu trong bảng. • DELETE - xoá dữ liệu trong bảng.
• INSERT INTO - thêm dữ liệu mới vào bảng.
SQL là ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language)
Phần DDL của SQL cho phép tạo ra hoặc xoá các bảng. Chúng ta cũng có thể định nghĩa các khóa (key), chỉ mục (index), chỉ định các liên kết giữa các bảng và thiết lập các quan hệ ràng buộc giữa các bảng trong CSDL.
• CREATE TABLE - tạo ra một bảng mới. • ALTER TABLE - thay đổi cấu trúc của bảng. • DROP TABLE - xoá một bảng.
• CREATE INDEX - tạo chỉ mục (khoá để tìm kiếm - search key).
• DROP INDEX - xoá chỉ mục đã được tạo. Xây dựng cơ sở dữ liệu cho trạm khí tượng
Theo đề bài của luận án, ta sẽ cần lập một bảng dữ liệu với 8 trường để lưu trữ dữ liệu của môi trường như sau:
• value_id: số thứ tự các sự kiện trong bảng dữ liệu, kiểu file interger, cho phép giá trị tăng dần (tự động)
• receive_date: ngày giờ xảy ra sự kiện, kiểu file VARCHAR định dạng TEXT có chiều dài tới 50 kí tự
• temperature: nhiệt độ môi trường, kiểu file VARCHAR định dạng TEXT có chiều dài tới 50 kí tự
• humidity: độ ẩm môi trường, kiểu file VARCHAR định dạng TEXT có chiều dài tới 50 kí tự
• pressure: áp suất môi trường, kiểu file VARCHAR định dạng TEXT có chiều dài tới 50 kí tự
• windSpeed: tốc độ gió môi trường, kiểu file VARCHAR định dạng TEXT có chiều dài tới 50 kí tự
Ngôn ngữ C# là một ngôn ngữ thông dụng với nhiều tính năng hiệu quả để sử dụng trong các ứng dụng. Bằng ngôn ngữ lập trình này, một giao diện sử dụng cho trạm khí tượng tự động trên máy tính sẽ được xây dựng với giao diện khá trực quan, thuận lợi cho người sử dụng. Do điều kiện luận văn không cho phép như đã trình bày ở trên, nên trong phạm vi luận văn này không có đầu đo cảm biển đa năng WXT510, vì vậy tôi đồng thời xây dựng một cảm biến ảo có các chức năng tương tự như cảm biến thực
WXT510 thực cũng bằng ngôn ngữ C#, qua đó truyền các tín hiệu giả lập về cho trạm khí tượng phục vụ cho việc đánh giá thử nghiệm hệ thống.
3. Thiết kế phần mềm Trạm khí tượng:
Theo như mô tả thiết kế ở chương 3, phần mềm “Trạm khí tượng”được thiết kế để người sử dụng có thể theo dõi, quan sát các thông số đo đạc từ cảm biến gửi về máy tính, cũng như có thể tra cứu các số liệu đo đạc trước đó, để có thể dễ dàng cho việc thống kê, kiểm tra cũng như dự báo.
Giao diện hoạt động của phần mềm trạm khí tượng sau khi hoàn chỉnh được thiết kế bao gồm các tab, các nút nhấn…để người dùng sử dụng một cách trực quan dễ dàng.
3.1 Đặt cấu hình:
Máy tính và cảm biến được kết nối với nhau qua cổng RS232 nên cần có một sự thống nhất về cấu hình cho cả máy tính và cảm biến. Muốn vậy thì đặt cấu hình là một phần quan trọng. Trong tính năng đặt cấu hình thì theo các chế độ giao tiếp của cảm biến, các thông số cần chọn là: địa chỉ thiết bị, giao thức truyền thông (ASCII tự động, ASCII tự động với mã kiểm tra CRC, ASCII tuần tự, ASCII tuần tự với CRC, NMEA 0183 tự động, NMEA 0183 tuần tự, SDI-12 v1.3-chế độ low-power để đo và gửi dữ liệu ra khi có yêu cầu, SDI-12 v1.3 đo liên tục), thông số kiểm tra, lựa chọn kết nối(SDI-12, RS-232, RS-485, RS-422), tốc độ truyền, số bit truyền, số bit kiểm tra và số bit dừng. Các thông số này sẽ được ghép lại thành một bản tin chung và sẽ là lệnh để đặt cấu hình cho máy tính theo yêu cầu truyền thông nối tiếp.
Một bản tin như vậy có dạng:
aXU,A=a,M=[M],T=[T],C=[C],B=[B],D=[D],P=[P],S=[S],L=[L],N=[N],V=[V]<cr><lf> với a là địa chỉ thiết bị, XU là câu lệnh đặt,A là địa chỉ: 0 (mặc định) …9, A…Z, a…z, M là giao thức truyền thông, T là thông số để kiểm tra, C là lựa chọn kết nối, B là tốc độ truyền (baud): 1200, 2400, …115200, ta chọn ở đây tốc độ truyền baud là 9600, D là số bit dữ liệu truyền: 7/8, P là bit kiểm tra, S là số bit dừng, L là thời gian trễ trên đường truyền RS-232, N là tên thiết bị (WXT510), V là phiên bản phần mềm.
Phần cài đặt cấu hình sẽ được thao tác trên giao diện tab chức năng tên là “ Đặt cấu hình”, trong đó, người sử dụng sẽ phải đặt cấu hình để kết nối cảm biến và đặt cấu hình để kết nối cơ sở dữ liệu, ta có thể xem trong giao diện dưới đây:
Hình 17 Giao diện chức năng “ Đặt cấu hình” 3.2 Lựa chọn chế độ đo:
Đây là tính năng cho phép người dùng lựa chọn đo tự động tất cả các thông số hay đo một số thống nhất định.
Cũng theo yêu cầu về giao thức truyền thông, muốn điều khiển cho cảm biến đo theo yêu cầu thì cũng phải tạo ra một bản tin để gửi đến cổng truyền thông. Với lựa chọn đo tự động tất cả các thông số thì bản tin sẽ là aR0<cr><lf> với a là địa chỉ thiết bị, R0 là câu lệnh yêu cầu thông tin về tất cả các thông số đo. Với lựa chọn đo theo yêu cầu, bản tin có dạng
aR1,Dm=[Dm],Sm=[Sm],aR2,Ta=[Ta],Ua=[Ua],Pa=[Pa],aR3,Ri=[Ri]<cr><lf>
với a là địa chỉ thiết bị, R1 là yêu cầu thông tin đo gió, R2 là yêu cầu thông tin nhiệt độ, áp suất, độ ẩm, R3 là yêu cầu thông tin lượng mưa, Dm là hướng gió, Sm là tốc độ gió, Ta là nhiệt độ, Ua là độ ẩm, Pa là áp suất, Ri là lượng mưa.
Nếu thông số nào được yêu cầu thì giá trị của nó bằng 1, còn bình thường không được đo thì giá trị của nó mặc định là 0. Ví dụ nếu ta chỉ chọn đo tốc độ gió và lượng mưa thì bản tin có dạng: aR1,Dm=0,Sm=1,aR2,Ta=0,Ua=0,Pa=0,aR3,Ri=1<cr><lf>
Phần lựa chọn chế độ đo sẽ được thao tác trên giao diện có tab tên là “ Lựa chọn chế độ đo”, trong đó, người sử dụng sẽ có thể lựa chọn các chế độ đo khác nhau ( hoặc tự động đo tất cả các thông số hoặc đo các thông số cụ thể) tùy thuộc nhu cầu sử dụng.
Hình 18 Giao diện chức năng “ Lựa chọn chế độ đo” 3.3 Giám sát số liệu:
Ta có lưu đồ thuật toán từ khi bắt đầu cho đến khi kết thúc một quá trình nhận, giải mã, hiển thị và cập nhật vào cơ sở dữ liệu một bản tin thông số thời tiết như sau:
Hình 19 Lưu đồ thuật toán
Máy tính sẽ nhận các bản tin cấu hình và chế độ đo nhờ ta đặt một biến toàn cục dạng xâu kí tự chứa bản tin. Khi gọi chương trình này thì nó tự động lấy bản tin đặt cấu hình, thực hiện thủ tục mở cổng RS232 và giải mã bản tin để đặt cấu hình cho máy tính. Khi đã thực hiện mở cổng thì bản tin về chế độ đo sẽ được đưa lên RS232 và truyền cho cảm biến. Sau khi truyền yêu cầu đến cảm biến thì đồng thời nhận số liệu về từ cổng và giải mã bản tin từ cổng để hiển thị số liệu và ghi vào cơ sở dữ liệu trong cơ sở dữ liệu của mySQL.
Chức năng giám sát số liệu được hiển thị trên giao diệnnhư hình dưới, trong đó thể hiện tất cả các thông số môi trường mà người sử dụng cần giám sát, theo dõi:
Hình 20 Giao diện chức năng “ Giám sát số liệu”
3.4 Tra cứu thống kê:
Tính năng này cho phép chúng ta xem dữ liệu từ thời gian nào đến thời gian nào của tất cả các thông số, ta có thể dễ dàng theo dõi sự thay đổi theo thời gian của các thông số, cũng như truy xuất được thời gian đã đo các thông số để có thể theo dõi.
Hình 21 Giao diện chứcnăng “ Tra cứu thống kê”
4 Phần mềm “Cảm biến ảo”
Theo như mô tả ở chương 3, “Cảm biến” này lấy bản tin mang thông tin về lựa chọn chế độ đo từ máy tính qua cổng truyền tin nối tiếp, giải mã bản tin và tiến hành giả số liệu đo. Sau khi thu thập được một tập số liệu đo, chương trình sẽ tạo ra một bản tin mang đầy đủ số liệu đã thu thập theo yêu cầu máy tính và gửi trả về cho cổng RS 232. Việc đặt cấu hình cho “Cảm biến” được thực hiện bằng tay ngay trên mặt máy. Bản tin trả về có dạng:
aR0,Dm=[Dm],Sm=[Sm],Ta=[Ta],Ua=[Ua],Pa=[Pa],Ri=[Ri]<cr><lf>
là gộp các số liệu yêu cầu. Nếu một thông số nào không được yêu cầu đo thì giá trị của nó trong bản tin sẽ là 0.
Hình 22 Phần mềm cảm biến ảo WXT510
Sau khi đã kết nối thành công cảm biến ảo WXT510 với máy tính, lúc này cảm biến đã sẵn sàng gửi các tín hiệu giả định ngẫu nhiên về máy tính , việc lấy ngẫu nhiên này được thông qua hàm GetRandomNumber(x,y) trong C#
5.1 Ghép nối:
Để ghép nối truyền nhận dữ liệu giữa cảm biến ảo WXT510 với máy tính, tôi sử dụng:
• 02 Cáp USB sang COM RS232
• 01 cáp cổng COM RS232 với 2 đầu âm
Hình 23 Hai cáp chuyển đổi USB-RS232 và cáp RS232 với 2 đầu âm
Nối từng đầu đực cổng RS232 của cáp chuyển đổi RS232-USB với các đầu cái của sợi dây 2 đầu âm RS232. Để có thể truyền nhận dữ liệu, cần đổi chéo 2 đầu chân 2 và chân 3 , ta cắt đôi dây COM âm 2 đầu và nối chéo 2 chân 2 và 3 với nhau, chân mát ( chân 5) hai đầu dây nối với nhau.
Các đầu USB còn lại sẽ nối với máy tính để truyền nhận dữ liệu trên cùng một máy tính từ cảm biến ảo WXT510 được giả lập trên máy tính.
5.2 Chạy thử nghiệm
Chạy chương trình của trạm khí tượng tự động, cảm biến ảo WXT510, sau đó cài đặt cấu hình và kết nối cơ sở dữ liệu mySQL với máy tính, cảm biến ảo với máy tính
Hình 26 Cảm biến ảo WXT510 sau khi đã kết nối
Sau khi đã chọn các chế độ đo theo yêu cầu của người sử dụng, ta có thể xem các giá trị đo đạc về máy tính thông qua một chức năng khác trong phần mềm trạm khí tượng tự động tại tab Giám sát số liệu.
Trong trường hợp ta chọn chế độ tự động, và khi đó tất cả các giá trị sẽ tự động được gửi về (nhiệt độ, độ ẩm, hướng gió, tốc độ gió, áp suất, lượng mưa)
Hình 27 Kết quả đo đạc khi sử dụng tab chế độ đo tự động
Nếu chọn chế độ đo theo yêu cầu thì chỉ các giá trị được chọn trong phần lựa chọn đại lượng đo, mới được gửi về , các giá trị còn lại được cho về giá trị 0 (không đo). Hình dưới đây ta chọn chế độ đo theo yêu cầu và chỉ yêu cầu đo hai thông số là nhiệt độ và hướng gió
Kết quả ta sẽ nhận được chỉ có hai thông số nhiệt độ và hướng gió là vẫn tiếp tục nhận giá trị về từ cảm biến, còn lại các thông số khác sẽ trở về giá trị 0.
Hình 28 Kết quả đo đạc khi sử dụng tab chế độ đo từng phần
Khi vận hành, nếu người sử dụng cần tra cứu lại các số liệu đo đạc trước đó, có thể sử dụng tab chức năng Tra cứu thống kê. Ví dụ ở đây chọn tra cứu thông tin từ ngày 01/03/2015 đến ngày 23/01/2015 , ta nhập số liệu vào các thông tin “ từ ngày” , “ đến ngày” như mong muốn, sau đó bấm nút lựa chọn ta được kết quả như sau:
5.3 Đánh giá thử nghiệm
• Phần mềm trạm khí tượng đã hoạt động tốt và có thể chạy theo yêu cầu của người sử dụng. Các thông số cần hiển thị theo yêu cầu đề bài (Nhiệt độ, Độ ẩm, Lượng mưa, Tốc độ gió, Hướng gió, Áp suất ) đều hiển thị tốt, liên tục