WiFi remote for Volumio based on ESP32 and OLED

Thats internal DNS stuff, so difficult to say.
Are you able to ping Volumio by typing

ping Volumio

in cmd? (if you have Windows)

1 Like

fvol

Strange. In this case you DNS server should know the name and deliver the according IP.
Thats guessing just now but you may try to change

String host = “192.168.0.149”;

or

String host = “volumio.local”;

As said, just guessing :wink:

1 Like

Yes . It worked. Thank you

Cool :smile:
What exactly did help?

//Volumio
String host = “192.168.0.149”;
int port = 80;

Thanks, may help the ones that follow :slightly_smiling_face:
Just dont forget to set your volumio to fixed IP now. Either in Volumio or your DHCP-server :wink:

1 Like

Looks very nice indeed!

What I’m wondering is how responsive the volume is. By controlling it via GUI it often lags a lot.

What would be great in addition - just as idea - if the left control would have a push function for switching on/off :hugs:

Volume is responsive enough to me, but not instant.
I have the Vana player with reclocker, that adds delay to everything. Maybe without it could work better.

In fact I have the right pushbutton with a similar function.
Its used to toggle play/pause. When paused the display is turned off after idle time. When you press the button the display gets reactivated.

I did not publish this as its a small change, but on my current version, when I switch to pause I turn off the display immedeately, and when I press the button again it turns on and starts to play at the same time. So very similar to your idea I think :slight_smile:

I found this thread after building some similar volumio remote control the last 2 month. As you I’ve done it because I would like to learn more about arduino and was search for a nice project. The big different between volumio_esp32 and my project is that I just can read the current running music and only have one button to toggle playmode (play or pause). No way to navigate through the albums.

The case is a old egg clock, laying around and i glue a simple button on it. In the inside there is a ESP32 with battery module. So I run the project with a 3.7V Li Battery. By using a lot of energy save routines, the battery holds now for about 7 days.

Compared to my source code yours look much better ;-). So I’am not feeling very comfortable to share mine. Especially the use of websocket is a better idea than polling against the api. Once I will try to run volumio_esp32 and figure out how it looks like.

Respect to your job!

3 Likes

This is really cool. Kudos @drvolcano

It has been a significant time since I coded. This has inspired me to restart coding.
Could someone please remind me the steps to compile/make the code. I will be using a Windows based system and Arduino IDE. Happy to be instructed otherwise.

Thank you in advance.

1 Like

Your best bet is to use Platformio and clone his repo and then let it fetch all libs and build the project for you. :slight_smile:

Yep, PlatformIO with VS Code.
Once you are into it you never want to go back.
All I know, for Arduino the main.cpp has to be renamed to main.ino
But I dont know where the other files have to go. Maybe all in the same folder.

By the way the system freezes now and then or loses WiFi connection. That only happens rarely and I couldnt find the cause. I am fine with doing a powercycle then. But you may also try to activate the watchdog of the ESP32 to do that. Have little spare time so I wasnt able to do it myself until now

1 Like
Summary

I am just running through you code. Not sure if you are aware, but you are sharing your
WiFi details. It should not be an issue unless someone nearby exploits this, but probably good practice to change it to

String ssid = " Add Your SSID here"
String password = “Add Your Password Here”

Below is what I see in your config …
String ssid = “FRITZ!Box 6591 Cable CW”;
String password = “09806196161046264509”;

I am aware of that, and you are not the first to give me that hint.
But thanks for doing so, I appreciate that :slight_smile:

Problem is, I am a lazy guy, whenever I build the code I push it to Github, and so it contains all my personal settings.
I could exclude the file in my git settings, but then there is a risk that its not up to date when I add parameters.

Think the risk of an exploit is so low, that I dont really care about.

Was in the same boat, now I have a littler wrapper script to build my projects, and pass in credentials using build flags and env

Hi drvolcano,

I have just done similar project like this one . I used the Socket Library from here → https://github.com/timum-viw/socket.io-client. I have the problem trying to get my Music Library which is very huge around 280 Albums. That library does not support huge payload. I try your socket Library and it works pretty well. Your code is so neat and completed. But after I play for a few minutes the system stop working sometimes. I try to debug and see what the cause is . The problem might be the function Process2(); in Inflate:initilalize I am not sure it is the same problem that you have or not.

1 Like

I don’t understand the instructions :slight_smile: sorry

1 Like

It’s no introduction. If you have a question please ask.

1 Like