Các thiết bị mô phỏng UPnP

Một phần của tài liệu Web service tích hợp tự động (Trang 54)

3.3.1.1 Đèn nh phân UPnP (Binary Light)

Hình 3.2 : Đèn nh phân UPnP

Đèn nhị phân UPnP có tính năng cơ bản như tắt và mở. Thiết bị này được xây dựng theo tiêu chuẩn về thiết bị đèn nhị phân và bao gồm dịch vụ tiêu chuẩn “Switch Power” được mô tả trên UPnP Forum. Các dịch vụ của thiết bị được mô tả như bảng bên dưới :

Kiu thiết bKiu dch v ID Dch v

Light SwitchPower:1 SwitchPower Location:1 Location

55

Các biến số trạng thái của dịch vụ “SwitchPower” :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

Target Boolean 0, 1 0 No

Status Boolean 0, 1 0 Yes

Bng 3.2 :Các tham s trng thái ca dch v “SwitchPower”

Tham số trạng thái “Target” tham chiếu đến việc thiết lập trạng thái của đèn, tham số có giá trị “0” thì đèn sẽ tắt và ngược lại. Tham số “Status” tham chiếu trạng thái hiện tại của đèn.

Các hành động của dịch vụ “SwitchPower” được mô tả như bảng bên dưới :

Tên hành động Biến sHướng Tham s liên quan

SetTarget NewTargetValue IN Target

GetTarget RetTargetValue OUT Target

GetStatus ResultTargetStatus OUT Status

Bng 3.3 : Các hành động ca dch v “SwitchPower”

Hành động “SetTarget” được sử dụng để yêu cầu thay đồi trạng thái của đèn mở hoặc tắt. Hành động “GetTarget” trả về giá trị của yêu cầu và hành động “GetStatus” trả về trạng thái hiện tại.

56

3.3.1.2 Công tc đin (Switch)

Hình 3.3 : Công tc đin

Công tắc điện là thiết bị bật tắt đơn giản với hai trạng thái. Khi người dùng bấm vào giao diện sử dụng của thiết bị, trạng thái của thiết bị sẽ thay đồi. Các dịch vụ của thiết bịđược mô tả như bảng bên dưới :

Kiu thiết bKiu dch v ID Dch v

Switch Switch:1 Switch Location:1 Location

57 Các biến số trạng thái của dịch vụ “Switch” :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

State Boolean 0, 1 0 No

Bng 3.5 : Các tham s trng thái ca dch v “Switch”

Tham số trạng thái “State” tham chiếu đến trạng thái hiện tại của công tắc.

Các hành động của dịch vụ “Switch” được mô tả như bảng bên dưới :

Tên hành động Biến sHướng Tham s liên quan

SetState NewState IN State

GetState ResultState OUT State

Bng 3.6 : Các hành động ca dch v “Switch”

Hành động “GetState” trả về trạng thái hiện tại của thiết bị. Hành động “SetState” thiết lập giá trị trạng thái của thiết bị.

58

3.3.1.3 Đin thoi (Phone)

Hình 3.4 : Đin thoi

Điện thoại mô phỏng tính năng cơ bản với hai trạng thái là đổ chuông và im lăng. Các dịch vụ của thiết bịđược mô tảở bảng bên dưới.

Kiu thiết bKiu dch v ID Dch v

Phone Ring:1 Ring

Location:1 Location

59 Các biến số trạng thái của dịch vụ “Ring” :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

Target Boolean 0, 1 0 No

Status Boolean 0, 1 0 Yes

Bng 3.8 :Các tham s trng thái ca dch v “Ring”

Tham số “Target” tham chiếu đến trạng thái muốn thiết lập của thiết bị. Tham số “Status” là trạng thái hiện tại của thiết bị.

Các hành động của dịch vụ “Ring” được mô tả như bảng bên dưới :

Tên hành động Biến sHướng Tham s liên quan

SetTarget NewTargetValue IN Target

GetTarget RetTargetValue OUT Target

GetStatus ResultTargetStatus OUT Status

60

3.3.1.4 Máy nghe nhc CD (CD Player)

Hình 3.5 : Máy nghe nhc

Thiết bị nghe nhạc “CDPlayer” được mô tả theo tiêu chuẩn của UPnP Forum. Thiết bị này có các chức năng cơ bản như thêm hoặc giảm bớt đĩa, điều khiển âm lượng, điều khiển các trạng thái chơi nhạc,.. Các dịch vụ của thiết bị được mô tả như bảng bên dưới.

Kiu thiết bKiu dch v ID Dch v

CDPlayer Audio:1 Audio ChangeDisc:1 ChangeDisc PlayCD:1 PlayCD SwitchPower:1 SwitchPower Location:1 Location

