Phát triển thư viện các mô đun cho nền tảng mô phỏng

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 76 - 82)

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.3. Phát triển thư viện các mô đun cho nền tảng mô phỏng

Thư viện các mô đun được hiểu là toàn bộ các phần tử được xác định chức năng, nhiệm vụ. Việc phát triển thư viện cho nền tảng là phần công việc đòi hỏi nhiều công sức và thời gian, cần sự phân tích kỹ lưỡng, rõ ràng, chi tiết đến từng thông số, tham số và các mối quan hệ giữa các thông số, tham số của mỗi mô đun và giữa các mô đun với nhau. Mạng cảm biến được tạo nên từ các hạt nhân là các nút cảm biến, vì vậy việc phát triển thư viện cho nền tảng được bắt đầu từ việc tạo thư viện nút cảm biến. Mỗi nút cảm biến có thể được tạo ra bởi sự kết hợp của 5 mô đun cơ bản (3.2.1). Mỗi mô đun có thể có nhiều lớp đối tượng và mỗi lớp đối tượng có nhiều mô hình khác nhau. Luận án chỉ xây dựng thư viện cho một số đối tượng cốt lõi để phục vụ mục đích nghiên cứu như một pin, cảm biến, nguồn năng lượng, truyền thông.

3.3.1.Phát triển mô đun pin

Sơ đồ lớp các mô đun được triển khai từ sơ đồ lớp của nền tảng mô phỏng đến các lớp mô đun cơ sở, tới các lớp cụ thể và cuối cùng là các đối tượng với các mô hình có sẵn của các sản phẩm thực tế hoặc kết quả từ các nghiên cứu. Nguồn pin là thành phần không thể thiếu trong nút cảm biến không dây. Pin có nhiều chủng loại, khác nhau về công nghệ cũng như mô hình và thông số kỹ thuật. Tuy nhiên, thực tế có một số loại pin thông dụng cho cảm biến là pin lithium, Ni-Cad (nickel cadmium) và Ni-MH (nickel metal hydride). Luận án triển khai thiết kế sơ đồ lớp mô đun pin cơ sở (basic_battery) với một số loại pin thông dụng. Nghiên cứu đề cập đến hai kiểu pin là linear_battery và chemical_battery trong sơ đồ lớp thành phần pin. Sơ đồ lớp của mô đun pin được biểu thị trong Hình 3.8.

Hình 3.8. Sơ đồ lớp mô đun pin.

Pin linear_battery đại diện cho loại pin tuyến tính nhằm phục vụ mục đích mô phỏng bộ nguồn pin lí tưởng, ngoài việc được thừa kế các phương thức từ lớp thành phần pin cơ bản, dạng pin này chỉ quan tâm đến dung lượng lớn nhất, dung lượng nhỏ nhất, dung lượng hiện tại, tốc độ sạc và tốc độ tiêu thụ của pin. Phương thức đặc trưng quá trình xả, phụ thuộc vào công suất tiêu thụ định mức và thời gian sử dụng. Phương thức đặc trưng quá trình sạc chỉ phụ thuộc thời gian sạc, năng lượng coi là hằng số.

Pin chemical_battery đại diện cho lớp các đối tượng pin hóa. Ngoài thừa kế các thuộc tính và phương thức từ lớp mô đun pin cơ bản, pin hóa có thêm nhiều thuộc tính và phương thức khác. Nguyên nhân do quá trình sạc, quá trình xả và năng lượng của pin phụ thuộc nhiều thông số, tham số khác nhau và mỗi loại pin lại có đặc tính sạc và xả khác nhau. Trong nghiên cứu đề cập triển khai đến ba lớp pin hóa là lithium, nikel_cadmium và nikel_mh có các mô hình pin sạc và xả tương ứng như đã nêu trong chương 2. Mỗi lớp pin sẽ có nhiều loại pin với các bộ thông số của từng loại pin để người dùng có thể chọn lựa cho phù hợp với cảm biến cụ thể. Mặt khác, người dùng hoàn toàn có thể phát triển và thêm vào một mô đun pin mới theo yêu cầu của người dùng.

3.3.2.Phát triển mô đun nguồn năng lượng

Trong thực tế, nguồn năng lượng từ môi trường có thể thu thập cho nút cảm biến rất phong phú và đa dạng. Luận án xem xét mỗi dạng năng lượng tương ứng với một lớp nguồn. Các lớp nguồn cho mô đun nguồn thu thập từ môi trường được triển khai từ lớp nguồn cơ sở và được thừa kế phương thức khả năng thu năng lượng từ môi trường. Hình 3.9 biểu diễn sơ đồ lớp nguồn năng lượng.

