Skip navigation

emNet 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.

  • Low memory footprint
  • •Advertising your services on the network
  • Easy to implement



UPnP Backgrounds

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.  


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. 

emNet UPnPApproximately 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.

emNet UPnPApproximately 2.0 KByte

RAM Usage

emNet UPnPApproximately 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.0Direct download: arch-DeviceArchitecture-v1.0.pdf