Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Computer techniques
If you enjoy the utilities offered on this site and would like to thank the author, you can make a donation via the secure Paypal site by clicking on the icon below.

A web interface for Eversolo DMP player

01/12/2024

The Eversolo DMP-A6 player is a high-end 'streamer', a device capable of connecting to different music platforms, of listing audio files found on a local network or on its internal disk in order to present on its front screen a music listening interface. However, this device lacks browser control from a local network.

I really like this device: it really allows you to manage your music library (listening only), to listen to web radio easily, and without advertising. Its interface is also clear and presents different ways to listen to music (by title, genre, year, artist, etc.). The software is not free of bugs but regular updates fix them.

To control the device, there are several possibilities:

  • directly from its touch screen
  • from the dedicated application, which includes the functions, by installing it on a tablet or an Android/iOS phone without having to create a Google account.

Control from a computer is therefore not available, unless you install the APK of the application on your operating system, but this is not always compatible. This is why I created a web interface dedicated to this device.

Web interface for Eversolo DMP player

For this project, I started from the style of the interface created by neoheresy, on audiosciencereview.com, which I found interesting but which was only in sending mode. This interface does not know, for example, the status of the inputs/outputs nor the title currently playing:

The redesigned interface looks like this:

It offers the following functionalities:
  • Turn off, restart the device
  • Change display, turn off screen
  • Skip to next music, go back to previous music, pause and resume
  • Change the volume: reduce, increase, mute or immediately select a volume
  • Display of information about the track played: album cover, title, artist, album, technical characteristics of the file (channels, sampling frequency, file size, etc.)
  • Total, elapsed title duration and title position navigation
  • Display and modification of the music source (player, bluetooth, USB, optical socket, coaxial socket)
  • Viewing and changing music output (XLR, RCA, HDMI, optical jack, USB)
  • Display a message if the player is not reachable
  • Play an album in track order or randomly
  • Play a track immediatly or after current one
  • Browse per :
    • albums of displayed artist
    • titles of displayed artist
    • titles of displayed album
    • all albums of the library

It therefore allows you to turn off the device or change titles when you are in another room, with a PC on hand, without having a phone with the application next to you.

Technical constraints

Browsers block by default calls to resources present on a domain name other than the place where the files are hosted, unless the called server returns CORS (Cross-Origin resource sharing) call authorization information via an "Access-Control-Allow-Origin" header. This is not the case for device APIs.

To get around this blocking, it is possible to use a proxy. So I created one in PHP, in a few lines of code, but which therefore requires the installation of Apache and PHP.

It is possible to do this directly on the device, by installing Termux then Apache and PHP. However, Apache must be launched at startup but the Eversolo player does not allow/do not offer this possibility. Android, the system present on the device, seems to lock any launch at startup...

Software installation

The software provided here requires you to have your own PHP server (on a NAS for example). It has been tested on DMP-A6 only.

  • On your server, create the dedicated directory (for example "eversolo-dmp") in a web folder.
  • Download the project archive and unzip it into the created directory:
    v. 1.0 : eversolo_panel_1_0.7z(60 Ko)
    v. 1.1 : eversolo_panel_1_1.7z(288 Ko)
    v. 1.2 : eversolo_panel_1_2.7z(230 Ko)
  • Modify the js/config.js file to indicate the IP address of the streamer and the IP address of the proxy (this is ultimately that of the server).

  • On your server, create a new virtual host. For example, on a Synology NAS, you can launch Web Station and create a virtual host that listens to a specific port.
  • On a PC, access the URL of your NAS, with the corresponding port (here http://192.168.0.1:8080). You should see the interface appear.

If the Eversolo player is not powered on or the IP specified for the player is incorrect, you should see the following screen:

Dernière modification le 01/12/2024 - Quillevere.net

Commentaires

No inscription needed if you wish to
janv. 01
2025

Il y avait bien une coquille dans le fichier proxy. Elle ne s'affichait que selon certains paramétrages du serveur. Je l'ai corrigée dans la version 1.2

Eric
janv. 01
2025

OK j'ai trouvé, c est le cache du navigateur qui était en cause, avec navigateur jamais utilisé .. cela fonctionne parfaitement Désolé tout est OK :)

MADMIKE92
janv. 01
2025

Bonjour Utilisateur de la version 1.0 , avec succès sur apache/php sur un raspberry PI J'ai voulu testé la 1.1 ce jour Voici ma config (ips et config inchangées entre la 1.0 et 1.1) pi@raspberrypi:/var/www/html/dmpa6/js $ cat config.js /* Eversolo DMP-A6 - Interface WEB Eric Quillévéré 2024 v 1.1 (26/12/2024) */ // IP of player const IP_DMP='192.168.1.60'; // IP of proxy (for CORS calls). Can be the same as current server const IP_PROXY='192.168.1.14'; const PORT_PROXY='8181'; const SHOW_COVERS_ON_SEARCH=true; // Show covers on search by albums (grid otherwise) const USE_PROXY_FOR_COVERS=true; // Use proxy for loading covers (faster because browser can use cache) const LAZY_LOADING=true; // Load covers with lazy loading (faster) // Proxy to access title information const URL_PROXY='http://' IP_PROXY ':' PORT_PROXY '/proxy/?url='; J'ai un message d erreur dans les logs APache [Wed Jan 01 12:15:53.194649 2025] [:error] [pid 31049] [client 192.168.1.49:50927] PHP Notice: Undefined variable: sURL in /var/www/html/dmpa6/proxy/index.php on line 12, referer: http://192.168.1.14:8181/ Sur Chrome via http://192.168.1.14:8181/ la page s'affiche globalement (icônes et mise en page pétée nouvelles fonctions inaccessibles) avec ceci DMP player is not detected on IP 192.168.1.60, with PROXY 192.168.1.14. 01/01/2025, 12:15:28 Sur Safari via http://192.168.1.14:8181/ la page n'affiche que le logo et ce message et rien d 'autre DMP player is not detected on IP 192.168.0.100, with PROXY 192.168.0.1. 01/01/2025, 12:20:11 J'ai relancé Apache , et le PI sans succés Je pense qu'il y a un petit soucis dans le code, mais cela dépasse mes compétences techniques ;) Merci en tout cas pour ce super outil, et meilleurs voeux pour 2025 Cdt madmike31@hotmail.com

MADMIKE92
déc. 14
2024

Testé ce jour, sur un raspberry PI avec Apache&Php, ça marche au top super , merci !!!

MADMIKE92

Search in this website

fr en rss RSS info Informations