Phát triển nền tảng mô phỏng mạng cảm biến

Một phần của tài liệu Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm biến (Trang 69 - 76)

Chương 3 Thiết kế và triển khai nền tảng mô phỏng mạng cảm biến không dây có tính đến yếu tố năng

3.2. Phát triển nền tảng mô phỏng mạng cảm biến

3.2.1.Mô hình nút cảm biến

Mục tiêu nghiên cứu phát triển mạng cảm biến không dây tự chủ năng lượng theo hướng tối ưu hóa sử dụng năng lượng, mỗi nút cảm biến trong mạng ngoài tác vụ thực hiện chức năng cảm biến, truyền thông giao tiếp với các nút khác trong mạng để cộng tác giải quyết công việc chung của toàn mạng, cần có khả năng thu thập năng lượng từ môi trường, tích lũy năng lượng và có khả năng chủ động điều phối việc sử dụng năng lượng trong quá trình hoạt động. Ví dụ như nút có thể chuyển về chế độ ngủ khi không cần thiết làm việc hoặc thức dậy làm việc khi có các sự kiện được yêu cầu, nút có thể chủ động trong việc ra các quyết định khi tương tác với môi trường như quyết định thu thập năng lượng từ môi trường hay không hoặc quyết định truyền thông hay không với các nút khác, chia sẻ thông tin hoặc năng lượng nhằm đảm bảo mục tiêu của bài toán ứng dụng mạng cảm biến, ... Mỗi nút cảm biến có một mô đun điều khiển để quản lý và điều phối chung tất cả các hoạt động của nút. Hơn nữa, các nghiên cứu phát triển về cấu trúc phần cứng của nút cảm biến như đã trình bày ở chương 2, đặc biệt là các cấu trúc nút liên quan đến vấn đề tiết kiệm năng lượng đều đưa ra cấu trúc nút bao gồm 5 mô đun chức năng là pin, cảm biến, thu năng lượng từ môi trường, truyền thông và điều khiển. Thực tế, các nút cảm biến cũng đã được chế tạo theo cấu trúc gồm 5 mô đun này nhằm phục vụ cho việc thực hiện các thuật toán tiết kiệm năng lượng tại nút được thuận tiện. Nghiên cứu phát triển tối ưu hóa mạng cảm biến trong các bài toán ứng dụng đòi hỏi việc mô phỏng phải phản ánh các yêu cầu của thực tế, tức là mô hình nút trong các phần mềm mô phỏng phải thể hiện được sự tương đồng về cấu trúc cũng như các thuộc tính, phương thức giống nút trong thực tế.

Tuy nhiên, các phần mềm mô phỏng sẵn có được thiết kế tập trung cho mô phỏng các vấn đề về truyền thông trong mạng cảm biến không dây như phân tích ở chương 2. Vì vậy, nút cảm biến cũng được mô hình hóa theo hướng phục vụ truyền thông, các mô hình phục vụ về mô phỏng năng lượng gần như chưa được quan tâm [106][107]. Mô hình thu năng lượng từ môi trường cho nút cảm biến không được đề cập [109]-[114]. Ví dụ như phần mềm mô phỏng mạng cảm biến SENS, nút được mô hình hóa với ba mô đun là ứng dụng, truyền thông mạng, vật lý [107]. Phần mềm mô phỏng mạng cảm biến SenSim [122], phát triển mở rộng cho OMNeT++ bằng cách cung cấp các mô đun cấp độ nút có phần cứng với các mô hình chức năng cảm biến và mô hình năng lượng. Mô hình năng lượng bao gồm một mô hình

pin đơn giản đóng vai trò nguồn cung cấp và các mô hình sử dụng năng lượng là vi điều khiển và truyền thông. Trình mô phỏng mạng cảm biến SENSE [119], phát triển nhằm cải thiện một số vấn đề của J-Sim, trong đó cung cấp mô hình nút bao gồm các mô đun cho truyền thông, mô đun pin, quản lý năng lượng, cảm biến và ứng dụng. Nhưng SENSE không mô hình hóa cảm biến với bất kỳ chi tiết nào và thiếu các mô-đun đã phát triển. Trình mô phỏng mạng cảm biến SensorSim [115] kế thừa một số lợi thế của NS-2 và đưa ra mô hình bao gồm các mô hình pin, truyền thông, điều khiển và cảm biến để phản ánh mức tiêu thụ năng lượng, đồng thời thiết kế một số chế độ hoạt động trong mỗi mô hình. Ví dụ, mô hình truyền thông có năm chế độ khác nhau bao gồm Truyền, Nhận, Chờ, Ngủ và Tắt. Tuy nhiên, dự án phát triển SensorSim đã dừng lại khi chưa được hoàn thành.

