Skip to content

Latest commit

 

History

History
106 lines (80 loc) · 4.19 KB

README.md

File metadata and controls

106 lines (80 loc) · 4.19 KB

Plastic Player 3

This is a remake of Plastic Player 2 (repo), an NFC based controller for Spotify. This isn't a step by step instructables style build guide but hopefully there's enough information here to build your own version. Knowledge of building stuff like this, soldering and understanding Linux, software compilation and the like would be good.

System overview

*The TCP socket connection between pp3-core and librespot is a quick hack and should be replaced by a clean D-Bus interface. Spotifyd provides a D-Bus media player interface and also uses librespot for playback, but it does not use an up-to-date version of librespot...

Materials

Hardware

Building

Setting up buildroot

docker build -t buildroot docker
docker run --rm -it -v ${PWD}:/workspace buildroot bash
make -C buildroot/ BR2_EXTERNAL=../br-external O=../output raspberrypi4-64-rauc_defconfig
cd br-external && ./openssl-ca.sh

The last line generates an OpenSSL certificate and signing key for RAUC firmware updates. Note that you can only use the firmware update feature if the new firmware was signed with the same key as the old firmware.

If you want to connect to the Plastic Player via SSH, put your public key in the ssh-keys directory.

Building on macOS

On macOS, you might run into two problems:

Building the image

docker run --rm -it -v ${PWD}:/workspace buildroot bash
make -C output/ VERSION=<PUT VERSION HERE>

Developing

SSH config

Host pp3
    HostName 10.42.0.1
    User user
    IdentityFile ~/.ssh/id_ed25519
    StrictHostKeyChecking=no
    UserKnownHostsFile=/dev/null

Syncing the web app

rsync --rsync-path="sudo rsync" -avh --delete web_ui/build/web/ pp3:/usr/html

Appendix

Wiring

docker run --rm -it -v ${PWD}:/workspace buildroot /venv/bin/wireviz -f p wiring.yml