Hình 3.9. Sơ đồ lớp nguồn năng lượng.

Lớp nguồn cố định (power_none) cung cấp phương thức tạo ra nguồn có công suất thu nhất định với giá trị không thay đổi và không phụ thuộc các yếu tố khác, mục đích để tiện dụng và đơn giản trong thử nghiệm.

Nghiên cứu đưa ra lớp nguồn lưới (power_grid) là lớp nguồn điện từ lưới điện được chuyển đổi thành nguồn có thông số phù hợp cấp cho cảm biến như điện áp phải là một chiều có giá trị vài vôn. Lớp này có phương thức cơ bản xác định các giá trị thông số về nguồn phù hợp cho nút cảm biến bởi người dùng. Một lý do khác để phát triển lớp nguồn lưới là do trong mạng cảm biến hỗn tạp có thể có những nút được cung cấp bằng nguồn điện từ lưới điện của hệ thống. Với nguồn cung cấp này nút không những là nút cảm biến thông thường mà còn được sử dụng với vai trò nút năng lượng và thường xuyên truyền năng lượng cho nút khác. Đây là điều có thể được phát triển và ứng dụng trong tương lai khi mà các công nghệ về năng lượng không dây ngày càng phát triển.

Lớp nguồn năng lượng mặt trời (power_solar) đại diện cho các đối tượng nguồn năng lượng mặt trời, cung cấp phương thức về mật độ năng lượng, công suất thu thập. Mô hình thông dụng là pin mặt trời, thu năng lượng mặt trời phụ thuộc vị trí, thời gian, thời tiết, kích thước tấm thu năng lượng, … Công suất thu trung bình có thể được mô phỏng theo mô hình như đã đề cập trong chương 2.

Lớp nguồn năng lượng nhiệt (power_themal) là lớp đối tượng thu năng lượng nhiệt từ môi trường, cung cấp phương thức tính dòng điện hoặc sức nhiệt điện động của bộ thu năng lượng. Mô hình ứng dụng thường là cặp nhiệt điện, năng lượng thu phụ thuộc vào độ chênh lệch nhiệt độ, thời tiết môi trường.

Lớp nguồn năng lượng RF (power_RF) đại diện cho lớp đối tượng thu năng lượng RF, cung cấp phương thức về mật độ năng lượng và công suất thu năng lượng RF. Mô hình ứng dụng thường là các bộ ăng ten thu năng lượng RF. Năng lượng thu từ nguồn RF phụ thuộc công suất nguồn phát sóng, dải tần số và khoảng cách so với trạm phát.

Lớp nguồn năng lượng rung động (power_vibration) đại diện lớp thu năng lượng rung động từ các tác động của môi trường. Lớp này cung cấp phương thức cơ bản như tính dòng điện hoặc sức điện động cảm ứng của bộ thu năng lượng và công suất thu năng lượng rung động. Năng lượng thu phụ thuộc cơ bản vào tần số rung và từ thông của khối nam châm hoặc độ biến dạng của vật liệu áp điện.

Công suất thu năng lượng từ rung động, nhiệt và RF cũng có thể được mô phỏng theo mô hình được đề cập trong chương 2 luận án này. Người dùng cũng có thể phát triển các mô hình mô đun nguồn năng lượng mới phục vụ mục đích riêng

3.3.3.Phát triển mô đun truyền thông

Truyền thông của nút cảm biến là mô đun khá phức tạp. Truyền thông liên quan đến công nghệ truyền thông, giao thức truyền thông và chuẩn truyền thông,... Luận án đã thực hiện các mô đun truyền thông với sơ đồ lớp được trình bày như Hình 3.10.

Hình 3.10. Sơ đồ lớp truyền thông

Lớp with_delay_linear cài đặt cơ chế truyền thông đơn giản, không quan tâm đến các vấn đề khác ngoài độ trễ khi truyền nhận thông tin. Người dùng chỉ cần đặt thời gian trễ và phương thức tạo ra sự thay đổi về thời gian trễ của các gói tin theo công thức 3.1.

Trong đó:

: khoảng thời gian trễ khi truyền thông (s) : thời gian cơ sở của việc truyền bản tin (s) : thời gian cơ sở của việc nhận bản tin (s) : khoảng cách truyền bản tin (m)

