Cấu trúc phần mềm của hệ thống

Một phần của tài liệu Nghiên cứu và thiết kế Mạng cảm biến không dây phục vụ cảnh báo trượt lở đất (Trang 44)

Các mạng không dây không đồng nhất như mạng cảm biến không dây, mạng Wifi, mạng vệ tinh và mạng lưới băng thông rộng được ứng dụng trong các hệ thống phát hiện và cảnh báo sớm trượt lở đất. Các kỹ thuật thu thập dữ liệu, xử lý và truyền dẫn trong mỗi mạng là khác nhau và mỗi kỹ thuật trong số đó đòi hỏi những yêu cầu khác nhau để thu được thông tin liên lạc liên tục với độ trễ thời gian tối thiểu. Cấu trúc phần mềm được xây dựng có khả năng đạt được tất cả các yêu cầu trên. Giao diện phần mềm và các khối môđun cho các yêu cầu xử lý khác nhau cho mạng không dây không đồng nhất đã được thiết kế, thực hiện và thử nghiệm trong điều kiện phòng thí nghiệm và dự định được triển khai sớm ở những vị trí có khả năng xảy ra trượt đất.

Các môđun phần mềm của hệ thống được triển khai cho mạng cảm biến không dây bao gồm 3 khối chính [12]:

Khối thu thập dữ liệu: Khối này được phát triển để cung cấp khả năng thu thập dữ liệu từ cả hai loại cảm biến kỹ thuật số và cảm biến tương tự. Khối có chức năng thu thập dữ liệu từ các nút cảm biến đặt sâu dưới lòng đất. Dữ liệu kỹ thuật số đo được từ cảm biến gia tốc được thu lại nhờ các trình điều khiển số. Dữ liệu tương tự được thu lại từ các cảm biến đo độ ẩm đất và cảm biến nhiệt độ.

Khối xử lý dữ liệu: Với các ứng dụng giám sát yêu cầu việc lên kế hoạch các sự kiện và quản lý bộ đệm của mỗi nút cảm biến để tránh mất mát dữ liệu và các sự kiện xảy ra. Khối xử lý dữ liệu là thành phần trung tâm có chức năng xử lý tất cả các dữ liệu đến và đi từ các cảm biến và thu phát các dữ liệu tương ứng trong mạng cảm biến không dây. Khối lập lịch thực hiện 3 chức năng cơ bản sau:

o Lấy mẫu cho cảm biến: khối này được thiết kế để cung cấp một giao tiếp hiệu quả giữa các cảm biến và nút cảm biến không dây gắn liền với nó. Khối có khả năng lấy mẫu và thu thập dữ liệu đo được từ các cảm biến cho người dùng có thể xác định được tỷ lệ lấy mẫu. Sau đó dữ liệu được gửi tới khối quản lý bộ đệm.

o Giám sát trạng thái của mạng và nút cảm biến không dây: khối này được thiết kế và thực hiện việc giám sát tình trạng của mạng và các nút cảm biến trong mạng. Các thông số tình trạng của nút cảm biến cho biết tình trạng năng lượng trong nút cảm biến, năng lượng của pin và một vài thông số cần thiết khác. Chức năng giám sát tình trạng của mạng được sử dụng để xác định các nút cảm biến không còn hoạt động trong mạng bằng cách định kỳ cập nhật địa chỉ mỗi nút mạng. Địa chỉ của các nút mạng sẽ được dùng cho việc định tuyến hiệu quả đường truyền dữ liệu tới các cổng gateway.

o Tiết kiệm năng lượng: khối này được thiết kế để cung cấp một cơ chế tiết kiệm năng lượng cho các nút cảm biến không dây. Khối này thực hiện bằng cách tích hợp các nút cảm biến không dây chuyển trạng thái, như chuyển từ trạng thái “ngủ” sang trạng thái hoạt động khi cần thiết.

Phần mềm máy tính: khối này được thiết kế để thu thập dữ liệu từ các nút cảm biến không dây, sử dụng các thuật toán để phân tích và xử lý, sau đó đưa ra cảnh báo trượt đất nếu cần thiết.

3.4.1. Môi trƣờng phát triển tích hợp cho bo mạch chủ Waspmote

Để lập trình cho bo mạch chủ Waspmote có chứa vi điều khiển atmega328 cần có trình biên dịch môi trường phát triển tích hợp (Integrated Development Environment - IDE) của chính hãng Waspmote cung cấp. Trước hết cần tải trình biên dịch từ địa chỉ http://www.libelium.com/development/waspmote/sdk_applications/

