1. Trang chủ
  2. » Công Nghệ Thông Tin

Triển khai nhà thông minh với webservice và ngôn ngữ bpel trên thiết bị hỗ trợ UPNP

54 245 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 54
Dung lượng 1,36 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với sự ưu việt của XML và SOAP,HTTP trong công nghệ Webservice dịch vụ web hơn 966 nhà sản xuất thiết bị điện tử đã cùng phát triển chuẩn kiến trúc UPnP nhằm đảm bảo việc sử dụng thiết b

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Chuyên ngành : CÔNG NGHỆ THÔNG TIN

LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC

1 Phạm Huy Hoàng

Trang 2

Mục lục

LỜI CAM ĐOAN 3 DANH SÁCH CÁC TỪ VIẾT TẮT 5 PHẦN MỞ ĐẦU 6 CHƯƠNG 1.NHÀ THÔNG MINH VÀ CÁC CHUẨN DÙNG TRONG THIẾT KẾ NHÀ

2 Sơ lược một số chuẩn giao thức phổ biến áp dụng trong triển khai nhà thông minh 9

3 Thiết kế nhà thông minh với webservice trên thiết bị hỗ trợ Upnp và ngôn ngữ quy

4 Kiểm soát thiết bị 21

CHƯƠNG 4 KẾT HỢP GIỮA WEBSERVICE TRONG THIẾT BỊ UPNP VÀ NGÔN

2 Quy trình kết hợp giữa Webservice của thiết bị UPnP và PBEL 39

4 Phân tích các chức năng và sự kiện trong thiết bị UPnP 41

5 Xây dựng kịch bản hoạt động cho các thiết bị 43

6 BPEL hóa kịch bản hoạt động của các thiết bị 45 CHƯƠNG 5 XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ VÀ ĐIỀU KHIỂN CÁC THIẾT

2 Giao diện và hoạt động của chương trình quản lý và điều khiển các thiết bị hỗ trợ

CHƯƠNG 6 KẾT LUẬN VÀ ĐỀ XUẤT 53 TÀI LIỆU THAM KHẢO 54

Trang 4

LỜI CAM ĐOAN

 

Tôi xin cam đoan, toàn bộ luận văn này là quá trình nghiên cứu độc lập của chính bản thân Luận văn được hình thành từ hướng dẫn của Tiến sĩ Phạm Huy Hoàng Trong quá trình nghiên cứu tôi có sử dụng một số tài liệu từ các tác giả khác và đã nêu trong phần tài liệu tham khảo

Hà Nội, ngày tháng năm 2012

ĐỖ TRẦN ANH

Trang 5

Danh sách các từ viết tắt :

PDA Personal digital assistant

DHCP Dynamic Host Configuration Protocol

HTTP Hypertext Trasfer Protocal

SSDP Simple Service Discovery Protocol

SOAP Simple Object Access Protocol

WSDL Web services Description Language

Trang 6

PHẦN MỞ ĐẦU

Ngày nay mô hình nhà thông minh ngày trở nên phổ biến, con người đang

cố gắng tạo ra môi trường sống tiện nghi và thân thiện Với sự phát triển của công nghệ thông tin về phần cứng , phần mềm việc xây dựng ngôi nhà thông minh ngày càng trở nên dễ dàng

Vậy như thế nào là nhà thông minh ? Nhà thông minh là ngôi nhà mà những tiện nghi mang lại cho người dùng được tự động hóa và diễn theo một kịch bản đã được định nghĩa trước

Có rất nhiều hãng sản xuất các thiết bị nhà thông minh theo rất nhiều tiêu chuẩn, tuy nhiên các thiết bị hầu như chưa được mềm hóa Vì vậy để mềm hóa các thiết bị trong ngôi nhà thông minh chúng ta phải xây dựng một giải pháp mới theo hướng phần mềm làm chủ ngôi nhà

Với sự ưu việt của XML và SOAP,HTTP trong công nghệ Webservice (dịch

vụ web) hơn 966 nhà sản xuất thiết bị điện tử đã cùng phát triển chuẩn kiến trúc UPnP nhằm đảm bảo việc sử dụng thiết bị thông qua các điểm điều khiển được dễ dàng

Thông qua kiến trúc UPnP hàng loạt các sản phẩm như : Tivi, Điện thoại, máy tính cá nhân, tủ lạnh… đã ra đời

Từ sự phổ biến của các thiết bị UPnP, tôi đã được tiến sĩ Phạm Huy Hoàng hướng dẫn nghiên cứu đề tài “Triển khai nhà thông minh với Webservice và BPEL trên thiết bị hỗ trợ UPnP “

Mục đích nghiên cứu của đề tài này là :

1- Nghiên cứu một số giải pháp nhà thông minh phổ biến

2- Nghiên cứu cách hoạt động của các thiết bị UPnP

3- Nghiên cứu về Webservice trong các thiết bị UPnP