: hệ số thời gian theo khoảng cách truyền,

: thời gian được lấy từ hàm ngẫu nhiên, giá trị này đặc trưng cho tính bất định về thời gian truyền tin để tương đối giống với thực tế (s).

Lớp package cài đặt cơ chế truyền thông quảng bá, một nút khi nhận được bản tin sẽ phát tới tất cả các nút trong phạm vi của nó. Mỗi bản tin được xác định bởi thuộc tính như mã bản tin, kích thước bản tin, thời gian lưu trữ trong bộ nhớ đệm. Việc xử lý truyền dữ liệu thông qua phương thức gửi và phương thức định tuyến truyền thông.

Lớp with_loss cài đặt tỉ lệ mất bản tin trong truyền thông, thuộc tính cơ bản của lớp này là tỉ lệ mất bản tin, người dùng có thể đặt tỉ lệ mất bản tin ngẫu nhiên trong khoảng nào đó theo tỉ lệ phần trăm. Phương thức tính toán và đưa ra tỉ lệ mất bản tin dựa trên hàm ngẫu nhiên.

Lớp loop_avoidance cài đặt cơ chế truyền thông tránh lặp gói tin. Một gói tin khi nhận được sẽ lưu trong bộ đệm đến một chừng mực nào đó. Trường hợp gói tin được nhận lại lần nữa thì gói tin sẽ không được xử lý, điều này tránh lãng phí tài nguyên và thời gian. Việc xác định gói tin dựa trên cặp giá trị mã của gói tin và mã nút gửi, cặp giá trị mã này do người dùng xác định.

Lớp broadcast_routing cài đặt cơ chế truyền thông theo dạng quảng bá, khi một nút nhận được bản tin nó sẽ phát bản tin đó đến tất cả các nút xung quanh nó. Bản tin được quảng bá với những thuộc tính như khoảng cách quảng bá, giới hạn số lần quảng bá tối đa, và thời gian quảng bá tối đa. Điều này sẽ tránh được lãng phí thời gian và tài nguyên mạng.

Lớp hierarchical_routing cài đặt cơ chế truyền thông phân cấp, mỗi cấp có nhiều nhóm và mỗi nhóm có một trưởng nhóm chịu trách nhiệm truyền thông giữa các nút trong nhóm với các nút không thuộc nhóm. Các nút trong cùng nhóm gọi là các nút lân cận và đều được xác định theo danh sách. Một nút khi thực hiện truyền thông sẽ có phương thức kiểm tra xem một nút có phải là nút lân cận của nó hay không. Người dùng có thể thêm hoặc xóa một hay nhiều nút khỏi danh sách nhóm lân cận của một nút nhờ các phương thức thêm và xóa nút lân cận. Cơ chế truyền thông phân cấp về mặt lý thuyết, khi một bản tin được phát đi sẽ lan truyền tới tất cả các nút trong mạng, nhưng tránh được sự truyền lặp lại bản tin. Tuy nhiên, việc lan truyền bản tin theo cơ chế như vậy sẽ gây mất nhiều tài nguyên mạng và giảm hiệu quả trong truyền thông.

Một triển khai tiếp theo từ lớp hierarchical_routing là lớp fix_routing cài đặt cơ chế định tuyến theo đường truyền cố định, mỗi nút khi nhận được bản tin sẽ gửi tới nút cố định được xác định từ trước. Việc cài đặt định tuyến cố định sẽ tạo ra một bản đồ đường đi của gói tin truyền từ mỗi nguồn đến mỗi đích. Bản đồ này được người dùng xác định khi thực hiện thiết lập mạng.

Người dùng muốn mô phỏng một giao thức truyền thông phải tổ hợp các mô đun trên để tạo thành một giao thức truyền thông cho nút cảm biến. Việc tổ hợp phải

có thứ tự. Một mô đun có thể được sử dụng nhiều lần ở các lớp khác nhau. Ví dụ mô đun with_loss có thể vừa được tổ hợp ở lớp package cho tỉ lệ lỗi của việc chia và đóng gói tin, vừa được tổ hợp ở lớp broadcast_routing cho tỉ lệ lỗi khi truyền quảng bá.

3.3.4.Phát triển mô đun cảm biến