Sau khi tải về hoàn thành, giải nén file tải về vào thư mục được lựa chọn. Thư mục này bao gồm các trình điều khiển cần thiết để hỗ trợ cho cài đặt giao tiếp với USB và bộ chuyển đổi Future Technology Devices International (FTDI). Khi kết nối máy tính với bo mạch chủ Waspmote thông qua đầu nối mini-USB và trình điều khiển hỗ trợ giao tiếp. Giao diện trình biên dịch IDE cho bo mạch chủ Waspmote được minh họa như hình 3.15.

Hình 3. 15: Giao diện trình biên dịch IDE cho bo mạch chủ Waspmote

Phần đầu tiên trên giao diện trình biên dịch là trình đơn cho phép cấu hình các thông số chung như các cổng nối tiếp được lựa chọn.

Phần thứ hai là thẻ bao gồm các nút nhấn cho phép xác nhận, mở, sao lưu hoặc tải mã được lựa chọn lên bo mạch chủ.

Phần thứ ba chứa mã chính sẽ được nạp vào bo mạch chủ Waspmote.

Phần thứ tư chỉ ra những lỗi trong khi tải mã và biên dịch có thể xảy ra, hay các thông báo thành công nếu quá trình này là thực hiện phù hợp.

3.4.2. Phần mềm cấu hình môđun truyền dữ liệu không dây XBee

Khi sử dụng môđun truyền dữ liệu không dây XBee, bạn có thể cần phải cập nhật hoặc thay đổi firmware trên môđun. Nếu muốn chuyển đổi một môđun ZigBee từ router sang thành một bộ điều phối mạng coordinator hoặc chuyển đổi giữa các chế độ API và AT, cần phải tải lên các phần mềm phù hợp với các môđun XBee. Phần mềm X-CTU có thể hỗ trợ tối đa mục tiêu này.

Phần mềm X-CTU là một ứng dụng dựa trên nền hệ điều hành Windows được cung cấp bởi hãng Digi. Chương trình này được thiết kế để tương tác với các tập tin phần mềm được tìm thấy trên các sản phẩm Digi truyền phát tần số vô tuyến và để cung cấp một giao diện đồ họa đơn giản cho người sử dụng. Phần mềm X-CTU giúp cho giao tiếp với XBee dễ dàng nhờ có giao diện đơn giản để thay đổi tất cả các thiết lập của môđun.

Hình 3. 16: Giao diện phần mềm X-CTU

3.4.3. Phần mềm thu thập, phân tích và xử lý dữ liệu từ nút cảm biến

Để thu thập, phân tích và xử lý dữ liệu từ các nút cảm biến, đồng thời có khả năng giao tiếp với các thiết bị ngoại vi, cần phải xây dựng một giao diện đồ họa phù hợp. Trên cơ sở phần mềm Visual Basic 6.0, đã xây dựng được phần mềm giao diện đồ họa cho việc thu thập, phân tích và xử lý các dữ liệu đo được từ các nút mạng cảm biến. Phần mềm đã được thiết kế hoàn thiện như hình 3.17 dưới đây:

Hình 3. 17: Giao diện phần mềm thu thập, phân tích và xử lý dữ liệu từ các nút cảm biến

3.5 Kết luận chƣơng

Trượt lở đất là một trong những tai biến đặc biệt nghiêm trọng xảy ra ở nhiều khu vực trên thế giới. Như vậy, việc xây dựng một hệ thống giám sát và cảnh báo sớm hiện tượng trượt lở đất là rất cần thiết. Hệ thống được xây dựng trên cơ sở mạng cảm biến không dây gồm các cảm biến nhiệt độ, cảm biến đo độ ẩm đất và cảm biến gia tốc với chi phí thấp, công suất nhỏ, khả năng tự cấu hình và dễ dàng trong việc bảo trì. Mô hình mạng cảm biến không dây bao gồm các cột cảm biến có khả năng thu nhận dữ liệu, lưu trữ, xử lý và truyền dữ liệu đi xa. Mạng cảm biến không dây cung cấp phương pháp thu thập dữ liệu về áp lực nước trong các lỗ rỗng của đất, độ ẩm của đất, các chuyển động trong lòng đất và nhiệt độ của môi trường.

Hệ thống được xây dựng trên cơ sở bo mạch chủ Waspmote của hãng Libelium, một bo mạch giao tiếp mở rộng với các cảm biến, pin cấp nguồn có khả năng nạp điện lại với dung lượng 6600mAh, môđun truyền dữ liệu không dây XBee, cảm biến nhiệt độ, cảm biến đo độ ẩm đất và cảm biến gia tốc. Các môđun phần mềm của hệ thống được triển khai cho mạng cảm biến không dây bao gồm 3 khối chính: Khối thu thập dữ liệu, khối xử lý dữ liệu và phần mềm máy tính. Ngoài ra còn có một số phần mềm được cung cấp bởi hãng Waspmote như Waspmote IDE và X-CTU để hỗ trợ lập trình cho bo mạch chủ Waspmote và cấu hình chế độ hoạt động cho môđun truyền dữ liệu không dây Xbee. Bo mạch chủ Waspmote có chứa vi điều khiển atmega328 cần có trình biên dịch môi trường phát triển tích hợp (Integrated Development Environment - IDE) của chính hãng Waspmote cung cấp. Môi trường phát triển tích hợp hỗ trợ việc