4- Nghiên cứu ngôn ngữ quy trình nghiệp vụ BPEL

5- Nghiên cứu quá trình kết hợp giữa Webservice và quy trình nghiệp vụ BPEL

6- Xây dựng chương trình kết nối các thiết bị hỗ trợ UPnP(Webservice) và điều khiển thiết bị bằng ngôn ngữ quy trình BPEL

Trang 7

CHƯƠNG 1.NHÀ THÔNG MINH VÀ CÁC CHUẨN DÙNG TRONG THIẾT

KẾ NHÀ THÔNG MINH

1 Tổng quan

Nhà thông minh là hệ thống nhà mà trong đó các thành phần cơ bản như điện, nước, viễn thông, an ninh đều được áp dụng các công nghệ tiên tiến về điều khiển tự động để điều khiển theo các quy trình định nghĩa trước Thông qua các hệ thống điều khiển này, người dùng sẽ cảm thấy thoải mái và gần gũi hơn với ngôi nhà của mình

Lợi ích mà nhà thông minh mang lại cho người dùng là tiện lợi, tiết kiệm, hiện đại và sang trọng

Tùy thuộc vào số thành phần, số lượng thiết bị mà việc thông minh hóa ngôi nhà sẽ có các mức độ khác nhau Thông thường một ngôi nhà thông minh thường gắn liền với việc tự động các hệ thống như :

Điều khiển trực tiếp (Direct control): Thông qua các công tắc thông minh,

có khả năng tùy biến chức năng thông qua việc lập trình theo ý thích của người sử dụng

Điều khiển từ xa qua thiết bị cầm tay (remote control): Việc điều khiển từ

xa sử dụng sóng RF, do vậy cho phép tăng khoảng cách điều khiển mà không bị cản trở bởi tường hay vật cản

Điều khiển trung tâm (Center control): Sử dụng các màn hình điều khiển

dạng cảm ứng (touchpanel), dạng LCD, dạng RCD cho phép quản lý tại một vị trí nhiều thiết bị và chức năng Thể hiện các trạng thái hoạt động của thiết bị một cách trực quan Ngoài ra còn cho phép hiển thị nhiệt độ, độ ẩm, độ sáng … khi kết hợp với các cảm biến tương ứng trong hệ thống

Điều khiển theo thời gian (Times control): Được lập trình cho các nhóm

đèn ngoài nhà, đèn cổng…để có thể tự động bật sáng lúc 18h30 và tự tắt lúc 23h

Trang 8

Điều khiển theo thời gian trễ (Delay control): Được tích hợp cho phím tắt

trung tâm khi ra khỏi nhà ví dụ các thiết bị sẽ tự động tắt sau 03 phút

Điều khiển theo sự kiện (Events control): Đây là tính năng điều khiển cao

cấp Ví dụ : Khi đèn WC sáng trong thời gian > 1phút thì quạt gió sẽ tự động chạy Khi đèn tắt sau 30’ thì quạt gió sẽ tự động tắt Hoặc khi độ ẩm trong đất nhở hơn mức ngưỡng (lựa chọn trước) thì hệ thống tưới sân vườn sẽ tự động chạy …

Điều khiển theo lịch trình (Schedules control): Hệ thống cho phép định

trước một lịch trình hoạt động cho các thiết bị trong hệ thống theo thời gian biểu trong ngày hoặc trong một giải ngày khi người chủ đi vắng

Điều khiển theo chuyển động (motion detector), theo sự hiện diện (presence detector): Các cảm biến chuyển động được bố trí tại khu vực ngoài nhà,

hành lang, cầu thang … để tự động bật/tắt đèn khi có người đi qua Cảm biến hiện diện được lắp tại khu vực thư viện Ngoài ra, các cảm biến này còn là đầu vào cho

hệ thống báo động khi cần thiết

Điều khiển mành rèm, cửa tự động : Các rèm cửa tự động của lầu trệt, lầu

hai được tích hợp vào hệ thống, cho phép điều khiển từ nhiều vị trí Ngoài ra nó còn được tích hợp vào chế độ điều khiển theo cảnh (Scene control)

Trung tâm thời tiết (Weather Station): Là sự kết hợp bởi các bộ cảm biến

về thời tiết như : cảm biến gió, cảm biến ánh sáng, cảm biến bụi … Các tín hiệu của các cảm biến này đóng vai trò như các tác động đầu vào để điều khiển các thiết bị khác một cách tự động Ví dụ : khi gió to, mái hiên tự động sẽ được mở ra, khi ánh sáng ban ngày đủ lớn, các nhóm đèn không cần thiết sẽ tự động tắt …

Điều khiển qua điện thoại (Telephone control): Bộ điều khiển qua điện

