luniebox/INSTALL.md
2022-02-24 16:12:47 +01:00

5.6 KiB
Raw Permalink Blame History

Manual installation

Manual installation of your luniebox. If you haven't read, please go back to the README for hardware requirements, prerequisites and setup. (This is basically a step-by-step guide of the luniebox.sh script.)

Software

  • go to home directory

    cd /home/pi
    
  • install git, python3-venv and python3-pip

    sudo apt install -y git python3-venv python3-pip
    
  • clone repository https://git.bstly.de/Lurkars/luniebox.git with sources and config:

    git clone https://git.bstly.de/Lurkars/luniebox.git luniebox
    

luniebox application and daemon

  • setup application by building python venv and configure systemd service

    cd /home/pi/luniebox/application
    
    python -m venv venv
    
    source venv/bin/activate
    
    export CFLAGS=-fcommon
    
    pip install -r requirements.txt
    
    deactivate
    
    mkdir /home/pi/luniebox/config
    
    cp /home/pi/luniebox/contrib/config/luniebox.cfg /home/pi/luniebox/config/luniebox.cfg
    
    sudo cp /home/pi/luniebox/contrib/service/luniebox-app.service /etc/systemd/system/
    
    sudo cp /home/pi/luniebox/contrib/service/luniebox-daemon.service /etc/systemd/system/
    
    sudo systemctl daemon-reload
    
    sudo systemctl enable luniebox-app luniebox-daemon
    

Spotify

For Spotify support, spofiyd is required.

  • get spotifyd binary and configure systemd service

    mkdir /home/pi/luniebox/bin`
    
    wget -c https://github.com/Spotifyd/spotifyd/releases/download/v0.3.3/spotifyd-linux-armv6-slim.tar.gz -O - | tar -xz -C /home/pi/luniebox/bin
    
    cp /home/pi/luniebox/contrib/config/spotifyd.cfg /home/pi/luniebox/config/spotifyd.cfg
    
    sudo cp /home/pi/luniebox/contrib/service/spotifyd.service /etc/systemd/system/`
    
    sudo systemctl daemon-reload`
    
    sudo systemctl enable spotifyd
    

If you use other audio hardware, you may need to adjust the backend and device property in /home/pi/luniebox/config/spotifyd.cfg to your needs!

Music Player Daemon

for offline file support install Music Player Daemon (mpd)

  • create library folder and install mpd

    mkdir /home/pi/luniebox/library
    
    sudo apt install -y mpd
    
    sudo cp /home/pi/luniebox/contrib/config/mpd.conf /etc/mpd.conf
    

If you use other audio hardware, you may need to adjust the audio_output in /etc/mpc.conf section to your needs!

ClSpotify

for Spotify offline support install ClSpotify (requires spotify and mpd!).

  • get code, install pythen venv and update config

    git clone https://github.com/agent255/clspotify.git /home/pi/clspotify
    
    cd /home/pi/clspotify
    
    python -m venv venv
    
    source venv/bin/activate
    
    pip install -r requirements.txt
    
    deactivate
    
    sed -i "s/^zspotify_path =.*$/zspotify_path = \/home\/pi\/clspotify\//" /home/pi/luniebox/config/luniebox.cfg
    

Hardware

RC522 RFID Reader

  • uncomment dtparam=spi=on in /boot/config.txt tp enable SPI for RC522

    sudo sed -i "/dtparam=spi=on/s/^#//g" /boot/config.txt
    
  • connect RC522

    • SDA to Pin 24 [GPIO 8 / SPI0 CE0]
    • SCK to Pin 23 [GPIO 11 / SPI0 SCLK / CLK]
    • MOSI to Pin 19 [GPIO 10 / SPI0 MOSI]
    • MISO to Pin 21 [GPIO 9 / SPI0 MISO]
    • GND to Pin 20 [Ground]
    • RST to Pin 22 [GPIO 25]
    • 3.3v to Pin 1 [3v3 Power]

Pimoroni Amp or DAC

  • disable onboard audio comment out dtparam=audio=on in /boot/config.txt

    sudo sed -i "/dtparam=audio=on/s/^/#/g" /boot/config.txt
    
  • setup hifiberry-dac by adding following content to /boot/config.txt

    # setup hifiberry for Pimoroni Shim
    dtoverlay=hifiberry-dac
    gpio=25=op,dh
    
    printf "\n# setup hifiberry for Pimoroni Shim\ndtoverlay=hifiberry-dac\ngpio=25=op,dh\n" | sudo tee -a /boot/config.txt
    

Adafruit Speaker Bonnet for Raspberry Pi

  • disable onboard audio comment out dtparam=audio=on in /boot/config.txt

    sudo sed -i "/dtparam=audio=on/s/^/#/g" /boot/config.txt
    
  • setup hifiberry-dac and i2s by adding following content to /boot/config.txt

    # setup hifiberry and i2s for Adafruit Speaker Bonnet
    dtoverlay=hifiberry-dac
    dtoverlay=i2s-mmap
    
    printf "\n# setup hifiberry and i2s for Adafruit Speaker Bonnet\ndtoverlay=hifiberry-dac\ndtoverlay=i2s-mmap\n" | sudo tee -a /boot/config.txt
    
  • copy contrib/config/adafruit/asound.conf to /etc/asound.conf.

    cat /home/pi/luniebox/contrib/config/adafruit/asound.conf | sudo tee /etc/asound.conf
    
  • copy contrib/config/adafruit/.asoundrc to /home/pi/.asoundrc.

    cat /home/pi/luniebox/contrib/config/adafruit/.asoundrc | tee /home/pi/.asoundrc
    

MPU9250 9-axis sensor

  • install i2c-tools and python3-smbus

    sudo apt install -y i2c-tools python3-smbus
    
  • uncomment dtparam=i2c_arm=on in /boot/config.txt to enable I2C for MPU9250

    sudo sed -i "/dtparam=i2c_arm=on/s/^#//g" /boot/config.txt
    
  • setup i2c bus 4 for MPU9250 by adding following content to /boot/config.txt

    # setup ic2 bus 4 for mpu
    dtoverlay=i2c-gpio,bus=4,i2c_gpio_delay_us=1,i2c_gpio_sda=23,i2c_gpio_scl=24
    
    printf "\n# setup i2c bus 4 for mpu\ndtoverlay=i2c-gpio,bus=4,i2c_gpio_delay_us=1,i2c_gpio_sda=23,i2c_gpio_scl=24\n" | sudo tee -a /boot/config.txt
    

Finish installation

  • reboot system.

    sudo reboot