viết mã, biên dịch mã và tải mã lên bo mạch chủ Waspmote. Phần mềm X-CTU là một ứng dụng dựa trên nền hệ điều hành Windows được cung cấp bởi hãng Digi, để cấu hình chế độ hoạt động cho môđun truyền dữ liệu không dây Xbee. Để thu thập, phân tích và xử lý dữ liệu từ các nút cảm biến, đồng thời có khả năng giao tiếp với các thiết bị ngoại vi, cần phải xây dựng một giao diện đồ họa phù hợp. Trên cơ sở phần mềm Visual Basic 6.0, đã xây dựng được phần mềm giao diện đồ họa cho việc thu thập, phân tích và xử lý các dữ liệu đo được từ các nút mạng cảm biến.

Chƣơng 4 MỘT SỐ KẾT QUẢ ĐẠT ĐƢỢC CỦA ĐỀ TÀI 4.1. Kết quả

Hệ thống mạng cảm biến không dây đã được thiết kế hoàn thiện cả phần cứng và phần mềm. Phần cứng của hệ thống là các nút cảm biến bao gồm bo mạch chủ Waspmote, bo mạch giao tiếp mở rộng với các cảm biến, pin cấp nguồn có khả năng nạp điện lại với dung lượng 6600mAh, môđun truyền dữ liệu không dây XBee, cảm biến nhiệt độ, cảm biến đo độ ẩm đất và cảm biến gia tốc. Phần cứng của mỗi nút cảm biến được mô tả như hình 4.1 và hình 4.2 dưới đây.

Hình 4. 1: Bên trong của một nút cảm biến

Mạng cảm biến không dây được thiết kế bao gồm một 1 gateway để thu nhận dữ liệu từ các nút cảm biến gửi về và 3 nút cảm biến bao gồm đầy đủ các thành phần như nút cảm biến bên trên.

Hình 4. 3: Mạng cảm biến không dây được thiết kế hoàn thiện

Phần mềm thu thập, phân tích và xử lý dữ liệu đo được từ các cảm biến trong nút mạng đã được thiết kế dựa trên phần mềm Visual Basic 6.0. Giao diện của phần mềm được minh họa như hình 4.4.

Hình 4. 5: Máy tính có cài phần mềm thu thập dữ liệu của mạng cảm biến và kết nối gateway qua cổng USB

4.1.1. Khung dữ liệu

Để truyền tải dữ liệu một cách hiệu quả, yêu cầu cấu trúc của khung dữ liệu phải thiết kế một cách cẩn thận. Trong khung dữ liệu được nhận về từ các nút cảm biến có chứa một trường địa chỉ xác định cho mỗi nút riêng biệt, thường gọi là ID address và có 9 con số. Một trường xác định chỉ số của khung dữ liệu truyền về để kiểm tra số lượng gói truyền và tỷ lệ mất gói. Cuối cùng là các trường dữ liệu của các cảm biến tương ứng.

# Node ID

# WASPMOTE _XBEE

# Frame index # Data no. 1 # Data no. 2 # Data no. 3 # …… * Ở đây:

Node ID: là địa chỉ xác nhận ID của nút cảm biến, node ID có 9 con số.

Frame index: Chỉ số khung, sẽ tăng lên 1 đơn vị sau mỗi lần khung truyền hoàn thành.

Data no.i: với i là dữ liệu của cảm biến thứ i, trường dữ liệu được chia làm 2 phần gồm tên của cảm biến và giá trị đo được của cảm biến.

BAT: chỉ số mức năng lượng của pin cấp nguồn. Ví dụ một khung dữ liệu nhận về:

#382553448#WASPMOTE_XBEE#7#TCA:31#HUMI1:0#HUMI2:0#BAT:68#AC C:-1;-2;90#ACC1:715;477;382#.

 Địa chỉ ID của nút cảm biến: 382553448;

WASPMOTE_XBEE: Bo mạch Waspmote, môđun XBee

 Chỉ số khung: 7

 Nhiệt độ TCA: 31

 Dữ liệu cảm biến đo độ ẩm đất: #HUMI1:0#HUMI2#

 Chỉ số pin: 68

 Giá trị cảm biến gia tốc theo 3 trục X, Y, Z

4.1.2. Dữ liệu cảm biến gia tốc

