doc: adds used hardware and updates setup instructions

This commit is contained in:
itsscb 2022-12-30 14:35:07 +01:00
parent 8588363033
commit a282bfe34c

@ -4,24 +4,48 @@ This project aims to take another approach at RFID-Jukeboxes like the [toniebox]
Our goal is to empower parents to make their kids happy - on their own terms.
## Prerequisites
We are currently at the beginning of the development.
The project is currently in the development but is already used in production.
If you wish to try the **MARLIN** Box in this state you will need the following:
- Raspberry Pi (at least 3B)
- [Raspberry Pi Zero 2W](https://www.berrybase.de/detail/index/sArticle/9357)
- Raspbian OS
- Packages:
- `portaudio-devel.x86_64`
- RFID-Reader (**EM4100**)
- `portaudio19-dev`
- Powerbank
- [USB-Hub](https://www.amazon.de/gp/product/B01K7RR3W8/ref=ppx_yo_dt_b_asin_title_o04_s01?ie=UTF8&psc=1)
- [Speakers](https://www.amazon.de/gp/product/B00JRW0M32/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1)
- [USB-Soundcard](https://www.berrybase.de/usb-2.0-soundkarte-mit-stereo-kopfhoerer-ausgang-und-mikrofon-eingang)
- [USB-RFID-Reader (**EM4100**)](https://www.amazon.de/gp/product/B018OYOR3E/ref=ppx_yo_dt_b_asin_title_o05_s01?ie=UTF8&psc=1)
- [RFID-Cards](https://www.amazon.de/gp/product/B07TRSR3VB/ref=ppx_yo_dt_b_asin_title_o04_s02?ie=UTF8&psc=1)
- Some cables
- Some **.mp3-Files**
- *Optional*:
- [Power-Button](https://www.amazon.de/gp/product/B08VH4SMLT/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&psc=1)
## Setup
- Clone this repository to your Computer or directly onto the Raspberry Pi - on whatever device you would like to build the software you will need **golang** installed
- Setup your **Raspberry Pi Zero 2 W** as usual or use the [Raspberry Pi Imager](https://www.raspberrypi.com/software/) on your Computer and insert the configured SD-Card into your **Raspberry Pi Zero 2 W**
- Once online and connected to your network *ssh* into the **Raspberry**
- Update and Restart the Pi using `sudo apt-get -y update && sudo apt-get -y upgrade && sudo reboot now`
- *ssh* back
- Install `curl` and `portaudio19-dev` if it's not already there using `sudo apt-get -y install curl portaudio19-dev`
- Download **golang** using `curl -OL https://go.dev/dl/go1.19.4.linux-armv6l.tar.gz`
- Extract the archive using `tar -xf go.19.4.linux-arm6l.tar.gz`
- Clone this repository
- `git clone https://github.com/itsscb/marlinbox`
- `cd marlinbox/cmd`
- Build the software
- `go build main.go && mv main marlinbox`
- Create or modify the file `playlist.json` in the same directory
- Run it with `sudo` [^1]
- `sudo ./marlinbox`
- Build the software `~/go/bin/go build main.go && mv cmd marlinbox`
- Create or modify the file `playlist.json` in the same directory
- Create the `systemd service` with `sudo nano /etc/systemd/system/marlinbox.service`
- `[Unit]
Description=Runs the binary of the marlinbox
[^1]: Required because we access `/dev/input/` devices which require root privileges.
[Service]
ExecStart=/home/marlinbox/marlinbox/cmd/cmd
WorkingDirectory=/home/marlinbox/marlinbox/cmd
Type=simple
User=root
`
- Enable the `systemd service` with `sudo systemctl enable marlinbox.service`
- Restart the Pi with `sudo reboot now`
Your **MARLINBOX** should be up and running.