Hệ thống cảnh báo thiên tai sử dụng mạng cảm nhận không dây WSN là mạng mà trong đó các nút mạng có khả năng thực hiện chức năng mạng và chức năng cảm nhận. Nó là trường hợp riêng của mạng không dây Ad hoc vì ngoài chức năng mạng nó còn có chức năng cảm nhận môi trường. Mỗi nút mạng có chức năng như máy tính di động trong đó sử dụng hệ vi xử lý có kích thước rất nhỏ, (nhỏ đến mức người ta có thể chế tạo võng mạc nhân tạo bằng nhiều nút mạng cảm nhận). Mô hình cảnh báo cháy rừng được trang bị các nút mạng cảm nhận thông tin nhiệt độ từ môi trường, chuyển thông tin đó thành tín hiệu số rồi truyền về nút cơ sở - nút này được nối với máy tính phục vụ có thể tự động cập nhật lên Website sau mỗi chu kỳ thời gian hoặc được truyền về trung tâm xử lý thông qua internet hay vệ tinh.
Hình 3-2 Hệ thống cảnh báo hiện có
Cấu trúc hệ thống cảnh báo gồm: bốn nút mạng và một trạm cơ sở, các nút truyền tới trạm cơ sở là truyền đơn bước, chúng thu thông tin nhiệt độ phát về nút cơ sở, nút cơ sở truyền về trung tâm xử lí, tại đó đặt ngưỡng về nhiệt độ (85 độ)để so sánh với thông tin thu về. Nếu thông tin thu về của các nút vượt quá ngưỡng thì cảnh báo cho vị trí của nút đó.
3.2.1. Mô tả hoạt động của hệ thống cảnh báo thiên tai
Hệ thống cảnh báo thiên tai hoạt động phụ thuộc vào các Sensors cảm nhận từ môi trường: như sensor cảm nhận nhiệt độ, cảm nhận ánh sáng, cảm nhận mức nước dâng lên, cảm nhận độ Hp, tốc độ gió vv.. Mỗi sensor chỉ cảm nhận được một thông số của môi trường. Thông tin cảm nhận được được chuyển thành tín hiệu số nhờ bộ ADC, trên mỗi nút mạng có gắn bộ thu phát tín hiệu.
Cấu trúc mạng cảm nhận không dây gồm nhiều nút mạng không dây liên kết với nhau thông qua bộ thu phát sóng vô tuyến để truyền tín hiệu mà nút mạng cảm nhận được từ môi trường truyền về trạm cơ sở mạng này kết nối với trung tâm xử lý.
Kiến trúc của một nút mạng cảm nhận không dây gần tương tự như kiến trúc của một máy tính thông thường, gồm các thành phần chính như: Bộ vi xử lý, bo mạch, bộ nhớ, bộ truyền thông, bộ cảm biến, và bộ khởi động.
Bộ vi xử lý (bộ xử lý dữ liệu: có nhiều loại): Xử lý dữ liệu thu thập từ môi
trường, xử lý tín hiệu truyền nhận giữa các nút mạng do cấu tạo của nút mạng rất nhỏ nên bộ vi xử lý phải đáp ứng được kiến trúc nhỏ, tiêu thu điện năng ít...(ví dụ như bộ xử lý CC1010 của hãng Chipcon).
Bo mạch: Bao gồm nguồn nuôi, các cổng giao tiếp và là nơi để tích hợp các thiết
bị như : bộ cảm biến, bộ lưu trữ dữ liệu, bộ truyền thông…
Bộ nhớ: Các nút mạng cảm nhận không dây có những thành phần lưu trữ rất
nhỏ. Chúng thường sử dụng bộ nhớ DRAM và Flash. Việc truyền thông chính là thành phần tiêu thụ năng lượng chính của mạng cảm nhận không dây. Vì vậy, nếu chúng ta mong muốn khả năng lưu trữ tại mỗi nút mạng sẽ tăng lên thì phải quản lý được năng lượng của mạng.
Bộ truyền thông: Gồm ăng ten (thu, phát sóng radio với bước sóng trong giải
không cần cấp phép của ISM).
Mô hình truyền thông thường được đề cập trong mạng cảm nhận không dây hiện thời là việc truyền thông đa bước theo kiến trúc bó. Các kết quả hiện thời chỉ ra rằng việc truyền thông đa bước theo kiến trúc bó sẽ tiết kiệm được năng lượng chỉ có nút gốc sẽ tiêu thu điện năng khá lớn vì chính việc lắng nghe yêu cầu năng lượng ngang bằng với việc truyền thông tin.
Bộ cảm biến: Bộ cảm biến là các secsors, dùng để thu nhận các thông số bên
ngoài môi trường. Có rất nhiều loại cảm biến như cảm biến quang, cơ, nhiệt....
Bộ khởi động: Nếu coi bộ cảm biến như là đôi mắt của mạng cảm nhận không
Hình 3-3 Cấu trúc mạng cảm nhận không dây
Cấu trúc mỗi nút mạng gồm có một bộ vi xử lý họ Intel 8051, bộ nhớ flash 32kb (2048 + 128 Byte SRAM), có 4 bộ định thời, có 2 cổng UART- RTC, có 3 kênh ADC 10 Bit, giao diện lập trình SPI, bộ mã hóa DES tích hợp bên trong, có 26 chân vào ra chung, cần rất ít thành phần bên ngoài, có bộ thu phát sóng vô tuyến 300 – 1000 MHz, có bộ cảm nhận thông tin môi trường độ nhạy cao, nguồn nuôi từ 2.7 – 3.6V, tiêu thụ dòng thấp (9.1 mA trong chế độ thu), công suất phát có thể lập trình được (lên đến +10 dBm), tốc độ thu phát dữ liệu lên đến 76.8 kbit/s. Khi chương trình được nạp vào bộ nhớ của nó, nó sẽ hoạt động theo chương trình nằm trong bộ nhớ, hoạt động của nó thu nhận thông tin môi trường tùy thuộc bộ cảm nhận nào thì thu thông tin về môi trường theo bộ cảm nhận đó, hoặc thu thông tin từ một nút mạng khác rồi truyền thông tin đó về trạm khác hoặc trạm cơ sở.
3.2.2. Ƣu điểm của hệ thống cảnh báo thiên tai
Hệ thống cảnh báo thiên tai sử dụng mạng cảm nhận không dây WSN có nhiều ưu điểm:
− Dễ triển khai lắp đặt ở các môi trường đặc biệt, vì không cần quan tâm tới việc lắp đặt nó tự tổ chức thành mạng truyền thông nhau.
− Độ bao phủ tương đối.
− Thời gian đáp ứng nhanh, chính xác.
− Tính bảo mật cao
− Tốc độ lấy mẫu hiệu quả.
3.2.3. Nhƣợc điểm của hệ thống cảnh báo thiên tai
− Thiếu năng lượng hoạt động cho các nút: Hệ thống sử dụng nguồn nuôi bằng PIN cho nên năng lượng sử dụng là hữu hạn. Mạng càng hoạt động nhiều mức độ tiêu hao năng lượng càng lớn. Khi mở rộng mạng, các nút mạng càng phải hoạt động nhiều hơn nữa, mạng sẽ tiêu tốn càng nhiều năng lượng. Do đó, thời gian hoạt động của các nút mạng sẽ giảm, dẫn đến thời gian hoạt động của toàn hệ thống giảm, như thế sẽ không đảm bảo hiệu quả cho hệ thống. Vậy, vấn đề đảm bảo năng lượng cho nút mạng và toàn mạng hoạt động lâu dài là vấn đề cần được quan tâm đối với các nhà thiết kế hệ thống.
− Khả năng xử lý và bộ nhớ nhỏ: Khả năng xử lý của bộ vi xử lý tuy đã đáp ứng được nhu cầu, tuy nhiên cũng chưa đủ mạnh nếu lượng thông tin xử lý lớn. Khả năng lưu trữ thông tin của các nút cũng vẫn chưa nhiều. Do vậy, dữ liệu từ các nút mạng chủ yếu được tập trung xử lý tại nút cơ sở. Việc này làm cho lưu lượng dữ liệu truyền trên mạng nhiều, dẫn đến mạng phải hoạt động thường xuyên hơn. Đây cũng chính là nguyên nhân làm cho năng lượng tại các nút mạng giảm đi, làm giảm thời gian sống của các nút mạng.
− Giao thức truyền: Mạng hoạt động dựa vào giao thức truyền bình đẳng và nhóm giao thức phân cấp. Trong nhóm giao thức bình đẳng các nút mạng bình đẳng và hoạt động độc lập với nhau, ngược lại trong nhóm giao thức phân cấp, một nút mạng sẽ giữ vai trò điều khiển hoạt động của các nút trong bán kính phủ sóng của nó. Trong nhóm giao thức bình đẳng, mỗi nút khi muốn truyền tin đều thực hiện việc truyền thống báo cho mọi nút còn lại trong nhóm. Giao thức này có nhược điểm lớn là khi một nút hoạt động sẽ kéo theo toàn nhóm phải hoạt động. Như vậy, sau hoạt động của mỗi nút sẽ làm cho năng lượng của toàn mạng giảm đi rất nhiều và tuổi thọ của mạng cũng sẽ bị rút ngắn, bên cạnh đó, hiệu quả truyền phát gói tin cũng không cao.
Giải pháp tìm đường ngắn nhất hay giải pháp xây dựng giao thức định tuyến cho mạng đều không nằm ngoài mục đích muốn giảm thiểu chi phí năng lượng cho các nút mạng để kéo dài tuổi thọ của chúng. Để thực hiện điều này, ta có thể tham khảo một số cách sau:
Thiết kế mới: Thiết kế và cài đặt mới phần mềm theo tư tưởng “đan mới nhanh hơn dặm lại”: Trong trường hợp này chưa hẳn đã đúng, vì giải pháp tạo mới này sẽ phức tạp và rất tốn kém. Nó liên quan đến việc tạo mới phần cứng, các thư viện của phần cứng. Giải pháp này không những khó khăn, tốn kém mà còn thực sự không thiết thực, không hiệu quả.
Thiết kế bổ xung thêm chức năng: Cách làm này dễ làm cho hệ thống trở nên phức tạp và bị chồng chéo khiến cho việc bảo trì sau này gặp nhiều khó khăn.
Sử dụng lại: Đây là giải pháp lấy các thành phần của một số sản phẩm để phát triển sản phẩm khác với tính năng khác. Trong trường hợp này, phần mềm nhúng thường có sự gắn kết chặt chẽ với phần cứng. Do đó, giải pháp này là không khả thi.
Tái kỹ nghệ: Đây là quá trình xem xét tìm hiểu một hệ thống với mục đích thực hiện một dạng mới (cải tiến) cho hệ thống.
Trong các giải pháp đưa ra ở trên ta thấy, chỉ có giải pháp tái kĩ nghệ là khả thi nhất, vì giải pháp này là phù hợp nhất, vừa giải quyết được yêu cầu đặt ra, vừa kinh tế, ít tốn kém nhất, hiệu quả cao nhất.
3.3. Tái kĩ nghệ hệ thống cảnh báo thiên tai
Như phần trên, chúng ta thấy rằng hệ thống cảnh báo thiên tai sử dụng mạng cảm nhận không dây WSN đã phát huy nhiều tính năng tốt, bên cạnh đó cũng có nhiều nhựơc điểm. Tái kĩ nghệ cho hệ thống cảnh báo thiên tai nhằm khắc phục những nhược điểm đó:
-Tăng phạm vi hoạt động của các nút mạng do: Độ phức tạp của phương thức truyền thay đổi, chương trình cũ không thích hợp.
-Tăng khoảng cách: Khoảng cách cũ từ nút mạng đến trạm cơ sở <=100m nên không thể thu phát được tín hiệu xa, vì thế ta phải mở rộng khoảng cách này từ đơn chặng chuyển thành đa chặng..
-Kéo dài tuổi thọ của các nút mạng: Hệ cảm nhận không dây sử dụng nguồn nuôi bằng pin cho nên vấn đề bảo đảm năng lượng cho nút mạng và toàn mạng hoạt động lâu dài là vấn đề cần quan tâm.
Ngoài ra, còn có các kĩ thuật thay đổi về định tuyến và xâm nhập môi trường cho từng nút mạng:
− Tìm đường ngắn nhất: Để khắc phục nhược điểm năng lực xử lý và dung lượng bộ nhớ ta có thể nâng cao năng lực xử lý và cung lượng bộ nhớ. Tuy nhiên, ta không chủ động làm được việc này mà bị phụ thuộc vào nhà cung cấp phần cứng. Về mặt phần mềm, ta vẫn có thể có giải pháp để khắc phục được một phần nhược điểm trên. Để giảm việc tiêu thụ năng lượng do dữ liệu phải truyền về nút cơ sở để xử lý, mỗi nút mạng phải duy trì một bảng định tuyến để hướng gói tin đi con đường tối ưu nhất, ít tốn năng lượng nhất.
− Xây dựng giao thức định tuyến cho mạng: Ngoài việc cần nâng cao hiệu quả chuyển phát các gói tin, phải cân nhắc tới vấn đề tiêu thụ năng lượng. Thời gian sống của mạng WSN phụ thuộc năng lượng tiêu thụ tại mỗi nút mạng (mà chủ yếu là do quá trình truyền thông). Do vậy, cần phải xây dựng giao thức định tuyến cho mạng. Để thay đổi giao thức định tuyến ta có thể đưa tham số thời gian thiết lập để không bị phát quảng bá lặp theo chu trình, và thay đổi một số yếu tố khác về vấn đề tiết kiệm năng lượng.
Tài liệu hóa chương trình
Chương trình
được modul hóa Dữ liệu gốc
Hợp dịch và kiểm thử Chương trình được cấu trúc lại Mã nguồn hệ thống cũ Mô hình hóa UML Modul hóa chương trình Cấu trúc lại dữ liệu Cải tiến cấu trúc
chương trình
3.4.1. Sơ đồ tiến trình
Hình 3-5 Quy trình tái kỹ nghệ hệ thống cảnh báo thiên tai
3.4.2. Các bƣớc thực hiện
Bƣớc 1. Từ mã nguồn hệ thống cũ đưa về dạng mô hình.
Hệ thống cảnh báo thiên tai: cảm nhận thông tin từ môi trường thông qua sensor, thông tin thu được (ví dụ thông tin nhiệt độ môi trường) phát truyền về trạm cơ sở.
Bƣớc 2. Từ mô hình trực quan cấu trúc lại chương trình
Chương trình nên được tái cấu trúc một cách tự động hoặc bằng thủ công để bỏ đi những thành phần thừa, hoặc cấu trúc sai. Các điều kiện nên được đơn giản hóa để dễ hiểu. Trong bước này môdul hóa lại chương trình và xây dựng tài liệu thiết kế.
Bƣớc 3. Tái kỹ nghệ dữ liệu
Phân tích và tổ chức lại cấu trúc dữ liệu trong chương trình, thêm thông số thời gian trong pha thiết lập; thay đổi lại thông tin thời gian, giá trị tần số
thu phát và quảng bá, thiết lập chế độ ngủ Hibernate khi nút mạng ở trạng thái đợi,...
Bƣớc 4. Hợp dịch và nạp lại cho nút mạng để vận hành hệ thống
Phân biệt sự khác nhau của mã nguồn, thiết lập bộ từ mẫu dịch giữa UML và mã nguồn. Hệ thống được tái kỹ nghệ nên được dịch mã tự động. Sử dụng công cụ nạp ROM, kiểm thử sau mỗi công đoạn.
Bƣớc 5. Đánh giá kết quả sau bước thay đổi
Vận hành hệ thống mới, kiểm thử toàn hệ thống. Thực hiện các phép đo, đánh giá, so sánh kết quả trước và sau khi thay đổi.
Các bước của quá trình trên được chi tiết hóa thông qua việc ứng dụng tiến trình RUP về phát triển hệ thống của Rational Architurect Software trong việc thay đổi thiết kế và tài liệu hóa cho hệ thống cảnh báo. Quy trình tái kỹ nghệ hệ thống cảnh báo được mô tả như hình 4.1.
3.4.2.1. Từ mã nguồn của hệ thống chuyển sang mô hình trực quan
Sử dụng mô hình hóa trực quan giúp ta mô tả hệ thống một cách dễ dàng, việc chuyển hóa này nên được thực hiện một cách tự động thông qua công cụ của Rational. IBM Rational Software Architecture đã được đề cập chương trước. Công cụ này cho phép phân tích, thiết kế, phát triển, thử nghiệm và triển khai lại hệ thống cảnh báo thiên tai một cách dễ dàng. Các nút mạng cảm nhận không dây của hệ thống được lập chương trình, nạp vào chíp vi điều khiển CC1010. Để lập được chương trình cần có sự hỗ trợ của các thư viện thành phần cung cấp bởi hãng Chipcon sử dụng vào ra cổng và thanh ghi một cách dễ dàng.
Hình 3-6 Từ mã nguồn hệ thống chuyển sang mô hình trực quan
Thư viện hỗ trợ Mã nguồn Công cụ Rational Development Flatform Mô hình trực quan
trúc thành phần trên mô hình. Bản công cụ phát triển phần mềm IBM Rational Development Flatform cho phép dễ dàng đưa mã nguồn của phần mềm đã có sẵn vào mô hình một cách tự động để có thể thay đổi hoặc thiết kế lại và kiến trúc lại hệ thống. Một điều rất tuyệt của công cụ này là ngay trên mô hình có thể sinh mã và sửa mã theo. Điều này giúp ta cho ta có cái nhìn tổng quan về thiết kế, dễ dàng đọc hiểu và phát triển chương trình.
Hình 3-7 Các thành phần của chương trình được chuyển về mô hình
Thao tác Xây dựng mô hình trong UML model 1. Từ Rational Software Architect, tạo mô hình.
Click File --> New --> UML model.
2. Chấp nhận giá trị ngầm định, click Finish.
3. Trong của sổ Model Explorer view, bấm chuột phải chọn new UML model (biểu tượng này là: ); rồi click Add UML --> Class
4. Muốn thay đổi đoạn mã nào trong các thủ tục ta chỉ việc click đúp chuột và thủ tục đó để cửa sổ màn hình mã lệnh xuất hiện (hình 4.4).
Hình 3-8 Cửa sổ màn hình soạn thảo mã nguồn
3.4. 2.2. Từ mô hình trực quan cấu trúc lại chƣơng trình
a. Kỹ nghệ ngược
Kỹ nghệ ngược thường là sự tái hiện kỹ nghệ trước đó, một hệ thống được kỹ