PHƯƠNG PHÁP LUẬN, NGHIÊN CUU

Một phần của tài liệu Khóa luận tốt nghiệp Mạng máy tính và truyền thông: Giải pháp tái cấu hình thiết bị libelium dựa trên việc điều chỉnh tần suất đọc dữ liệu cảm biến để tiết kiệm năng lượng (Trang 52 - 67)

Trong chương này, nhóm tác giả xin trình bày về phương pháp luận và quy trình phân tích các thuật toán được sử dụng dé giải quyết các van đề ở Chương 1: Giới thiệu. Với mục tiêu là áp dụng các nghiên cứu về lấy mẫu thích ứng dé áp dụng vào thực tế các thiết bi thu thập cảm biến, cụ thé ở đây là thiết bị của bộ libelium.

3.1. Phân tích, thiết kế hệ thống

Trong phan này, nhóm xin trình bày tổng quan về hệ thống, hướng tiếp cận cũng cũng phân rã mô hình các thành phần: thành phần đám mây, thành phần trung tâm

xử lý dữ liệu, thuật toán, thành phan thiết bị.

3.1.1. Mô hình phân rã hệ thống

Mô hình nhóm xây được phân rã thành 3 phần chính như hình bên dưới:

38

tạm new Ae] OD 20L

UOREIS Jeules)\\ Old Allg WeWS

1U8UIU0/IAU3 1JEUIS Old

uou) oy ứ1 uvyd qut OW J'€ YUH

an nn1

ysvan

U04 Jeny

2) Nl] DP UEUN aie

AVM31V9 18120(] 181018 LION 18UIEIU02 IBD KEY | | j8Al8S 8/0, ddự 8SEqEIeq J18qI2sqns dại nội Np yeny/dEUN | gp ann Đủ uuu đại L Ndi Op {1 nay

5uow) ÿH

39

3.1.1.1. Phân rã thành phần đám mây

MQTT

Chuyén tiếp dữ liệu

' cam bién

| <

! REST API CLOUD

| ————* >

h HTTP/HTTPS

Phan hồi yêu cau lay dữ

liệu

Docker

Dữ liệu Dữ liệu 'Yêu cầu Phản hoi

Hình 3.2 Sơ đồ phân rã thành phan xử lý đám mây Đám mây là một thành phần khá quan trọng, bởi nó là nơi lưu trữ dữ liệu và chứa phần lớn các logic code. Trong hệ thống này, đám mây có nhiệm vụ tiếp nhận, giao tiếp với phía Client - người quản trị cùng thành phần gateway trung gian.

Về phía Client, trên đám mây sẽ triển khai một App - Backend Server cung cấp các REST API phục vụ cho việc yêu cầu tài nguyên, ví dụ như yêu cầu các dữ liệu cảm biến nhiệt độ, độ âm.... Bên cạnh đó, nó cũng cho phép phía Client thực hiện

các tác vụ như nhập, xuât đữ liệu.

VỀ phía gateway, trên đám mây cũng cho phép các giao tiếp MQTT, HTTP/HTTPS để cung cấp, yêu cầu dữ liệu.

40

Tốc độ lấy mẫu

Thiết bị Xử ly/tinh toán tốc độ lấy mẫu

Hình 3.3 Sơ đồ phân rã thành phần xử lý gateway

Ở phần gateway, nhận dữ liệu cảm biến từ các thiết bị cảm biến của thành phần thiết bị và bộ dữ liệu được thu thập ở trước đó, thành phần này tiến hành tính toán các thông số, dé từ đó đề xuất một tốc độ lay mau mới phù hợp với các giá trị biến động của bộ dữ liệu hiện tại. Đồng thời lưu trữ giá trị mới tương ứng với tốc độ lấy mẫu thay đổi liên tục. Tại đây, thuật toán UDASA đóng vai trò cốt lõi giúp thay đôi

động tân suât đọc giá trị cảm biên.

41

3.1.1.3. Phan rã thành phần thiết bi

Tốc dé la

ney od

Waspmote

ney od

Thu thập cam bien

Hình 3.4 Sơ đồ phân ra thành phan thiết bi

Tại thành phan này, hệ thống triển khai nhiều waspmote dé đảm bảo độ phủ rộng của tập dữ liệu. Các waspmote cùng gửi dữ liệu đến gateway thông qua module Waspmote Gateway 802.15.4 PRO được kết nỗi theo mạng hình sao. Cũng thông qua Xbee 802.15.4, các waspmote sẽ nhận về tốc độ lay mau dé tiến hành tái cấu hình lại thiết bị, thay đổi thời gian đọc giá trị cảm biến tại các waspmote. Sau khi đã

