02-UPnPOpenSource - 이상정

Download Report

Transcript 02-UPnPOpenSource - 이상정

UPnP 오픈 소스 소개 및 설치
순천향대학교 정보기술공학부
이상정
UPnP 오픈소스 소개
2002-2 컴퓨터공학응용
UPnP 오픈 소스
 Software Development Kits(SDKs)
• http://upnp.org/resources/sdks.asp
• UPnP Forum 홈페이지 (http://upnp.org/) -> RESOURCES ->
Software Development Kits(SDKs)
• 여러 회사의 UPnP 스택 소스가 있음
• Intel SDK for UPnP Devices(Linux)
– http://upnp.sourceforge.net/
• Microsoft Device Kit for UPnP Devices
– http://www.microsoft.com/hwdev/tech/nonpc/UPnP/default.asp
• Siemens SDK for UPnP Devices(Java and C++)
– http://www.plug-n-play-technologies.com/
순천향대학교 정보기술공학부 이 상 정
3
2002-2 컴퓨터공학응용
인텔 UPnP(Linux)
 Intel SDK for UPnP Devices(Linux)
• upnpsdk-1.0.4 소스 스택 안에 README 파일 참조
• /upnpsdk-1.0.4/README
– 주의 : “make install” 명령은 root 계정으로 수행
• /upnpsdk-1.0.4/sample/tvdevice/README
– 주의 : “/sbin/route add -net 239.0.0.0 netmask 255.0.0.0
eth0” 명령은 root 계정으로 수행
• /upnpsdk-1.0.4/sample/tvdevice/web/tvdevicedesc.xml
– “<URLBase>http://192.168.0.4:5431</URLBase>” 이 부분을
자신의 리눅스 IP로 바꿔야 함
– 예) <URLBase>http://192.168.50.XXX:5431</URLBase>
순천향대학교 정보기술공학부 이 상 정
4
2002-2 컴퓨터공학응용
인텔 UPnP(Linux)
[kdk@localhost upnpsdk-1.0.4]$ pwd
/home/kdk/upnpsdk-1.0.4
[kdk@localhost upnpsdk-1.0.4]$ make
[kdk@localhost upnpsdk-1.0.4]$ su –
[root@localhost root]# cd ~kdk/upnpsdk-1.0.4/
[root@localhost upnpsdk-1.0.4]# make install
[root@localhost upnpsdk-1.0.4]# /sbin/route add -net 239.0.0.0 netmask
255.0.0.0 eth0
[root@localhost upnpsdk-1.0.4]# logout
[kdk@localhost upnpsdk-1.0.4]$ cd sample/tvdevice/
[kdk@localhost tvdevice]$ make
 컨트롤드 디바이스 실행
[kdk@localhost tvdevice]$ ./upnp_tv_device 192.168.50.67 5431
tvdevicedesc.xml ./web
 컨트롤 포인트 실행
[kdk@localhost tvdevice]$ ./upnp_tv_ctrlpt 192.168.50.67 5432
순천향대학교 정보기술공학부 이 상 정
5
2002-2 컴퓨터공학응용
인텔 UPnP(Linux) 설치해제
[kdk@localhost tvdevice]$ pwd
/home/kdk/upnpsdk-1.0.4/sample/tvdevice
[kdk@localhost tvdevice]$ make clean
[kdk@localhost tvdevice]$ cd ../..
[kdk@localhost upnpsdk-1.0.4]$ make clean
[kdk@localhost upnpsdk-1.0.4]$ su [root@localhost root]# cd ~kdk/upnpsdk-1.0.4/
[root@localhost upnpsdk-1.0.4]# make uninstall
[root@localhost upnpsdk-1.0.4]#
순천향대학교 정보기술공학부 이 상 정
6
2002-2 컴퓨터공학응용
윈도우용 UPnP 시스템 요구사항
 컨트롤드 디바이스
• Internet Information Server/Service (IIS) 인스톨되어 있어야 함
• WindowsXP Pro 기준 IIS 인스톨
– 제어판 -> 프로그램 추가/제거 -> Windows 구성 요소 추가/제거 -> 인터넷 정보
서비스(IIS) 선택
• 사용 가능한 컴퓨터
• Windows 2000 Pro, Server, XP
 컨트롤 포인트