thoại được tích hợp vào hệ thống cho phép lập trình điều khiển hơn 10 thiết bị hoặc nhóm thiết bị Ngoài ra, nó còn thực hiện nhiệm vụ cảnh báo cho người sử dụng qua các số điện thoại (được cài đặt trước) khi trong nhà có sự cố như cháy, trộm …

Điều khiển qua IP (IP control): Bộ điều khiển qua IP cho phép người sử

dụng truy nhập điều khiển hệ thống qua các máy tính trong mạng cục bộ (LAN) hoặc mạng diện rộng (WAN), qua các điện thoiaj thông minh (PDA) để có thể giám sát, điều khiển các thiếu bị được lựa chọn trong hệ thống Thiết bị này có sự phân cấp bảo mật theo tài khoản truy cập

Điều khiển qua máy tính PC: Việc dùng máy tính với phần mềm chuyên

dụng làm cho việc điều khiển ngôi nhà thông minh trở nên dễ hơn và gần như không giới hạn các kịch bản

Trang 9

Rất nhiều giải pháp để áp dụng cho ngôi nhà thông minh như : mua các thiết

bị tự động rời rạc, áp dụng hệ thống thông mình của từng hãng khác nhau Tuy nhiên mỗi các giải pháp đều có ưu nhược điểm

Mua các thiết bị tự động

rời rạc

Dễ lắp đặt, dễ thay thế Việc điều khiển tập

trung là không thể Mua các thiết bị đồng

bộ của một hãng

Toàn bộ ngôi nhà đi theo 1 dòng sản phẩm của một hãng sản xuất nên dễ sử dụng Dễ dàng trong việc triển khai

Phụ thuộc nhiều vào thiết bị cũa hàng

Số lượng sản phẩm của

1 chuẩn có thể không phong phú

2 Sơ lược một số chuẩn giao thức phổ biến áp dụng trong triển khai nhà thông minh

Chuẩn giao thức X10: là một giao thức cho phép các thiết bị tương thích có thể

trao đổi tín hiệu lẫn nhau thông qua hệ thống dây dẫn điện trong nhà Phần lớn các sản phẩm tương thích X10 có giá thành tương đối hợp lý bởi việc các thiết bị trao đổi tín hiệu lẫn nhau thông qua hệ thống dây dẫn có sẵn không làm phát sinh thêm chi phí Việc lắp đặt một hệ thống X10 cũng thật là đơn giản, bộ phát tín hiệu X10 được cắm vào hoặc gắn vào dây dẫn và gửi các tín hiệu điều khiển (bật, tăt, sáng, tối,…) tới một bộ nhận tín hiệu được lắp ở một vị trí khác trong nhà

Với X10, việc điều khiển rất đơn giản, sau khi được phát ra từ thiết bị phát tín hiệu, các tín hiệu điều khiển được chuyển đến thiết bị thu phát tín hiệu Bằng việc sử dụng điều khiển từ xa hoăc bằng cách quay số điện thoại bạn có thể điều khiển 1 đến 256 thiết bị trong hệ thống điện nhà mình

Chuẩn giao thức EIB(EuroPean Installation Bus): Chuẩn giao thức điều khiển

thiết bị thông minh của Châu Âu, toàn bộ thiết bị điện trong tòa nhà được kết nối

Trang 10

với nhau thông qua hệ thống EIB với 1 dây duy nhất chạy đến từng thiết bị Mỗi thiết bị sẽ được gán một địa chỉ.Thế mạnh của EIB là tính linh hoạt và sự mềm dẻo trong việc lập trình phần mềm điều khiển trên máy tính

Chuẩn giao thức EIB được hơn 200 nhà sản xuất thiết bị điện tại Châu Âu ủng hộ và có nhiều sản phẩm tuân thủ theo tiêu chuẩn EIB, thành lập nên hiệp hội các nhà sản xuất các thiết bị điện thông minh theo tiêu chuẩn Châu Âu(KNX)

Chuẩn giao tiếp RS 485: Chuẩn giao thức cho phép tạo kết nối mạng cho 128 thiết

bị trên 1 đôi dây, ứng với mỗi thiết bị sẽ được đánh địa chỉ, chiều dài tối đa của đôi dây 1200m Tốc độ truyền của chuẩn RS485 bị phụ thuộc vào chiều dài của toàn hệ thống mạng Một số nhà thông minh sử dụng giao thức này cho việc điều khiển các thiết bị an ninh, hoặc lấy các số liệu nhiệt độ và độ ẩm

Ngoài việc sử dụng các chuẩn giao thức trên, hiện nay với xu thế áp dụng việc điều khiển từ máy tính một số hệ thống nhà thông minh còn dùng các giao tiếp như : Wireless, RF, Bluetooth… sử dụng TCP-IP làm chuẩn giao tiếp

3 Thiết kế nhà thông minh với webservice trên thiết bị hỗ trợ Upnp và ngôn ngữ quy trình BPEL