thu thập được giá trị cảm biến, các waspmote được đưa vào trạng thái ngủ, các chip

truyền thông như Xbee cũng được đưa vảo trạng thái ngủ dé đảm bảo việc tiết kiệm

năng lượng cho thiết bị.

3.1.2. Ý tướng giải thuật lay mẫu thích ứng

3.1.2.1. Lấy mẫu định kỳ

Cho tập dữ liệu M, lay mẫu định kỳ là quá trình kích hoạt cơ chế thu thập dữ liệu cảm biến hay một cá thé dit liệu từ tập M mỗi T thời gian. Giá trị T còn được gọi là tốc độ lay mau. T thông thường sẽ là một khoảng thời gian cô định, vì thế điểm dữ

42

liệu thứ i M;¡ sẽ được thu thập tại thời điểm ti = i* T. Quá trình này được áp dung rộng rãi bởi các các thiết bị cảm biến do tính đơn giản của nó [4]. Chính vì sự đơn giản của nó nên rat phù hợp với các thiết bị có khả năng tính toán, nguồn tài nguyên hạn chế, đặt biệt ở đây có thé kế đến các thiết bị IoT. Tuy nhiên, nếu ngữ cảnh đặt trong trường hợp các thiết bị IoT chạy bằng pin với một nguồn năng lượng hạn chế, việc sử dụng T cô định trên các thiết bi này thê hiện yếu điểm vì việc tiêu hao năng lượng không cần thiết. Vi dụ như tại thời điểm ti-1, các giá trị cảm biến tại Mi, Mi, M¡:,... liên tiếp không thay đổi, tại đây ta có thé tăng giá trị T dé tránh thu thập các giá trị cảm biến trùng nhau nhưng với T cô định thì việc này dẫn đến một số khó khăn. Dé rõ hơn ta cùng xem Hình 3.5, tại đây ta có thé thấy răng, nếu ta sử dụng T nhỏ (ví dụ 1 giây), dữ liệu thu thập được có thé rất chính xác, nhưng đồng thời cũng kéo theo sự tăng về khối lượng lượng dữ liệu cần lưu trữ và xử lý khi thu thập xong

và truyền qua mạng đến đám mây hay một nơi lưu trữ nào đó dé phân tích, xử lý, sử dụng về sau. Điều này đồng thời cũng có thể là nguyên nhân chính ảnh hưởng đến pin của thiết bị, tuổi thọ pin có thê giảm đáng kẻ.

244 —— M tại thời điểm T = 1s

224

20 31

18 +

Value

16 3

14 +

12 3

l 25 50 75 100 125 150 175 200

Hình 3.5 Biéu đồ mô tả dữ liệu gốc

Trong trường hợp chúng ta sử dụng T cao (khoảng 5 giây), số lượng dữ liệu thu

thập được chắc chắn sẽ ít hơn trường hợp T thấp, số lượng dự liệu được truyền qua

mạng đến nơi lưu trữ sẽ ít hơn và sự cần thiết để xử lý dữ liệu lớn cũng ít hơn, tuổi

thọ pin đồng thời cũng duy trì được lâu hơn. Nhung chúng ta cần đánh đổi, ví dụ như một số thay đôi dẫn tới sự bién động của bộ dữ liệu nhưng khoảng thời gian lay

43

mẫu khá cao làm những giá trị này bị bỏ qua (Hình 3.6) dẫn đến độ chính xác của

bộ dữ liệu có thé thấp đi.

23.| M tại thời điểm T = 1s

—— M tại thời điểm T = 5s

223

20 +1

18 +1

Value

16 + 144 124

0 25 50 75 100 125 150 175 200

Hình 3.6 Biéu đô sự bat lợi khi tốc độ lay mẫu lớn

Nói tóm lai, lay mẫu định kỳ không hiệu quả dé tiết kiệm năng lượng và dam bảo

độ chính xác của bộ dữ liệu.

3.1.2.2. Lay mẫu thích ứng

Như đã nói ở trên, ta có thé tham khảo ở Hình 3.6, tại các giá tri T1, T1s, T17, T19, T23, Ts, T7s, T7, T79, Tss, T1s4, TĂsứ cỏc sự thay đụi của dit liệu cú thộ sẽ khụng bị phát hiện do T khá lớn (tăng từ 1 giây đến 5 giây). Điều này chứng tỏ rằng việc thay đổi thời gian lay mẫu T khá phụ thuộc vào độ biến động của tập dit liệu theo thời gian, chỉ những điểm đữ liệu được thu thập tại thời gian có ý nghĩa thì mới đảm bảo

