This library provides the functionality to implement UPnP/DLNA devices and control points for Arduino.
The Digital Living Network Alliance (DLNA) aimed to establish interoperability among PCs, consumer appliances, and mobile devices across wired and wireless networks. The goal was to provide a common solution for sharing digital media and content services.
Though this technology is now more then 20 years old and can be considered obsolete, it is still quite useful for some use cases: For Audio and Video the successor protocols are Chromecast and AirPlay. Chromecast is close sourced and uses secure channels to Google, so you can't implement your own devices. On the other hand, Airplay is Apple specific and is not available on other platforms (e.g. Android). This leaves DLNA as the only open and flexible Standard for accessing and sharing digital media (audio, video, images...)!
This library provides memory-efficient classes to implement DLNA devices and control points (=clients). In addition to the core functionality, this project includes some easy-to-use classes:
-
Devices
- DLNADevice (Generic Device API)
- DLNAMediaRenderer
- DLNAMediaServer
-
Control Points
- DLNAControlPoint (Generic Control Point API)
- DLNAControlPointMediaRenderer
- DLNAControlPointMediaServer
You can download the library as zip and call include Library -> zip library. Or you can git clone this project into the Arduino libraries folder e.g. with
cd ~/Documents/Arduino/libraries
git clone https://github.com/pschatzmann/arduino-dlna.git
I recommend to use git because you can easily update to the latest version just by executing the git pull command in the project folder.
This software is totally free, but you can make me happy by rewarding me with a treat