setup_rpi.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. OVERLAY="googlevoicehat-soundcard"
  4. if [[ "${1:-}" == "--overlay" && -n "${2:-}" ]]; then
  5. OVERLAY="$2"
  6. fi
  7. BOOT_CONFIG="/boot/firmware/config.txt"
  8. if [[ ! -f "$BOOT_CONFIG" ]]; then
  9. BOOT_CONFIG="/boot/config.txt"
  10. fi
  11. echo "[1/6] Enabling I2S in ${BOOT_CONFIG}"
  12. sudo sed -i '/^dtparam=i2s=on/d' "$BOOT_CONFIG"
  13. sudo sed -i '/^dtoverlay=googlevoicehat-soundcard/d' "$BOOT_CONFIG"
  14. sudo sed -i '/^dtoverlay=i2s-mmap/d' "$BOOT_CONFIG"
  15. sudo sed -i '/^dtoverlay=adau7002-simple/d' "$BOOT_CONFIG"
  16. echo "dtparam=i2s=on" | sudo tee -a "$BOOT_CONFIG" >/dev/null
  17. echo "dtoverlay=${OVERLAY}" | sudo tee -a "$BOOT_CONFIG" >/dev/null
  18. echo "[2/6] Writing ~/.asoundrc"
  19. cat > "$HOME/.asoundrc" <<'EOF'
  20. pcm.!default {
  21. type asym
  22. capture.pcm "mic"
  23. }
  24. pcm.mic {
  25. type hw
  26. card 0
  27. format S32_LE
  28. rate 48000
  29. channels 2
  30. }
  31. EOF
  32. echo "[3/6] Installing dependencies"
  33. sudo apt-get update
  34. sudo apt-get install -y python3-venv python3-dev build-essential portaudio19-dev git
  35. echo "[4/6] Creating venv"
  36. cd /home/pch/mic_system
  37. python3 -m venv .venv
  38. source .venv/bin/activate
  39. pip install --upgrade pip
  40. pip install -r requirements.txt
  41. echo "[5/6] Installing systemd service"
  42. sudo cp deploy/mic_system.service /etc/systemd/system/mic_system.service
  43. sudo systemctl daemon-reload
  44. sudo systemctl enable mic_system.service
  45. sudo systemctl restart mic_system.service || true
  46. echo "[6/6] Done. Reboot required for I2S overlay."
  47. echo "Run: sudo reboot"