61

Các dịch vụ chính của thiết bị là “Audio” và “PlayCD”. Dịch vụ “Audio” điều khiển các thông số về âm thanh như âm lượng, trống, độ cân bằng,… Dịch vụ “PlayCD” thiết lập các trạng thái của thiết bị khi chơi nhạc như tạm dừng,

Các biến số trạng thái của dịch vụ “Audio” :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

Balance Integer -127, 127 0 Yes

Bass Integer -127, 127 0 Yes

Fade Integer -127, 127 0 Yes

Treble Integer -127, 127 0 Yes

Volume Integer 0, 255 0 Yes

Bng 3.11 : Các tham s trng thái ca dch v “Audio”

Các hành động của dịch vụ “Audio” được mô tả như bảng bên dưới :

Tên hành động Biến sHướng Tham s liên quan

AddVolume NewVolume IN Volume

GetAudio CurrentVolume OUT Volume

SetBalance NewBalance IN Balance

SetBass NewBass IN Bass

62

SetTreble NewTreble IN Treble

SetVolume NewVolume IN Volume

Bng 3.12 : Các hành động ca dch v “Audio”

Các biến số trạng thái của dịch vụ “PlayCD” :

Tên biến sKiu d liu

Giá tr cho phép Giá tr mc định S

kin

PlayMode string PLAY, PAUSE, STOP STOP Yes

PlayProgram string ONCE_IN_ORDER, EPEAT_IN_ORDER, ONCE_RANDOM, REPEAT_RANDOM

ONCE_IN_ORDER Yes

TrackDuration string Yes

TrackNumber Integer 0, 255 0 Yes

63

3.3.1.5 Điu khin Tivi (TV Control Emulator)

Hình 3.6 : Điu khin Tivi

Thiết bị mô phỏng chức năng cơ bản của bộđiều khiển tivi thực với các chức năng nhưđiều khiển âm lượng, nguồn điện bật tắt, màu sắc, độ sáng, độ tương phản, điều khiển kênh. Các dịch vụ của thiết bịđược mô tả như bảng bên dưới :

64 Kiu thiết bKiu dch v ID Dch vụ TV tvcontrol:1 tvcontrol tvpicture:1 tvpicture Location:1 Location Bng 3.14 : Các dch v ca TV Các biến số trạng thái của dịch vụ “tvcontrol” :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

Channel Integer 1, 100 1 Yes

Mute Boolean 0,1 0 Yes

Power Boolean 0,1 0 Yes

Volume Integer 1,100 5 Yes

Bng 3.15 : Các biến s trng thái ca dch v “tvcontrol”

Các hành động của dịch vụ “tvcontrolSCPD” được mô tả như bảng bên dưới :

Tên hành động Biến sHướng Tham s liên quan

DecreaseChannel Channel IN Channel

DecreaseVolume Volume IN Volume

65

IncreaseVolume Volume IN Volume

PowerOff Power IN Power

PowerOn Power IN Power

SetChannel NewChannel IN Channel

SetMute NewMuteValue IN Mute

SetVolume NewVolume IN Volume

66

3.3.1.6 Đồng h hn gi (Timer)

Hình 3.7 : Đồng h hn gi

Thiết bị đồng hồ hẹn giờ là thiết bị đếm ngược thời gian theo từng giây. Khoảng thời gian đồng hồ chạy được thiết lập và có thể tạm dừng hoặc dừng hẳn thiết bị về trạng thái ban đầu. Các dịch vụ của thiết bịđược mô tả như bảng bên dưới :

Kiu thiết bKiu dch v ID Dch v

Time Timer:1 Timer

Location:1 Location

Bng 3.17 : Các dch v ca đồng h hn gi

Các biến số trạng thái của dịch vụ “Timer” :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

Finished Boolean 0, 1 0 Yes

67

Minute Integer 0, 255 0 No

Second Integer 0, 255 0 No

Pause Boolean 0, 1 0 Yes

Bng 3.18 : Các tham s trng thái ca dch v “Timer”

Các tham số trạng thái “Hour”, “Minute”, “Second” tương ứng là giá trị giờ, phút, giây thiết lập để đồng hồ đếm theo từng giây về giá trị 0. Tham số “Pause” được sử dụng để thiết lập trạng thái tạm dừng của đồng hồ, khi tham số có giá trị “1” thì đồng hồ sẽ tạm dừng tại thời điểm đó, khi tham số có giá trị “0” đồng hồ sẽ tiếp tục chạy. Tham số “Finished” tham chiếu đến trạng thái hiện tại của thiết bị, tham số có giá trị “0” khi đồng hồđang chạy và có giá trị “1” khi đồng hồ chạy hết thời gian thiết lập.