Dữ liệu đo được từ cảm biến gia tốc theo 3 trục X, Y, Z được phần mềm thu thập, xử lý và lưu trữ lại. Để thử nghiệm dữ liệu đo của cảm biến có đáng tin cậy hay không, có thể thực hiện bằng cách đặt cảm biến trên một đĩa quay tròn một góc 3600, dữ liệu cảm biến gia tốc thu được tạo thành một tín hiệu dạng sin như ở hình 4.6. Có thể thấy rằng các dữ liệu thu được là đáng tin cậy.

Hình 4. 6: Dữ liệu thu được từ cảm biến gia tốc theo trục X và trục Y

4.1.3. Dữ liệu cảm biến nhiệt độ

Cảm biến nhiệt độ được kiểm định với một nhiệt kế đặt trong phòng thí nghiệm. Hình 4.7 cho thấy các dữ liệu đo được ở nhiệt độ phòng 26oC. Cảm biến đã cho dữ liệu với độ chính xác cao khi được so sánh với nhiệt kế đo nhiệt độ chuẩn tham chiếu.

Hình 4. 7: Dữ liệu thu được từ cảm biến nhiệt độ LM35

4.1.4. Dữ liệu cảm biến đo độ ẩm đất

Cảm biến độ ẩm đất cho dữ liệu được kiểm định với một máy đo độ ẩm và độ pH của đất Takemura DM-15 tiêu chuẩn. Hình 4.8 cho thấy giá trị nhận được từ các cảm biến đã được kiểm nghiệm trong môi trường đất ẩm ướt. Cảm biến này cũng đã được chứng minh cho dữ liệu có độ chính xác cao.

Hình 4. 8: Dữ liệu thu được từ cảm biến đo độ ẩm đất

Trường hợp thứ nhất: Kết quả đo của cảm biến độ ẩm đất cho biết độ ẩm hiện tại là 8 centibar, tương ứng với tình trạng đất đã bão hòa.

Hình 4. 9: Dữ liệu thu được từ cảm biến đo độ ẩm đất trường hợp 2

Trường hợp thứ hai: Cảm biến độ ẩm đất cho kết quả là 41 độ centibar, trường hợp này cho biết tình trạng đất đang có độ ẩm ở mức bình thường.

Hình 4. 10: Máy đo độ ẩm và độ pH của đất Takemura DM-15 tiêu chuẩn

Độ chia centibars ở đây là một thang đo xác định độ ẩm của đất:

 0-10 Centibars: Đất bão hòa

 10-30 Centibars: Tình trạng đất đủ độ ẩm (trừ cát thô, bắt đầu mất nước)

 30-60 Centibars: Độ ẩm đất ở mức bình thường cho thủy lợi (hầu hết các loại đất)

 60-100 Centibars: Giới hạn độ ẩm của đất cần phải tưới tiêu cho đất

 100-200 Centibars: Tình trạng đất đáng báo động, quá khô cằn, không tốt cho sản xuất nông nghiệp.

4.2. Tỷ lệ chuyển giao gói dữ liệu

Bằng thực nghiệm, khi cho hệ thống hoạt động ở những trường hợp với khoảng cách từ hệ thống tới gateway khác nhau, ta có thể xác định được tỷ lệ chuyển giao gói dữ liệu.

Trường hợp thứ nhất, đặt 1 nút cảm biến ở khoảng cách 5m so với gateway, số liệu thu được như bảng 4.1.

Bảng 4. 1: Số lượng gói dữ liệu thu được khi đặt 1 nút cảm biến cách xa 5m so với gateway

Số lần đo Số gói gửi Số gói thu Tỷ lệ chuyển giao gói dữ liệu

1 102 100 98%

2 200 196 98%

3 350 338 97%

Như vậy khi đặt 1 nút cảm biến cách xa gateway với khoảng cách 5m thì tỷ lệ chuyển giao gói dữ liệu thành công là 98%.

Trường hợp thứ 2, đặt 3 nút cảm biến ở những khoảng cách khác nhau so với gateway trong điều kiện không có vật cản. Khoảng cách từ nút cảm biến số 1, cảm biến số 2 và cảm biến số 3 đến cổng gateway tương ứng là 2,5m, 3m và 4.5m.

Hình 4. 11: Sơ đồ bố trí 3 nút cảm biến với khoảng cách khác nhau tới gateway

Sau khi thu thập dữ liệu từ các cảm biến và truyền về gateway, số liệu thống kê số lượng gói dữ liệu truyền và nhận được ở gateway thu được như trong bảng 4.2.

Bảng 4. 2: Số lượng gói dữ liệu thu được khi đặt các nút cảm biến cách xa gateway tương ứng với khoảng cách 2,5m, 3m và 4,5m.

Một phần của tài liệu Nghiên cứu và thiết kế Mạng cảm biến không dây phục vụ cảnh báo trượt lở đất (Trang 44)