Việc mô hình hóa nút trong các phần mềm có sẵn theo hướng phục vụ truyền thông và chưa quan tâm đến các mô hình năng lượng của nút trong quá trình hoạt động dẫn đến rất khó khăn thậm chí không thể phát triển mô phỏng về năng lượng cho mạng cảm biến, nên không phù hợp để ứng dụng trong hỗ trợ giải bài toán tối ưu hóa sử dụng năng lượng của mạng, do cần thiết phải xem xét đến quá trình năng lượng, mức tiêu thụ năng lượng trong từng mô đun hoặc từng chế độ làm việc của nút cảm biến.

Luận án xây dựng mô hình nút cảm biến với 5 mô đun chính tương đồng cấu trúc của một nút cảm biến trong thực tế, bao gồm pin (Battery), nguồn năng lượng (Power), cảm biến (Sensor), truyền thông (Comm) và điều khiển (Control). Hình 3.5 biểu diễn cấu trúc nút cảm biến của nền tảng mô phỏng.

Hình 3.5. Các mô đun cấu thành một nút cảm biến.

Mô đun Pin (Battery): là thành phần dự trữ và cung cấp năng lượng cho nút cảm biến hoạt động. Các thông số, tham số cơ bản cần quan tâm là loại pin (pin lithium, pin nikel hay pin acid, ...), điện áp danh định, dòng danh định, dòng xả, dòng sạc, điện áp đầy, dung lượng pin (dung lượng lớn nhất, dung lượng hiện tại). Như vậy trong hoạt động thiết lập mạng, người dùng có thể lựa chọn và có thể thay đổi các thông số mô đun pin cho từng nút cảm biến để phù hợp với nút thực tế của ứng

dụng. Các mô đun pin này sẽ được xây dựng sẵn trong thư viện. Nền tảng mô phỏng cũng hỗ trợ người dùng phát triển thêm mới theo nhu cầu cụ thể.

Mô đun Nguồn năng lượng (Power): phát hiện và thu hồi năng lượng từ môi trường xung quanh cảm biến để tích lũy và sử dụng cho hoạt động của nút cảm biến. Nền tảng mô phỏng có chức năng xác định thu loại năng lượng nào là tối ưu tại từng thời điểm. Môi trường trong nhà cơ bản thu từ năng lượng mặt trời, năng lượng nhiệt, năng lượng rung động, năng lượng RF. Năng lượng mặt trời có mật độ năng lượng lớn nhất nhưng lại phụ thuộc vào thời tiết, thời gian, vị trí đặt cảm biến và mùa trong năm. Các yếu tố này đều ảnh hưởng lớn đến mật độ năng lượng, mức thu và hiệu quả thu năng lượng từ mặt trời.

Các mô hình năng lượng cơ bản và phổ biến sẽ được xây dựng trong thư viện của nền tảng nhằm phục vụ công việc của đề tài. Tuy nhiên, người dùng có thể phát triển và xây dựng các mô hình nguồn năng lượng từ môi trường để dùng trong bài toán của mình. Công việc này được trợ giúp bởi chức năng phát triển các thành phần chức năng mới của nền tảng mô phỏng.

Mô đun cảm biến (Sensor): chịu trách nhiệm toàn bộ việc thu thập và biến đổi tín hiệu đo của nút để đảm bảo chức năng nút. Các thông số của mô đun cảm biến cần quan tâm khi mô phỏng gồm chức năng của cảm biến, hãng sản xuất, điện áp định mức và dòng điện định mức, dòng điện hay công suất tiêu thụ trong các chế độ hoạt động, chu kỳ lấy mẫu của cảm biến. Các thông số này được cài đặt giá trị cụ thể cho từng mô đun cảm biến. Mặt khác, người dùng cũng có thể thay đổi được các giá trị thông số cảm biến hoặc phát triển thêm các mô đun cảm biến mới và cài đặt các thông số để sử dụng trong ứng dụng của mình.

Mô đun truyền thông (Comm): thực hiện công việc truyền thông của nút với các nút khác trong mạng. Các vấn đề và thông số cần quan tâm là giao thức truyền thông, công nghệ truyền thông mà nút cảm biến sử dụng, và các thông số năng lượng liên quan đến quá trình truyền thông của nút cảm biến. Truyền thông là hoạt động tiêu thụ năng lượng lớn nhất trong các hoạt động của nút cảm biến. Một nút cảm biến trong ứng dụng mà phải truyền thông thường xuyên thì năng lượng tiêu thụ sẽ rất lớn, còn nếu ứng dụng không cần phải truyền thông nhiều hoặc chu kỳ truyền thông lớn thì sẽ tiêu tốn rất ít năng lượng. Vì vậy, việc xử lí và ra quyết định truyền thông rất quan trọng, ảnh hưởng lớn đến vấn đề tiết kiệm năng lượng và tối ưu sử dụng năng lượng cho toàn nút.