Các hành động của dịch vụ “Timer” được mô tả như bảng bên dưới :

Tên hành động Biến sHướng Tham s liên quan

GetFinished RetFinished OUT Finished

SetTime NewHour,NewMinute, NewSecond

IN

Pause

Stop

68

Hành động “GetFinished” trả về trạng thái hoàn thành của đồng hồ, dựa vào giá trị trả về sẽ biết được đồng hồ đã chạy xong hay chưa. Hành động “SetTime” thiết lập khoảng thời gian chạy ngược của đồng hồ, khi gọi đến hành động này với các tham số giờ, phút, giây được thiết lập thì đồng hồ sẽ bắt đầu hoạt động. Hành động “Pause” thiết lập giá trị của tham số pause để tạm dừng thiết bị. Hành động Stop sẽ thiết lập tham số Finished có giá trị 1 và các tham số Hour, Minute, Second lần lượt có giá trị 0.

69

3.3.1.7 Cm biến chuyn động (Motion Sensor)

Hình 3.8 : Cm biến chuyn động

Thiết bị cảm biến chuyển động mô phỏng thiết bị trong thực tế. Thiết bị này được sử dụng để phát hiện chuyển động của con người. Ví dụ như khi chủ nhà bước qua cửa vào phòng, cảm biến phát hiện có chuyển động, tham số trạng thái của thiết bị lập tức thay đổi giá trị, dựa vào sự thay đổi này có thể thiết lập các hành động của các thiết bị khác như rèm cửa sổ tự động mở, đèn mở hoặc bật hệ thống điều hòa không khi trong phòng.

70

Kiu thiết bKiu dch v ID Dch v

MotionSensor MotionSensor:1 MotionSensor Location:1 Location

Bng 3.20 :Các dch v ca cm biến chuyn động

Các biến số trạng thái của dịch vụ “MotionSensor” :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

Motion Boolean 0, 1 0 Yes

Bng 3.21 :Các tham s trng thái ca dch v “MotionSensor”

Tham số “Motion” được sử dụng để thông báo khi thiết bị phát hiện có chuyển động. Giá trị khởi tạo ban đầu là 0, khi phát hiện có chuyển động thì giá trị này sẽ chuyển sang 1 và sẽ tự động trả về giá trị 0 sau một thời gian ngắn, có thể là vài giây. Tham số này có thông báo sự kiện, do đó điểm điều khiển và các thiết bị theo dõi nó sẽ nhận được thông báo khi thiết bị phát hiện có chuyển động.

Các hành động của dịch vụ “MotionSensor” được mô tả như bảng bên dưới :

Tên hành động Biến sHướng Tham s liên quan

SetMotion NewMotion IN Motion

GetMotion RetMotion OUT Motion

71

3.3.2 Dch v v trí (Location Service)

Dịch vụ vị trí được sử dụng để xác định vị trí của các thiết bị trong môi trường. Tất cả các thiết bị đều được tích hợp thêm dịch vụ vị trí. Lấy ví dụ về thiết bị đèn chiếu sáng trong nhà, mỗi chiếc được đặt tại một vị trí khác nhau, thông tin về vị trí được xác định dựa vào biến số trạng thái vị trí của dịch vụ. Đểđiểm điều khiển xác định được vị trí của các thiết bị, thông tin về vị trí được lưu trong tập tin XML cùng UDN của thiết bị. Thông tin trong tập tin sẽđược cập nhật khi biến số trạng thái vị trí thiết bị thay đổi.

Các biến số trạng thái của dịch vụ vị trí theo tiêu chuẩn của UPnP được xác định như bảng bên dưới :

Tên biến s Kiu d liu Giá tr cho phép Giá tr mc định S kin

Locality String DEFAULT Yes

Mobility Boolean 0, 1 0 No

Bng 3.23: Dch v v trí urn:upnp-org:serviceId:Location

Các biến số “Locality” và “Mobility” lưu trữ thông tin về vị trí và tính chuyển động của thiết bị. Biến số “Locality” được phép thông báo sự kiện về sự thay đổi giá trị, do đó các điểm điều khiển sẽ nhận được thông báo khi thiết bị thay đổi vị trí. Nếu biến số “Mobility” có giá trị bằng 0 (hoặc False) thì giá trị của biến số “Locality” sẽ không báo giờ thay đổi. Khi cài đặt thiết bị nếu người dùng thiết lập tính chuyển động “Mobility” và thông tin vị trí của thiết bị là không đổi thì thiết bịđó sẽ giữ nguyên vị trí.

72