được độ chính xác của tập dữ liệu.

244 —— M tại thời điểm T = 1s

(oie

20 1

18 3

Value

16 +

14 3

12 4

l 25 50 75 100 125 150 175 200

Hình 3.7 Biêu đô mô phỏng việc sử dụng lây mẫu thích ứng

Để giải quyết các vấn dé đó, thuật ngữ lấy mau thích ứng được giới thiệu [38]. Lay mẫu thích ứng là quá trình điều chỉnh động tốc độ lấy mẫu T, được tính toán từ

44

tập dữ liệu M dựa trên các mô hình ước lượng, ký hiệu là f(M) (ước lượng sự biến đối của tập dữ liệu). Gọi ERR là sự khác biệt của M và M’, được sử dụng dé đánh giá

độ chính xác của mô hình ước lượng. Giả sử Mi là mẫu mới nhất từ M và M là tập

dir liệu được tái tạo lai của M sau khi thực hiện lây mẫu tích ứng, mục tiêu của lay mẫu thích ứng là tim ra T với T € [Tmin, Tmax] lớn nhất dé thu thập Mi+1, dựa trên sự ước tính về mức độ thay đôi của bộ dữ liệu f(M), đồng thời giảm thiểu ERR. Do đó, bài toán được tóm tắt thông qua phương trình sau:

T = argmax {f(Mi, M, ERR) | argmin{ERR},

T

T E [Tin , Tmax] }

Như ta có thé thấy, nếu sự sai khác của M và M ngày càng nhỏ, tức là MM,

ERR —0, thì tốc độ lấy mẫu T phải tiến đến đến Tmin , dẫn đến hiệu suất tiết kiệm

năng lượng giảm, đảm bảo độ chính xác của dữ liệu.

3.1.3. Các định nghĩa liên quan

Bảng 3.1 Tổng hop ký hiệu sử dung trong UDASA

Ký hiệu Mô tả

Bộ dữ liệu đầu vào gồm nhiều điểm dữ

= liệu (Mz, Ma, M3,... Mn).

Điểm dữ liệu thứ i trong tập dir liệu M

được thu thập tại thời điểm T¡. Day cũng

Mi -Ä ~ TA ke os "

‘ là điêm dữ liệu cuôi cùng trong bộ dữ

liệu M.

Thời gian thu thập dữ liệu tại thời điểm Tit thứ i + 1. Thời gian cần tính toán với

Ti+1 = [Tmin , Tmax].

45

Tốc độ lấy mẫu được tính toán và gán cho các thiết bị thu thập cảm biến trong Thase lay mau định ky. Tại day, ta có thể hiểu

Tbas là giá trị nhỏ nhất trong độ biến

thiên của Ti+1 (Tbase= Tmn).

Kích thước của các giá tri cuôi cùng trong tập dữ liệu M.

Tập dữ liệu chứa N các giá trị cuôi cùng của tập dữ liệu M.

Giá trị độ lệch tuyệt đối trung vị

Wy (Median Absolute Deviation — MAD)

cua Wy.

Giá trị độ lệch tuyệt đối trung vị

Dô(M,) (Median Absolute Deviation — MAD)

của điểm dữ liệu Mi trong M.

Mức độ tiét kiệm năng lượng mà người dùng nhập vào.

3.1.4. Định nghĩa thuật toán User-Driven Adaptive Sampling

Thuật toán User-Driven Adaptive Sampling (UDASA) [1] được thiết kế ra với

mục đích chính là tiết kiệm năng lượng cho các thiết bị thu thập cảm biến, giảm

thiếu số lượng mẫu thu thập được nhưng vẫn đảm bảo độ chính xác của tập dữ liệu.

Ý tưởng của UDASA là dựa trên những thay đổi của tập dữ liệu trong quá khứ dé điều chỉnh động tần suất lấy mẫu. Ta có thể tưởng tượng rằng, nếu dữ liệu có xu hướng biến động một cách đáng ké thì tần suất lay mẫu phải tăng lên dé đảm bao

răng không bỏ qua các sự biên đôi mạnh mẽ đó. Nhưng nêu dữ liệu không có xu

46

hướng biến động, hay nói cách khác là nó dan đạt đến sự “ôn định” thì tần suất lay mẫu cần giảm xuống dé tránh việc thu thập các giá trị “vô nghĩa”. Lay một ví dụ dé

mô tả UDASA, giả sử trong trường hợp dự báo thời tiết, các giá trị cảm biến để đánh giá về thời tiết có thé thay đổi một cách đột ngột dé biéu thị một tình trang khác (ví dụ từ trời nắng sang trời mưa), lúc này ta cần đó là sự chính xác của dữ liệu, để đảm bảo kết quả của việc dự đoán được chính xác. Ngược lại, khi thời tiết không có sự biến đổi (ví dụ cả ngày trời nắng) thì ta có thể giảm tần suất lay mau,

hướng đên việc tiêt kiệm năng lượng.

Thuật toán được thiết kế với việc người dùng có thể nhập độ tiết kiệm năng lượng

n vào thuật toán nhằm xác định mức tiết kiệm năng lượng nhiều hay ít, đương nhiên mức tiết kiệm cao sẽ kèm theo số lượng dt liệu mỏng. Giá tri hợp lệ của mức độ tiết kiệm n là 1 > ©, tuy nhiên thuật toán khuyến nghị giá trị này nên nằm trong

khoảng 1 > 20.

UDASA định nghĩa mức độ thay đổi trong bộ dữ liệu là D, giá trị này có thể bị ảnh hưởng bởi mức độ tiết kiệm năng lượng n. Dựa vào D, ta có thé quy đổi thành một tỉ lệ nằm trong khoảng 1 > n nhờ vào một ham sigmoid nâng cao (9). Tỉ lệ này được kết hợp với thời gian lấy mẫu Tbase hay thời gian nhỏ nhất dé thu thập một giá trị cảm biến, từ đó ta sẽ tính toán được giá trị thời gian Ti+1 dé thu thập điểm dữ liệu

Mi+1.

3.1.5. Phan tich UDASA

Ta có thé theo dõi Hình 3.8 dé hiểu rõ hon UDASA, tại bước 1 của hình bên dưới

là đầu vào của thuật toán: bộ dữ liệu M, kèm theo các tham số của thuật toán như độ

tiệt kiệm n, N điêm dữ liệu cuôi cùng của M, timestamp Ì,...

47

Quy đổi sang thời gian T

Hình 3.8 Mô tả thuật toán UDASA

Sau khi đã có đầy đủ các tham số của thuật toán, tại bước 2 UDASA định nghĩa

trong Hình 3.8, Wy ở đây là giá trị trung bình độ lệch tuyệt đối trung vị của N điểm

dir liệu cuối cùng của tập dữ liệu M.

i

— S~:

Wn = y ằ D0(M,) (7)

j=i-N

Như đã nhắc đến ở phan trước, giá tri D trong (8) phản ánh sự biến động của tập

dữ liệu M, nó được tính băng cách so sánh sự thay đôi của DO(M,) va — * (Wy ).

1 —* (Wy ) (8)

Giá trị — ở (8) được mô tả là “hệ số cân bang”, giá trị này đảm bảo cân bằng sự

thay đổi giữa DO(M;), Wy và Ti+1, Thase là bằng nhau. Ví dụ, nếu Dô(M,) =

1m 1 1

= Wy thì D sẽ bang 0, kéo theo fhange = = va Ti+1= = Thase-

48

Tiếp đến, UDASA định nghĩa một hàm sigmoid (3) nâng cao với nhiệm vụ quy đổi giá trị D thành một giá trị chuẩn từ 1 > n tùy vào độ biến động của dit liệu D.

Senange =nt 1+ e-mD (9)1—n

—n=2

n=3 n=5

-20 -15 -10 -5 0 5 10 15 20

Hình 3.9 Minh họa chức năng của hàm sigmoid nâng cao

Để chứng minh được điều này, theo dõi biểu đồ (Hình 3.9), trục x là giá tri n*D, trục y là fchange, ta có thé thay rang tùy vào giá trị n được ấn định fehange sẽ biến thiên

từ n đến 1, tuy nhiên tốc độ hội tụ còn tùy thuộc vào nhiều yếu tố như giá trị n nhập vào, D,... nhưng cuối cùng, chúng ta có thể kết luận rang độ biến thiên của fenange hoàn toàn có thé kiểm soát được thông qua giá tri độ tiết kiệm n với cận trên là n và

cận dưới là 1.

Cuối cùng, giá trị đầu ra của ham sigmoid nâng cao (9) được kết hợp với Tase dé tính toán thời gian lay mẫu ở thời điểm tiếp theo Ti+1.

In — Íchange * Thase (10)

Như đã nhắc đến ở trên, mức độ tiết kiệm năng lượng n hoạt động như cận trên của thuật toán, dam bảo cho thời gian lay mẫu thuộc khoảng [Tbase, n*Tbase], và Ti41

49

sẽ luôn lớn hơn hoặc bằng khoảng thời gian lấy mẫu nhỏ nhất Tuase. Ta có thé mô tả chỉ tiết như sau, đầu tiên mức độ biến động của bộ dữ liệu D được đánh giá, nếu D lớn, điều này chứng tỏ rằng sự thay đổi của MAD đang lấn at những thay đôi của N điểm dit liệu cuối cùng, giá trị của fenange dần hội tụ thành 1, kéo theo giá trị của thời gian lần thu thập dir liệu tiếp theo Ti+1 dan đạt đến khoảng thời gian tối thiểu Tbase. Ngược lại, D nhỏ, chứng tỏ rang sự thay đổi sự thay đổi của dit liệu không nhiều, thời gian lần thu thập dữ liệu tiếp theo T;¿¡ dần đạt đến n lần Tuase. Theo những gi

đã mô ta, n có thé nhận giá trị từ 1 đến œ, đồng nghĩa với việc Tj; sẽ biến thiên từ Tbase đến œ, điều này làm cho cận trên của thuật toán trở nên vô nghĩa, vì thế n được

đề xuất tại 3.1.4. Đồng thời, nếu n được cài đặt là 1 thì fchange được tính toán bằng 1, kéo theo Ti+1 băng Tpase, đồng nghĩa với việc không có tiết kiệm năng lượng gì ở

đây.

Đề giải quyết van dé phát hiện ra sự biến đổi của dữ liệu, D được định nghĩa ở trên. Tại đây, ta cần thiết phải nhắc đến độ lệch tuyệt đối trung vị [39]. Thông

thường, phương sai và độ lệch chuẩn là thước đo độ chênh lệch nhưng chúng bị ảnh

hưởng nhiều bởi các giá tri không ôn định (cực cao hoặc cực thấp). Nếu dữ liệu

bình thường, độ lệch chuan thường là lựa chọn tốt nhất dé đánh giá mức chênh lệch.

Tuy nhiên, ngữ cảnh của chúng ta đang thực hiện trên dữ liệu thu thập từ các cảm

biến, chúng có thể bị biến động một cách đột ngột, cao hoặc thấp bất thường, không

thể kiểm soát được. Chính vì thế, MAD được lựa chọn. Kết quả của việc tính toán này là giá trị D không chỉ nhanh chóng phát hiện những thay đổi trong dữ liệu mà còn mạnh mẽ đối với những trường hợp ngoại lệ.

3.1.6. Mô phỏng thuật toán UDASA

Mã giả của thuật toán được mô tả như sau:

Input: Tập dữ liệu M, mẫu cuối cùng hiện tại của tập dữ liệu i, kích thước của các

dữ liệu cuôi cùng N, và mức độ tiệt kiệm năng lượng n.

Output: Thời gian lay mẫu ở lần ¡+1 T:+:.

50

Bước 1: Khởi tao Wn = {Min, Mi.n+1, Mi-n+z,... Mi}

Bước 2: Tinh toán:

U

— 1Wy = Nà), Dô(M,)