Chuẩn UpnP(Universal Plug and Play ) ra đời năm 1999 và được 950 công ty trong lĩnh vực máy tính, thiết bị gia dụng thống nhất sử dụng và ngày áp dụng trên nhiều thiết bị trong gia đình như : Tivi, máy tính, máy nghe nhac, tủ lạnh, thiết bị di động, các hệ thống chia sẽ tập tin…

Mục tiêu của chuẩn UpnP là giúp các thiết bị kết nối mạng liền mạch, dễ

dàng trong các hệ thống mạng gia đình và doanh nghiệp Từ việc được hỗ trợ kết

nối dễ dàng và số lượng thiết bị rất phổ biến với 966 nhà cung cấp thiết bị, luận văn này nghiên cứu việc kết nối các thiết bị hỗ trợ Upnp và điều khiển chúng thông qua ngôn ngữ quy trình BPEL

Trang 11

CHƯƠNG 2 KIẾN TRÚC UPNP TRONG QUÁ TRÌNH TRIỂN KHAI NHÀ

THÔNG MINH

1 Tổng quan kiến trúc UPnP

Kiến trúc UPnP là kiến trúc cung cấp các kết nối theo kiểu mạng ngang hàng (Peer to peer) cho các thiết bị như máy vi tính, điện thoại, thiết bị di dộng, thiết bị gia dụng dựa trên nền tảng các giao thức về mạng TCP/IP để kết nối liền mạch, dễ dàng mọi lúc mọi nơi

Các thiết bị hỗ trợ UPnP sẽ tự động phát hiện, cập nhật, cấu hình, nhận ra môi trường mà thiết bị phải làm việc, thông báo sự tồn tại của thiết bị và phát hiện các thiết bị khac trong cùng một mạng UpnP độc lập với toàn bộ các thiết bị vật lý khác cũng như hệ điều hành của các thiết bị

Những ưu điểm nổi bật của Upnp:

- Tính độc lập giữa thông tin và thiết bị: Upnp cho phép triển khai trên bất kì đường mạng nào như : Wifi, dây điện thoại, đường dây điện, ethenet, 1394

- Chạy trên mọi nền tảng : Các nhà cung cấp thiết bị còn có thể sử dụng bất

kì hệ điều hành, ngôn ngữ lập trình để xây dựng các sản phẩm Upnp

- Công nghệ dựa trên Internet : Công nghệ UPnP xây dựng dựa trên IP,TCP,UDP,HTTP,XML

- Giao diện người dùng : UPnP cho phép người dùng kiểm soát và điều khiển thiết bị thông qua giao diện người dùng tích hợp, được hiểu và chạy trên các trình duyệt web

- Điều khiển các chương trình : UPnP cho phép điều khiển các chương trình ứng dụng sử dụng các chức năng của thiết bị UPnP

- Các giao thức chung : Các nhà sản xuất thiết bị theo chuẩn UPnP đồng ý cung cấp các giao thức cơ bản cho từng thiết bị

Mục tiêu của UPnP là triển khai các mạng gia đình, mạng của các tòa nhà, mạng của doanh nghiệp nhỏ UPnP cho phép chia sẽ thông tin giữa bất kì hai thiết

bị dưới sự giám sát của bất kì thiết bị điều khiển cùng trong mạng.UPnP độc lập với

hệ điều hành, ngôn ngữ lập trình và công nghệ mạng

-UPnP tự động dò mạng và kết nối không cần cấu hình :

Kiến trúc UPnP hỗ trợ tự động phát hiện và không cần cấu hình qua đó thiết

Trang 12

- Truyền đạt khả năng của mình theo yêu cầu

- Tìm hiểu sự hiện diện cũng như khả năng của các thiết bị khác

- Ngắt kết nối một các tự động mà không để lại bất kì thông tin không mong muốn nào của thiết bị sau đó

- DHCP và DNS chỉ là 1 tùy chọn và chỉ được sử dụng nếu có sẳn trên mạng

UPnP dựa trên giao thức :

- Khai báo

- Thể hiện trong XML

- Truyền đạt thông qua HTTP Một số kịch bản ứng dụng UPnP :

Thế giới giải trí số : Sử dụng các thiết bị hỗ trợ UPnP cho phép truy cấp các

thông tin âm nhạc, video, hình ảnh được chia sẽ từ các thiết bị khác nhau mà không

cần qua tâm đến thiết bị lưu trữ Bạn có thể nghe nhạc trong khắp ngôi nhà, xem

phim, hình ảnh bằng ti vi, chơi trò chơi internet

Các thiết bị thông minh : Kết nối và điều khiển các thiết bị hỗ trợ UPnP

thông qua hệ thống mạng, chia sẽ các phương thức điều khiển thông qua World

Wide Web

UPnP Vendor

UPnP Forum

UPnP Device Architecture

HTTP HTTP UDP TCP

IP

Mô hình Các lớp giao thức trên thiết bị UPnP Lớp đầu tiên UPnP Vendor mang thông tin từ nhà sản xuất thiết bị, lớp tiếp