Các hành động của dịch vụđược mô tả như hình bên dưới :

Tên hành động Tên tham sHướng Biến s liên quan

GetLocality Locality OUT Locality

GetMobility Mobility OUT Mobility

Bng 3.24: Các hành động ca dch v v trí urn:upnp-org:serviceId:Location

Dịch vụ vị trí cung cấp các hành động “GetLocality()”, “GetMobility” để lấy giá trị của các biến số trạng thái “Locality” và “Mobility”.

Sử dụng tên phòng để xác định vị trí thiết bị có ý nghĩa hơn việc sử dụng tọa độ. Tuy nhiên cũng có vài điểm hạn chế của phương pháp này. Đầu tiên là người cài đặt phải cấu hình hệ thống để nó biết vị trí mỗi phòng. Vấn đề này sẽ không được đề cập đến trong đồ án này, một vấn đề khác là vấn đề tiềm năng khi những người dùng khác nhau lại có cách đặt tên khác cho cùng một phòng. Ví dụ một vài người khác nhau có thể cùng gọi tên phòng khách là “living room” hoặc “setting room”,... Giải pháp để giải quyết là đưa cho người dùng một danh sách các tên đã định nghĩa trước và cho phép họ thêm các thông tin khác nếu cần thiết. Dịch vụ vị trí định nghĩa một danh sách tên như sau :

DEFAULT Bedroom 2 Kitchen Bathroom 1 Porch

Living Room Bedroom 3 Utility Room Bathroom 2 Front Garden Dining Room Bedroom 4 Toilet 1 Hall Back Garden Bedroom 1 Bedroom 5 Toilet 2 Landing

73

3.3.3 Đim điu khin – Control Point

Điểm điều khiển hay Control Point là tìm kiếm, phát hiện, điều khiển và tương tác với các thiết bị. Điều điều khiển sử dụng giao thức SSDP lắng nghe bản tin của các thiết bị trong mạng để tìm kiếm các thiết bị tương thích với chuẩn UPnP. Sau khi phát hiện các thiết bị, điểm điều khiển biên dịch bản mô tả về các thiết bịđó và nếu nó phù hợp thì sẽ thiết lập sự tương tác và điều khiển.

Để điều khiển được các thiết bị, điểm điều khiển sử dụng giao thức SOAP, các hành động gửi đi dưới dạng bản tin SOAP có chứa nội dung hàm và các giá trị tham số nếu cần. Điểm điều khiển luôn theo dõi sự thay đổi của các thiết bị bằng cách nhận các thông báo thông qua giao thức GENA. Điểm điều khiển quan tâm đến việc nhận các thông báo, theo dõi sự kiện biến số trạng thái và cung cấp đích đến để gửi sự kiện. Điểm điều khiển còn xác định thời gian theo dõi để làm mới hoặc hủy bỏ sự theo dõi đối với các thiết bịđó.

Điểm điều khiển sẽ liệt kê danh sách tất cả các thiết bị khả dụng trong mạng, các dịch vụ thiết bị cung cấp, trong mỗi dịch vụ bao gồm các hàm số hay hành động và các tham số trạng thái. Dựa trên các tính năng mà điểm điều khiển cung cấp, người dùng có thể xem toàn bộ thông tin mô tả về thiết bị như kiểu thiết bị, tên thiết bị, UDN, thông tin nhà sản xuất,… Người dùng có thể tương tác, theo dõi sự thay đổi của các tham số trạng thái của thiết bị và điều khiển các thiết bị đó thông qua các hành động mà thiết bị cung cấp.

74

Hình 3.9: Giao din đim điu khin

75

Thông qua giao diện chương trình, người dùng chọn một trong các kiểu thiết bị của các thiết bị có sẵn trong hệ thống hoặc tự khai báo thêm, sau đó lựa chọn kiểu thiết bị có khả năng tương thích, kết hợp được và bắt đầu khởi tạo mối quan hệ này. Khi người dùng chọn một kiểu thiết bị thì chương trình sẽ hiển thị danh sách các kiểu thiết bị đã được thiết lập trước đó. Người dùng cũng có thể xóa các mối quan hệ đó nếu thấy không còn phù hợp một cách trực quan trên giao diện sử dụng.

Hình 3.11 : Giao din chc năng to kch bn điu khin các thiết b

Dựa trên thông tin về kiểu thiết bị đã được thiết lập ở trên và thông tin về vị trí của thiết bị, hệ thống sẽ lọc danh sách các thiết bị có khả năng tương thích cao thỏa mãn điều kiện để kết hợp tạo thành kịch bản điều khiển.

Một phần của tài liệu Web service tích hợp tự động (Trang 54)