Các công nghệ truyền thông, các giao thức truyền thông phổ biến cũng được xây dựng sẵn trong thư viện của nền tảng. Mặt khác, người dùng được hỗ trợ để có thể phát triển thêm các giao thức truyền thông mới để phù hợp bài toán cụ thể mà người dùng cần giải quyết.

Mô đun điều khiển (Control): là thành phần trung tâm của nút cảm biến được thiết kế để thực hiện các nhiệm vụ sau:

 Xử lý và điều khiển chung cho nút cảm biến, các thông tin từ các mô đun khác của nút được mô đun điều khiển thu thập, tổng hợp, tính toán và xử lý sau đó sẽ đưa ra các lệnh điều khiển thực hiện các công việc cụ thể trong những tình huống, trạng thái cụ thể của từng mô đun trong nút để đảm bảo nhiệm vụ và vai trò của nút trong mạng.

 Quản lí năng lượng chung của nút. Các thông tin về năng lượng như dung lượng hiện thời của pin, mức năng lượng tiêu thụ của các hoạt động được giám sát, tính

toán và tổng hợp từ đó có thể đánh giá được tình trạng năng lượng cũng như ước lượng được thời gian sử dụng năng lượng. Mặt khác, đưa ra các thông báo hay thông điệp về năng lượng của nút cũng như các quyết định khác liên quan đến năng lượng của nút.

 Quản lí và điều khiển thu thập năng lượng từ môi trường cho nút cảm biến. Điều kiện để thu thập năng lượng từ môi trường cũng như nguồn năng lượng sẽ thu thập sẽ được xác định bởi mô đun điều khiển. Nguồn năng lượng sẽ thu thập cần đảm bảo tính hiệu quả cho việc thu thập năng lượng, nhờ các thông số và tham số đầu vào như thời gian, mùa, thời tiết, loại năng lượng, trạng thái và vị trí đặt cảm biến, ...

Vấn đề chính cần quan tâm khi thiết lập mô đun này là thuật toán điều khiển của nút. Các thuật toán này phụ thuộc yêu cầu bài toán, tùy theo mục đích và các ràng buộc của ứng dụng, các nút sẽ được hoạt động theo cơ chế hoặc thuật toán được xác định bởi người dùng.

Việc mô hình hóa nút cảm biến với 5 mô đun độc lập sẽ thuận tiện cho việc xử lý và ra các quyết định hoạt động chung cho nút, đặc biệt trong các xử lý, tính toán và giám sát hoạt động quan tâm đến vấn đề năng lượng của nút. Luận án đã xây dựng các mô hình mô đun để nhằm phục vụ bài toán tối ưu hóa lịch trình mạng cảm biến. Ngoài ra, người dùng có thể phát triển và xây dựng cho mình những mô hình thành phần điều khiển riêng phù hợp với bài toán ứng dụng.

3.2.2.Các lớp đối tượng

Nền tảng mô phỏng được xây dựng theo hướng đối tượng. Các giao diện và các lớp đối tượng được định nghĩa rõ ràng về các phương thức, thuộc tính và các mối quan hệ giữa chúng, giúp thực hiện xây dựng thư viện các mô đun chức năng thuận tiện và rõ ràng trong lập trình hơn. Dựa trên phân tích về nhiệm vụ và chức năng của nền tảng mô phỏng, luận án đưa ra sơ đồ lớp cho nền tảng mô phỏng mạng cảm biến với các giao diện và các lớp đối tượng cơ bản được biểu diễn như Hình 3.6.

Nền tảng mô phỏng mạng cảm biến quan tâm đến vấn đề năng lượng tạo ra một môi trường mà ở đó có các thực thể hoạt động với các yếu tố cơ bản bao gồm không gian, thời gian và nguồn năng lượng, được đại diện bởi các giao diện cơ sở hoặc các lớp cơ sở tương ứng gồm giao diện thực thể (entity), lớp hệ quy chiếu tọa độ (reference_frame), lớp vị trí (location), lớp đồng hồ thời gian (clock) và lớp mặt trời (sun). Giao diện thực thể và các lớp cơ sở sẽ được triển khai tiếp đến các giao diện, lớp cấp thấp hơn, sau đó tới các lớp đối tượng và đối tượng cụ thể. Các lớp cấp thấp hơn được phát triển và được thừa kế từ các lớp trên.