• 사용 가능한 컴퓨터
• UPnP가 인스톨된 Windows Me, XP Home Edition, XP Pro
• Windows 2000 컴퓨터와 UPnP가 인스톨되지 않은 컴퓨터는 안됨
• WindowsXP Pro 기준 UPnP 인스톨
• 제어판 -> 프로그램 추가/제거 -> Windows 구성 요소 추가/제거 -> 네트워
킹 서비스 -> 유니버설 플러그 앤 플레이 선택
순천향대학교 정보기술공학부 이 상 정
7
2002-2 컴퓨터공학응용
윈도우용 UPnP 시스템 설치
 Microsoft Device Kit for UPnP Devices
 Siemens SDK for UPnP Devices(Java and C++)
 이들 모두 원도우 상에서 다른 프로그램 인스톨하듯이 인스톨 파일을
클릭하여 인스톨
 주의 : MS UPnP SDK
• 메뉴 UPnP Development Kit --> Configuration Wizard에서 에러
• WindowXP가 한글 버전이라서 "인터넷 정보서비스"안의 "기본 웹 사이트"
를 "Default Web Site"로 변경하면 해결됨
 Windows for UPnP Uninstall
• 다른 프로그램 Uninstall하는 것과 동일함
순천향대학교 정보기술공학부 이 상 정
8
UPnP 메시지 예
(Siemens)
2002-2 컴퓨터공학응용
Debug Level
 Siemens 예제에서의 Debug Level
• Exceptions Level 1,2
• Web Level 1,2
• SSDP Level 1,2
• SOAP Level 1,2
• GENA Level 1,2
• Description Level 1,2
• Debugging
• Standard
 상기 Debug Level을 모두 선택해야만 다음 예들의 메시지를 볼 수 있
음
• 메뉴에서 Debug Level -> 상기 레벨들을 모두 선택
순천향대학교 정보기술공학부 이 상 정
10
2002-2 컴퓨터공학응용
Addressing
 PC에서 컨트롤드 디바이스를 에뮬레이팅 하므로
addressing은 나타나지 않는다.
순천향대학교 정보기술공학부 이 상 정
11
2002-2 컴퓨터공학응용
Discovery: Search: Request with M-SEARCH
 UPnP Control Point -> Start Search
순천향대학교 정보기술공학부 이 상 정
12
2002-2 컴퓨터공학응용
Discovery: Search: Response (계속)
순천향대학교 정보기술공학부 이 상 정
13
2002-2 컴퓨터공학응용
Discovery: Advertisement: Device available
– NOTIFY with ssdp:alive
 UPnP Device -> Announce UPnP Device
순천향대학교 정보기술공학부 이 상 정
14
2002-2 컴퓨터공학응용
Description
 Device
• TestDevice.xml : 링크
 Service
• TestService.xml : 링크
순천향대학교 정보기술공학부 이 상 정
15
2002-2 컴퓨터공학응용
Control: Action: Invoke
 UPnP Control Point -> Action Set Target(true)
순천향대학교 정보기술공학부 이 상 정
16
2002-2 컴퓨터공학응용
Control: Action: Response
순천향대학교 정보기술공학부 이 상 정
17
2002-2 컴퓨터공학응용
Eventing: Subscribing: SUBSCRIBE
 UPnP Control Point -> Subscribe Events
SUBSCRIBE /upnp/event/tvcontrol1
HTTP/1.1
CALLBACK: <http://cs.sch.ac.kr:5432/>
윈도우용 UPnP 프로그램에서 메시지 형태가
나타나지 않아서 리눅스에서의 Subscribe 예
NT: upnp:event
첨가
HOST: cs.sch.ac.kr:5431
TIMEOUT: Second-1800
순천향대학교 정보기술공학부 이 상 정
18
2002-2 컴퓨터공학응용
Eventing: Event messages: NOTIFY
순천향대학교 정보기술공학부 이 상 정
19
2002-2 컴퓨터공학응용
Presentation
리눅스용 DTV
Presentation
순천향대학교 정보기술공학부 이 상 정
20
1.
Intel Linux용 DTV 에뮬
레이터 실행
2.
MS사의 GCP 실행
3.
GCP에서 root 디바이스
를 search
4.
View Presentation
2002-2 컴퓨터공학응용
Presentation (계속)
순천향대학교 정보기술공학부 이 상 정
21