theo UPnP Forum mang thông tin mô tả của chuẩn UPnP đã được thống nhất có thể

là 1.0 hoặc 1.1 Thông tin từ các lớp trên sẽ được chuyển sử dụng cho các giao thức

của lớp tiếp theo như : giao thức SSDP, Multicast events, SOAP, GENA,HTTP các

giao thức này sử dụng UDP và TCP để làm giao thức chuyển tại trên nền tảng IP

Trang 13

Cơ chế hoạt động của thiết bị hỗ trợ UPnP thông qua các bước như sau :

Bước 1 : Khám phá và được cấp IP : Khi một thiết bị UPnP thêm vào

mạng giao thức UPnP cho phép thiết bị thông báo các dịch vụ mà mình cung cấp để kiểm soát các thành phần UPnP trên cùng mạng Tương tự như vậy các thiết bị đã

có trên mạng cũng khám phá các thông tin từ thiết bị UPnP mới tham gia

Bước 2 : Mô tả : Mặc dù thiết bị UPnP đã tham gia vào mạng, tuy nhiên các

thiết bị trong cùng một mạng còn biết rất ít thông tin về thiết bị mới tham gia Đối với các điểm kiểm soát để tìm hiểu thiết bị mới tham gia mạng, hoặc để tương tác với thiết bị, các điểm kiểm soát phải lấy mô tả thiết bị từ các đường dẫn được cung cấp từ thông báo phát hiện thiết bị Thông tin có thể bao gồm các thiết bị logic, các hàm hoặc các dịch vụ Mô tả của các thiết bị UPnP thể hiện trong các tập tin XML bao gồm thông tin cụ thể nhà cung cấp, nhà sản xuất, số lượng, số serial, tên trang web nhà sản xuất, các đường dẫn để kiểm soát sự kiện Đối với các dịch vụ thông tin mô tả bao gồm các lệnh, các hành động mà các dịch vụ cung cấp, hoặc các đối

số, cú pháp của hành động

Bước 3 : Điểm kiểm soát : Sau khi một điểm kiểm soát đã lấy được mô tả

của thiết bị từ bước 2, các điểm kiểm soát có thể gửi các điều khiển đến thiết bị.Để làm điều này một điểm kiểm soát sẽ gửi một thông điệp kiểm soát phù hợp với đường dẫn điều khiển dịch vụ ( có trong tập tin mô tả thiết bị) Thông điệp điều khiển cũng được thể hiện trong tập tin XML bằng các sử dụng giao thức truy cập SOAP

Bước 4: Sự kiện trong mạng UPnP: Một kịch bản dành cho một dịch vụ

của thiết bị UPnP bao gồm một danh sách các hành động mà dịch vụ đáp ứng, và một danh sách các biến được gửi trả lại trong quá trình thực thi.Một dịch vụ xuất bản của có trách nhiệm kiểm tra các giá trị trả lại của các biến trong quá trình thực thi và bất kì một điểm kiểm soát nào trên hệ thống đều có thể đăng kí nhận thông tin các biến này Dịch vụ xuất bản này cập nhật thông tin bằng cách gửi các tin nhắn tới các dịch vụ của thiêt bị UPnP Một tin nhắn sự kiện sẽ có thể bao gồm nhiều biến, hàm … các thông tin này có thể được mô tả trong tập tin XML của thiết

bị

Bước này đảm bảo cho việc các điểm kiểm soát trong mạng UPnP có thể lắng nghe trạng thái dịch vụ của các thiết bị mà không cần đăng kí Có hai phương thức thông báo sự kiện là : Unicast và Multicast

Bước 5 : Trình diễn: Ứng với mỗi thiết bị trong mạng UPnP đều có một địa

chỉ trang (URL), từ địa chỉ này các điểm kiểm soát có thể truy cập tải các trang này

Trang 14

vào các trình duyệt, tùy khả năng của trang mà các điểm kiểm soát có thể hiển thị,

điều khiển các thiết bị từ trình duyệt

2 Khám phá và được cấp IP(Notification and Search):

Khi một thiết bị tham gia vào mạng UPnP, giao thức khám phá của chuẩn UPnP cho phép thiết bị gửi các thông tin về mình đến các điểm kiểm soát Tương tự như thế khi một điểm kiểm soát tham gia vào mạng UpnP, giao thức khám phá của chuẩn UPnP cũng cho phép điểm kiểm soát có thể tìm thấy các thiết bị đã kết nối trong mạng UPnP

Việc thông báo khi tham gia vào mạng UPnP thông thường bao gồm các thông báo về các đặc điểm cơ bản của thiết bị như loại thiết bị, dịch vụ mà thiết bị cung cấp, trạng thái của thiết bị

Trang 15

Hình 1 : Kiến trúc khám phá của mạng các thiết bị hỗ trợ UPnP

