WiFi remote for Volumio based on ESP32 and OLED

my English is not really good. But I would like to build something like this with your help.

set up:
volume 3.xxx on PI4

I have esp 32 and 8266 as well as KY-040 poti

thank you in advance :slight_smile:

Hi . I want to run your project but I have a problem when I compile. What is the problem? Thank you very much for your answer.

1 Like

I tried a simpler project on my esp8266 that was just for checking connection status and controlling the power to the device but I had a lot of problems. Firstly I had to use an IP address instead of the device name. That wasn’t the end of the world as I just forced it to stick to the volumio in my router settings. Every other device could see it and ping volumio.local" - but not the esp.

I used this library and found that it couldn’t deal well with disconnects or reconnecting - even when I called begin() again. It was totally inconsistent with whether it worked properly or not. I was able to use a Python socket.io client on another device to connect to volumio so I don’t think it was a server issue.

In the end I just used pinging for monitoring and wrote a simple post listening server to run on the volumio device instead that the esp could send commands to!

1 Like

Pinging a http:// address seems a bit strange way to me.
Normally you ping an IP on layer 3 (or a hostname, if there is an working DNS resolver in the network)
HTTP is in layer 5, afaik and as part of the url http an information for the browser what protocol to use (as counterpart to e.g. ftp:// or else)

Maybe some ping implementations just cut off the http:// and function anyway, but I htink there is no guarantee, and maybe pinging „volumio“ alone would work. Not quite sure if the .local part is allowed or not, though.

The idea with an fixed IP (static or DHCP reservation) is not the worst idea, as it gets the DNS server out of the equation and tends to make things more stable.

Besides this, yeah, ESP32 and network is a bit of a mess, especially initialization and reconnection is far from perfect…

Nor really sure, and I currently dont have a system to check it.
But I think this is unused code anyway, so maybe you can delete or uncomment that part all parts of the program that may reference it.

I initially planned to cover 100% of the Volumio protocol, but all the configuration and settings windows were way too much to do.
And this one looks like it comes from the configuration screen that I never implemented.

Yeah my mistake. I copied the URL from a bookmark. I didn’t use http when pinging but was able to access the web interface using that in a browser. I edited my post to remove the http.

1 Like

Hello, I have the same problem with you. Have you solved it?

Hi, I really love this. However I am a total novice when it comes to using Arundio/Esp32. Can someone help me with getting the code on to the esp32? I really am in the dark on this.

Thanks

Didnt work with it ESP32 for a while (dont use Volumio anymore as the dropped support for Sparky)
But here are a few hints:

Dont know if my project works with Arduino IDE, but I would suggest VS Code anyway: https://code.visualstudio.com/

Once installed you would have to add the extension “PlatformIO IDE” to enable microcontoller support.
(left in the sidebar the icon of 4 squares to install)
After install you should then see an icon looking like an alien head in the left sidebar that will let you build and download the program to the ESP32. The function “Montor” will show output from the COM of the ESP32 in the console.
(Most ESP32 dev boards will have an USB COM-port on board. Just connect it to your PC and it should register itsself in the device manager as virtual COM)

You could either clone the repo from Github if you add the extension to VS Code.
Or just download the source and then open it in VS Code with “FIle”/Open Folder, and then choose the folder that contains the “platformio.ini”

THis is all I can do for you at the moment.

1 Like

Thank you. Thats all the help I needed.

It’s a great piece of work. Any chance we can get it to work with this product?