Getting the eStreamPlayer32 interface working on Pi-hole with 3,5″ touchscreen.

The rPi acts as file server for the ESP32 and as interface for the eStreamPlayer32 through the chromium web browser that comes preinstalled with Raspbian.
The output from the browser goes to the 3.5″ TFT touchscreen that is attached.

This post is about the web-interface on the rPi.

Working from memory here. Probably forgot some step.

  • Install Raspbian with desktop on the rPi.
  • Open raspi-config and:
    Open Boot options and set Wait for Network at Boot to <Yes>.
    (Not enabling this will make NFS mounts fail at boot)
    Open Interfacing Options and enable both SSH and SPI.
    Close raspi-config.
  • Install Pi-Hole on the rPi. Remember to set a static ip. Let Pi-Hole reboot the rPi.
  • Edit /etc/fstab to mount 192.168.0.100:/tmp/mnt/sda1/music on /mnt/muziek.
  • Make a symlink in /var/www/html named muziek that points to /mnt/muziek.
  • Edit /etc/lighttpd/lighttpd.conf and add the handler ".mp3" => "audio/mpeg", to mimetype.assign.
    The MP3 decoder will not recognize audio files if this header is absent and fails to play the file without any error.
    (TODO: raise an issue about this at the ESP32-audioI2S repo)
  • Install LCD-show and start the LCD with the LCD35-show script.
    The script will reboot the rPi to display the desktop on the LCD.
  • Rotate the rPi display to 270 degrees. See here how to.
  • Invert the touchscreen coordinates. See here how to.
  • Set the screensaver to never activate. See here how to.
  • Open chromium on the rPI and browse to the ESP32 ip address.
  • Set the browser to full screen.