Giao diện thực thể hay gọi là thực thể cơ sở, đại diện cho tất cả các thực thể trong nền tảng mô phỏng với các thuộc tính và phương thức hoạt động theo hướng sự kiện. Giao diện thực thể đóng vai trò trung tâm liên quan đến các lớp cơ sở còn lại và tất cả các thực thể khác trong nền tảng đều được thừa kế từ giao diện thực thể này như giao diện mô đun nút (node_module), giao diện nút cơ sở (basic_node), giao diện mạng cơ sở (basic_network), giao diện toàn cảnh cơ sở (basic_world), giao diện môi trường cơ sở (basic_ambient). Thực thể cơ sở cung cấp các thuộc tính cơ bản mà mỗi một thực thể đều cần phải có như định nghĩa một thực thể, danh sách sự kiện và con trỏ để trỏ đến lớp sở hữu cấp cao hơn của mỗi thực thể. Giao diện thực thể cung cấp các phương thức cơ bản mà mỗi thực thể đều có như phương thức bắt đầu, phương thức dừng, phương thức khởi tạo, phương thức kết thúc được dùng trong quá trình bắt đầu và được khởi tạo các thông số hoặc tham số của thực thể cũng như khi kết thúc sẽ xử lý các công việc cần thiết đối với mỗi thực thể ví dụ như khi thực thể kết thúc hoạt động sẽ xóa những dữ liệu không cần thiết nhằm tiết kiệm bộ nhớ. Bên cạnh các phương thức cơ bản, các phương thức về sự kiện của thực thể rất quan trọng với cơ chế hoạt động hướng sự kiện như phương thức đăng kí sự kiện hoặc phương thức hủy sự kiện. Phạm vi được quan tâm của sự kiện cũng được xác định khi đăng kí sự kiện, việc này để xác định sự kiện chỉ được xử lí và phục vụ tại nơi đăng kí hay được lan truyền đến và phục vụ cả ở lớp sở hữu cao hơn. Mỗi thực thể có thể có hai cơ chế sự kiện đó là cơ chế sự kiện chỉ phục vụ nội tại và cơ chế sự kiện phục vụ nội tại và lan truyền nhằm xử lí kết nối các thực thể với nhau để tạo thành cơ chế chung của cả hệ thống. Mỗi thực thể cần có phương thức tạo sự kiện để khi có sự kiện xảy ra sẽ đưa ra mã sự kiện đó cho các bên liên quan biết sự kiện được đăng kí đã xảy ra. Thời gian cũng là một loại sự kiện rất cơ bản cho các hoạt động của thực thể. Như vậy, trong nền tảng mô phỏng tất cả các thực thể thừa kế từ giao diện thực thể sẽ có các phương thức hoạt động theo hướng sự kiện, các sự kiện được đăng kí thành danh sách tùy theo từng loại tại từng thực thể. Khi sự kiện xảy ra sẽ là điều kiện để gọi các phương thức khác phục vụ hoạt động của thực thể nói riêng và của hệ thống nói chung. Vì vậy, giao diện thực thể là rất quan trọng, nó là cơ sở cho tất cả các thực thể khác thừa kế.

Lớp hệ quy chiếu tọa độ, cung cấp dịch vụ để người dùng có thể đặt các tọa độ theo các hệ quy chiếu cho các nút cảm biến cụ thể và có thể chuyển đổi qua lại giữa các loại tọa độ này để phù hợp cho mục đích mô phỏng. Ví dụ, để quản lí và điều khiển các hoạt động trong truyền thông của mạng thì sẽ dùng tọa độ tương đối, còn để xử lí tính toán việc liên quan đến thu năng lượng mặt trời thì dùng tọa độ địa lí.

Lớp đồng hồ thời gian cho nền tảng mô phỏng nhằm tạo ra đồng hồ thời gian cho hệ thống mô phỏng. Ở đây ta có thể tính thời gian theo thời gian của máy tính hoặc tính thời gian theo cách định nghĩa nào đó phù hợp với việc mô phỏng chẳng

hạn như chúng ta cho thời gian mô phỏng tỉ lệ với thời gian thực theo một hệ số nào đó để việc mô phỏng trở nên thuận tiện hơn, nhanh hơn để không phải chờ đợi lâu. Ví dụ, chúng ta sẽ cho thời gian mô phỏng chạy nhanh hơn so với thời gian thực

Một phần của tài liệu Nghiên cứu giải pháp tối ưu hóa hiệu quả sử dụng năng lượng trong mạng cảm biến (Trang 69 - 76)

Tải bản đầy đủ (DOCX)

(159 trang)
w