Khi một thiết bị tham gia vào mạng, thiết bị phải tự mình thông báo những thông tin cơ bản của thiết bị đến với tất cả (Multicast) các thiết bị đang có trong mạng UPnP Bất kì các điểm kiểm soát nào quan tâm đến thiết bị đều có thể lắng nghe các thông tin cơ bản của thiết bị mới tham gia mạng Một thiết bị thông thường phải gửi các thông tin cơ bản đến các các thiết bị khác trên mọi giao diện

Trang 16

UPnP có thể Khi một điểm kiểm soát tham gia vào mạng UPnP nó có thể tìm kiếm

và khám phá tất cả các thiết bị và điểm kiểm soát đang có trên mạng UPnP Các điểm kiểm soát cũng có thể khám phá ra thiết bị mới thông qua các tin nhắn tại cổng mặc định 1900 của thiết bị (Unicast) hoặc cổng khác do thiết bị chỉ định

Trong trường hợp một điểm kiểm soát muốn lấy thêm thông tin của một thiết

bị các điểm kiểm soát có thể truy vấn thông tin thiết bị theo cú pháp của thông báo khám phá ra thiết bị để có thêm thông tin của thiết bị

Khi một thiết bị không còn tham gia mạng UPnP nó sẽ có thông điệp thông báo gửi tới các thiết bị khác về việc không tồn tại của thiết bị trên mạng UpnP Khi địa chỉ IP được cấp cho thiết bị thay đổi thì thiết bị cũng phải có thông điệp thông báo sự thay đổi IP của nó đến các điểm kiểm soát và các thiết bị cùng mạng

Khi một cụm thiết bị UPnP không còn tồn tại trên mạng UPnP nó nên có thông báo thu hồi các thông báo của thiết thiết bị con đã thông báo trước đó

Để hạn chế tắt nghẽn mạng, các thông báo của thiết bị UPnP phải được quy định thời gian còn hiệu lực (TTL) khi TTL > 1 nó sẽ cho thông báo đi qua nhiều bộ định tuyến

Quá trình khám phá đóng một vai trò rất quan trọng trong khả năng tương tác giữa các thiết bị các các điểm kiểm soát mặc dù có thể phiên bản UPnP là khác nhau Khi đó tính tương thích của các thiết bị phiên bản sau phải hoàn toàn phù hợp với các thiết bị phiên bản trước đó (tương thích ngược)

Trong quá trình khám phá các thiết bị trong mạng UPnP sử dụng giao thức SSDP (Simple Service Discovery Protocol) SSDP sử dụng một phần của các định dạng tiêu đề của HTTP 1.1 được quy định trong RFC 2616.Tuy nhiên, nó là không dựa trên đầy đủ HTTP 1.1 là vì SSDP sử dụng UDP thay vì TCP, và SSDP

có những quy tắc riêng Chi tiết về định dạng của SSDP có thể tham khảo thêm tài liệu : UPnP arch Device Architecture Ver 1.1

Trong kiến trúc khám phá của thiết bị hỗ trợ UPnP diễn ra các quá trình như : Advertise ( Quảng bá )

Search (Tìm kiếm thiết bị hoặc điểm điều khiển)

Quá trình quảng bá (Advertise ) : Khi một thiết bị UPnP được thêm vào mạng, thiết bị phải quảng bá thông tin dịch vụ của mình đến các điểm kiểm soát

3 Mô tả thiết bị :

Quá trình tự mô tả thiết bị diễn ra sau khi thiết đã tham gia vào UPnP, lúc này điểm kiểm soát đã phát hiện ra thiết bị, nhưng thông tin ở giai đoạn khám phá cung cấp rất ít, chỉ bao gồm tên thiết bị, loại thiết bị, tính duy nhất của thiết bị trong mạng UPnP Đối với các điểm kiểm soát để tìm hiểu thêm khả năng của thiết bị

Trang 17

cũng như tính tương tác của thiết bị các điểm kiểm soát phải lấy thêm mô tả thiết bị

từ các URL do thiết bị cung cấp

Hình 02 : Kiến trúc quá trình mô tả thiết bị

Mô tả thiết bị chia làm hai phần :

- Mô tả về thiết bị về mặt vật lý và về mặt cơ chế, các thông số

- Mô tả dịch vụ và khả năng giao tiếp của thiết bị Riêng phần mô tả dịch vụ được chia thành các URL :

ột mô tả dịch vụ của một thiết bị UPnP bao gồm các thành phần :

Danh sách các lệnh, danh sách các hành động, danh sách các thông số hoặc lập luận cho từng hành động Ngoài ra còn bao gồm mô tả danh sách các biến toàn cục hoặc địa phương và mô tả về kiểu dữ liệu phạm vi và đặc điểm sự kiện

Giống như mô tả về thiết bị UPnP một mô tả dịch vụ của thiết bị UPnP được thiết bởi nhà sản xuất thiết bị UPnP theo đúng những quy định của UPnP Forum quy định