Bước 3: tính toán độ biến đổi của tập dit liệu:

1 „—* (Wy )

Bước 4: Tính thời gian lấy mẫu ở thời điểm Ti+1:

Ti41 = (n+ 1+e-mP) * Thase1-n

return T;.;

3.2. Mô hình Usecase

Trong dự án này, nhóm chúng tôi chỉ xây dung | loại user là người quan tri

(admin).

Guan nát) ——>

` HH thiết bị

aa Quan sát — yC scat igs) ———> a

Dieu Pa $0) _... ằ ( Cập nhật thiết bị

° ——* Trực tiếp

_— > Gián tiếp

Điều chỉnh Kem biéu đồ dữ liệu giữa cáo Quản lý Xem, thêm,

tab so sánh thiết bi, cam bien sửa xóa

Hình 3.10 Sơ đồ Usecase

51

Admin là người quản lý hệ thống, có toàn quyên thao tác trên giao diện web, từ việc quản lý các thiết bị, cảm biến, thao tác với dữ liệu thu thập đến việc điều chỉnh tab so sánh hay điều chỉnh thông số của thuật toán trên các thiết bị.

52

Một phần của tài liệu Khóa luận tốt nghiệp Mạng máy tính và truyền thông: Giải pháp tái cấu hình thiết bị libelium dựa trên việc điều chỉnh tần suất đọc dữ liệu cảm biến để tiết kiệm năng lượng (Trang 52 - 67)

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

(111 trang)