UPnP
The emNet UPnP implementation is an optional extension which can be integrated into your TCP/IP application seamlessly. It combines the possibility to implemented UPnP services in a most flexible way - namely by allowing to specify content to be sent upon UPnP requests completely generated by the application - with a small memory footprint.
Overview
UPnP is designed to provide services throughout a network without interaction of the user. It is designed to use standardised protocols such as IP, TCP, UDP, Multicast, HTTP and XML for communication and to distribute services provided by a device. UPnP can be used to advertise services provided by a device across the network such as where to find the web interface for the device advertising. Newer operating systems support UPnP from scratch and will show UPnP devices available across a network and may provide easy access to a device by simply selecting the discovered UPnP device.
A typical usage would be to advertise media accessible on a media storage on the network and to open a file browser window to the resource upon opening the UPnP entry discovered.
Key features
- Low memory footprint
- Advertising your services on the network
- Easy to implement
Requirements
TCP/IP Stack
The emNet UPnP implementation requires the emNet TCP/IP stack and is designed to be used with the emNet Web server Add-on.
Resource Usage
The ROM usage depends on the compiler options, the compiler version and the used CPU. The memory requirements of the UPnP modules presented in the tables below have been measured on an ARM7 and a Cortex-M3 system. Details about the further configuration can be found in the sections of the specific example.
The pure size of the UPnP add-on has been measured as the size of the services provided may vary.
ROM Usage on an ARM7 System
The following resource usage has been measured on an ARM7 system using IAR Embedded Workbench V6.30.6, Thumb mode, no interwork, size optimization.
Add-on | ROM |
---|---|
emNet UPnP | Approximately 2.2 KByte |
ROM Usage on a Cortex-M3 System
The following resource usage has been measured on a Cortex-M3 system using IAR Embedded Workbench V6.30.6, size optimization.
Add-on | ROM |
---|---|
emNet UPnP | Approximately 2.0 KByte |
RAM Usage
Add-on | RAM |
---|---|
emNet UPnP | Approximately 170 Byte |
Relevant parts
The UPnP module implements the relevant parts of the UPnP documentation released by the UPnP Forum.
Document | Download |
---|---|
UPnP Device Architecture 1.0 | Direct download: http://upnp.org/specs/arch/UPnP- arch-DeviceArchitecture-v1.0.pdf |