Trang 18

Theo hình 02, các yêu cầu của điểm kiểm soát khi tìm hiểu mô tả của thiết bị đều thực hiện thông qua các URL bằng giao thức HTTP GET và đợi thiết bị trả lời bằng giao thức HTTP RESP

Thiết bị nhận HTTP RESP sẽ trả lời lại đúng với IP của điểm điều khiển đã dùng HTTP GET

Giống như quá trình khám phá, quá trình mô tả thiết bị đóng một vai trò quan trọng trong quá trình tương tác giữa thiết bị và các điểm điều khiển

Tất cả các định dạng của phần mô tả thiết bị, nhà sản xuất thiết bị phải tham khảo theo đúng yêu cầu UPnP forum

Một mô tả thiết bị nếu viết theo yêu cầu của UPnP Forum thông thường sẽ có dạng như sau :

<deviceType>urn:schemas-upnp-org:device:deviceType:v</deviceType>

<friendlyName>short user-friendly title</friendlyName>

<manufacturer>manufacturer name</manufacturer>

<manufacturerURL>URL to manufacturer site</manufacturerURL>

<modelDescription>long user-friendly title</modelDescription>

<modelName>model name</modelName>

<modelNumber>model number</modelNumber>

<modelURL>URL to model site</modelURL>

<serialNumber>manufacturer's serial number</serialNumber>

<UDN>uuid:UUID</UDN>

<UPC>Universal Product Code</UPC>

<iconList>

<icon>

<mimetype>image/format</mimetype>

<width>horizontal pixels</width>

<height>vertical pixels</height>

<depth>color depth</depth>

<url>URL to icon</url>

<SCPDURL>URL to service description</SCPDURL>

<controlURL>URL for control</controlURL>

<eventSubURL>URL for eventing</eventSubURL>

</service>

Declarations for other services defined by a UPnP Forum working

committee (if any) go here

Declarations for other services added by UPnP vendor (if any) go here

</serviceList>

Trang 19

<deviceList>

Description of embedded devices defined by a UPnP Forum working

committee (if any) go here

Description of embedded devices added by UPnP vendor (if any) go here

<scpd xmlns="urn:schemas-upnp-org:service-1-0">

<specVersion> <! UPnP version 1.0 >

<major>1</major>

<minor>0</minor>

</specVersion>

<actionList>

<action> <! add delta to volume >

<name>AddVolume</name>

<argumentList>

<argument>

<name>Delta</name>

<relatedStateVariable>A_ARG_TYPE_Delta</relatedStateVariable> <direction>in</direction>

</argument>

<argument>

<name>NewVolume</name>

<relatedStateVariable>Volume</relatedStateVariable>

<direction>out</direction>

< /retval / >

</argument>

</argumentList>

</action>

<action> <! absolute set >

<name>SetVolume</name>

<argumentList>

<argument>

<name>NewVolume</name>

<relatedStateVariable>Volume</relatedStateVariable>

<name>NewTreble</name>

<relatedStateVariable>Treble</relatedStateVariable>

<name>NewBass</name>

<relatedStateVariable>Bass</relatedStateVariable>

Trang 20

<name>NewBalance</name>

<relatedStateVariable>Balance</relatedStateVariable> <direction>in</direction>

<name>NewFade</name>

<relatedStateVariable>Fade</relatedStateVariable> <direction>in</direction>

</argument>

</argumentList>

</action>

<action> <! query for state variables >

<name>GetAudio</name>

<argumentList>

<argument>

<name>CurrentVolume</name>

<relatedStateVariable>Volume</relatedStateVariable> <direction>out</direction>

</argument>

<argument>

<name>CurrentTreble</name>

<relatedStateVariable>Treble</relatedStateVariable> <direction>out</direction>

</argument>

<argument>

<name>CurrentBass</name>

<relatedStateVariable>Bass</relatedStateVariable> <direction>out</direction>

</argument>

<argument>

<name>CurrentBalance</name>

<relatedStateVariable>Balance</relatedStateVariable> <direction>out</direction>

</argument>

<argument>

<name>CurrentFade</name>

<relatedStateVariable>Fade</relatedStateVariable> <direction>out</direction>

<stateVariable sendEvents="yes">

<name>Volume</name>

<dataType>ui1</dataType>

<allowedValueRange>

Trang 21

<! Declarations for other state variables implemented by an >

<! UPnP vendor (if any) go here. >

</serviceStateTable>

</scpd>

4 Kiểm soát thiết bị:

Kiểm soát thiết bị là bước thứ 3 trong 5 bước sử dụng của một thiết bị UPnP Với những thông tin từ bước mô tả thiết bị, điểm kiểm soát có thể yêu cầu dịch vụ đối với thiết và nhận được câu trả cho biết kết quả của hành động yêu cầu dịch vụ

