Design Components - pschatzmann/arduino-dlna GitHub Wiki

A DLNA device uses UDP, HTTP, XML and SOAP to discover and manage services, which adds quite some complexity.

I implemented the functionality from scratch using the standart Arduino Network API and avoided external dependencies.

The DLNAControlPoint sets up a control point and lets you execute actions. The DLNADevice class provides the setup for a basic DLNA device service. Devices are represented by the DLNADeviceInfo class. A device registers itself on the network and answers UDP DLNA queries and requests:

Developing and debugging on a microcontroller is tedious; therefore this project can also be compiled and run on a Linux os OS X desktop.