Cảm biến là lớp đối tượng rất đa dạng về nguyên lý làm việc và phong phú về chủng loại. Mỗi nguyên lý cảm biến có thể ứng dụng tạo ra nhiều loại cảm biến khác nhau. Trong mỗi ứng dụng đo có thể sử dụng nhiều loại cảm biến khác nhau. Việc phát triển thư viện mô đun cảm biến đòi hỏi thu thập các thông số, tham số của các cảm biến có sẵn. Việc phân lớp cảm biến có thể theo các cách khác nhau, phân lớp có thể dựa trên nguyên lý cảm biến, hoặc dựa trên ứng dụng của cảm biến,... Tuy nhiên, việc thiết kế các lớp đối tượng cảm biến nên phân chia tương đối theo ứng dụng của cảm biến để hướng tới sự phù hợp trong ứng dụng thực tế. Mỗi lớp cảm biến sẽ đại diện cho các đối tượng cảm biến có cùng ứng dụng. Sơ đồ lớp cảm biến có thể được triển khai và biểu diễn theo Hình 3.11.

Hình 3.11. Sơ đồ lớp mô đun cảm biến.

Từ giao diện basic_sensor sẽ sinh ra trường cảm biến bao gồm các lớp cảm biến. Mỗi lớp cảm biến đại diện cho một loại cảm biến được ứng dụng đo một đại lượng vật lí như nhiệt độ, ánh sáng, độ ẩm, nồng độ chất khí,… Từ mỗi lớp cảm biến ứng với mỗi đại lượng vật lí lại triển khai ra thành các lớp con của từng loại

cảm biến đo một đại lượng theo các nguyên lí khác nhau. Tiếp theo, triển khai từng loại cảm biến cùng nguyên lí đo tới các cảm biến với mã hiệu, thông số kĩ thuật cụ thể mà nhà sản xuất công bố.

Ví dụ từ lớp cảm biến đo nhiệt độ (tempt_sensor) sẽ sinh ra các lớp con với các nguyên lý đo nhiệt độ khác nhau như lớp đo nhiệt nguyên lý của nhiệt điện trở (thermistor_sensor), lớp cảm biến đo nhiệt bán dẫn (semi_sensor), hoặc lớp đo nhiệt độ theo nguyên lý cặp nhiệt điện (thermocouple_sensor),… Mỗi lớp này lại sinh ra các lớp cảm biến cụ thể và cuối cùng sẽ triển khai tới các cảm biến với mã hiệu, hãng sản xuất, thông số kỹ thuật cụ thể của từng cảm biến. Chẳng hạn như lớp cảm biến theo nguyên lý hoạt động của nhiệt điện trở sẽ sinh ra các lớp con là lớp cảm biến nhiệt điện trở platin (pt_sensor), lớp cảm biến nhiệt điện trở đồng (cu_sensor), lớp nhiệt điện trở nikel (nikel_sensor). Cuối cùng, mỗi lớp này sẽ định nghĩa các cảm biến cụ thể khác nhau về mã hiệu, hãng sản xuất và thông số kỹ thuật như đối với lớp cảm biến (pt_sensor) sẽ triển khai tới các cảm biến RTD Pt10, RTD Pt50, RTD Pt100, RTD Pt200, RTD Pt1000,... Những mã hiệu cảm biến khác nhau sẽ kèm theo sự khác nhau về thông số kỹ thuật và sẽ được ứng dụng cho các yêu cầu trong bài toán cụ thể.

Nghiên cứu với mục đích thực hiện mô phỏng giám sát quá trình năng lượng, trạng thái năng lượng và mức năng lượng tiêu thụ của nút cảm biến trong mạng, không xem xét kỹ đến khía cạnh đại lượng đo và giá trị tín hiệu đo của cảm biến. Nghiên cứu đã thực hiện với các nút cảm biến như cảm biến nhiệt độ, độ ẩm, ánh sáng để phục vụ mục đích thử nghiệm nền tảng mô phỏng.

Việc xây dựng thư viện sẽ cần phải có dữ liệu rất lớn từ các đối tượng trong thực tế. Luận án xây dựng một thư viện tối thiểu với các đối tượng nhằm phục vụ mục đích nghiên cứu của đề tài như thư viện cho các thành phần nút cảm biến đặc biệt là các thành phần liên quan đến năng lượng, một số giao thức truyền thông và một số nút cảm biến thông dụng đo thông số môi trường như cảm biến đo nhiệt độ, độ ẩm, ánh sáng.

Nền tảng cũng đã đưa ra các chức năng hỗ trợ người dùng có thể tự xây dựng các đối tượng mới phù hợp mục đích ứng dụng, qua đó phát triển và hoàn thiện nền tảng hơ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 76 - 82)

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

(159 trang)
w