1. Introduction
  2. HW requirements
  3. SW requirements
  4. UPnP services used
  5. The UPnP control point
  6. The UPnP media renderer (smart speaker)
  7. The user interface

UPnP Services Used:

Content Directory Service (CDS)

The main purpose of the CDS is to allow the UPnP control point to navigate through the media server shared folder tree, in order to find all multimedia contents (in this specific case, mp3 audio files) that contains, and finally return back the "tag" infos of the file (URI path included) for providing them later to the user interface. Optional features of this service are also find specific object in the whole shared folder structure, list specific resources based on some criteria and store them in another network location. For the purpose of this project, all these optional feature are not used and so not implemented by the CP as requests. In the following table, only required actions of CDS are shown:

Action NameReturn Type
GetSearchCapabilitiesA CSV list of tag names that can be used in a search query
GetSortCapabilitiesA CSV list of metadata tags that media server support in 'Browse' action to order its result
GetSystemUpdateIDThe identifier for the status change in the CDS; 'changes' could be new objects created, objects deleted and metadata modifications in exisiting objects; if this value is equal to the previous one (obtained in the last call) nothing is changed, else the client can detect that something new has happened
BrowseMaybe the key feature of the CDS, this action allows the client to browse hierarchically the NAS content, not only files but also their metadata tags; there are in these cases several informations inside return objects; by performing multiple instances of this action, the control point can navigate with an incremental mechanism the folder tree, in order to find the songs directory and then scan the xml response to parse the relevant informations (see next page for more details)