Trang 22

Thiết bị nhận yêu cầu từ điểm kiểm soát có thể trả lời hoàn thành yêu cầu hoặc báo lỗi không hoàn thành

Hình 3 : Kiến trúc kiểm soát thiết bị

Để kiểm soát một thiết bị, một điểm kiểm soát sẽ gọi một hành động trên danh sách mô tả các dịch vụ của thiết bị Để làm điều này điểm kiểm soát sẽ phải gửi các tin nhắn URL phù hợp với các URL mà mô tả thiết bị cung cấp

Các điểm kiểm soát phải luôn phát hiện được sự tồn tại của thiết bị hoặc không tồn tại của thiết bị Trong trường hợp một thiết bị hủy bỏ sự tồn tại của một dịch vụ của thiết bị thì điểm kiểm soát thiết bị phát hủy bỏ sự tồn tại của thiết bị đó

Các thông điệp gửi đi từ các các điểm kiểm soát luôn phải sử dụng bằng bảng

Một thông điệp SOAP được chia thành hai phần là header và body Phần header chỉ ra địa chỉ Web Service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP

Các thông điệp theo tiêu chuẩn SOAP gửi tới thiết bị UPnP và thiết bị phải trả lời các thông điệp này cũng phải đúng theo tiêu chuẩn SOAP

Trang 23

Các giao thức được sử dụng trong quá trình kiểm soát thiết bị: Để điểm kiểm soát điều khiển các thiết bị, phải sử dụng tổng hợp các tầng giao thức như hình sau :

Hình 04 : Các tầng giao thức trong quá trình kiểm soát Tất cả các thông điệp sử dụng các giao thức này đều phải tuân thủ theo đúng

cú pháp của UPnP Forum quy định

Trang 24

5 Sự kiện trong mạng UPnP :

Bước thứ 4 trong quá trình điều khiển thiết bị gọi là bước sự kiện, thông qua bước này điểm kiểm soát có thể thay đổi trạng thái của thiết bị, kiểm soát các sự kiện được bổ sung và làm cho bước trình diễn tiếp theo tốt hơn

Có hai trạng thái sự kiện : Sự kiện cho một điểm kiểm soát ( Unicast Events),

Sự kiện cho nhiều điểm kiểm soát (Multicast Events)

Hình 05: Kiến trúc Unicast Events

Giải thích kiến trúc Unicast Events : Để kiểm soát một sự kiện, điểm kiểm soát sẽ gửi một thông điệp đăng kí giám sát sự kiện đến thiết bị, cụ thể là đến dịch

vụ mà thiết bị cung cấp Nếu đăng kí được chấp nhận, thiết bị sẽ có trả lời và cho thời gian có hiệu lực của sự kiện, nếu muốn có thời gian hiệu lực của một sự kiện dài thì điểm kiểm soát phải có thông điệp đăng kí gia hạn thời gian giám sát sự kiện Khi một điểm kiểm soát không cần giám sát sự kiện từ thiết bị thì điểm kiểm soát phải có thông báo hủy giám sát sự kiện

Các lớp giao thức sử dụng trong Unicast Events:

Trang 25

Hinh 06 : Các lớp giao thức trong việc kiểm soát sự kiện

Trang 26

Hình 07 : Kiến trúc Multicast Eventing Các thông điệp về sự kiện được gửi đến cho nhiều điểm kiểm soát và có thể nhiều sự kiện được gửi cùng một lúc

Hình 08 : Các lớp giao thức trong Multicast Eventing

Trang 27

Chi tiết các thông điệp sử dụng và thông báo lỗi trong Multicast Eventing và Unicast Eventing đều phải tuân theo UPnP Forum

6 Trình diễn :

Sau các bước trên diễn ra tuần tự trên thiết bị UPnP bước 5 gọi là bước trình diễn tại bước này thiết bị sẽ tạo ra một URL dùng cho việc trình diễn, các điểm kiểm soát nhận kết quả trang hiển thị từ URL này và cho hiển thị lên trên trình duyệt

Tuy nhiên tùy thuộc và khả năng của trang khi hiển thị lên trình duyệt người dùng có thể điều khiển, xem trạng thái … của thiết bị Mức độ mà trang trình diễn này thực hiện được phụ thuộc hoàn toàn và khả năng cụ thể trang trình bày và của thiết bị

Hình 09: Kiến trúc của bước trình diễn Các điểm kiểm soát lấy URL trang trình bày thông qua URL trình diễn trong

mô tả của thiết bị Có hai kiểu URL trình bày là URL tuyệt đối và URL tương đối

Việc trình diễn tại các điểm điều khiển phụ thuộc và khả năng hiển thị của trình duyệt hoặc phần mềm theo các tiêu chuẩn của ngôn ngữ HTML, thông qua các phương thức HTTP GET và HTTP RESP

Ngày đăng: 27/07/2017, 20:34

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w