Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
rmens committed Mar 17, 2024
1 parent 7135e5e commit 5b4af28
Showing 1 changed file with 23 additions and 17 deletions.
40 changes: 23 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,31 @@
# rpi-umpx-decoder
This repository contains the MicroMPX set-up for [ZuidWest FM](https://www.zuidwestfm.nl/) in the Netherlands. It uses a Rapsberry 4 or 5 and a [HiFiBerry DAC2 Pro XLR
](https://www.hifiberry.com/shop/boards/hifiberry-dac2-pro-xlr/) as audio output. It downloads the most recent version of the MicroMPX decoder from Thimeo, which is managed by systemd as service.
This repository contains the MicroMPX setup for [ZuidWest FM](https://www.zuidwestfm.nl/) in the Netherlands. It is compatible with Raspberry Pi 4 or 5 and uses a [HiFiBerry DAC2 Pro XLR](https://www.hifiberry.com/shop/boards/hifiberry-dac2-pro-xlr/) for audio output. The repository facilitates downloading the latest version of the MicroMPX decoder from Thimeo, which systemd manages as a service.

# How to prepare the Raspberry Pi
- Install Raspberry Pi OS Lite 12 (Bookworm)
- Ensure you are root by running `sudo su`
- Download and run the install script with the command `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/oszuidwest/rpi-umpx-decoder/main/setup.sh)"`
- After a reboot MicroMPX should be running on `http://{{ip}}:8080`
# How to Prepare the Raspberry Pi
- Install Raspberry Pi OS Lite 12 (Bookworm).
- Ensure you are root by executing `sudo su`.
- Download and execute the installation script with the command: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/oszuidwest/rpi-umpx-decoder/main/setup.sh)"`.
- After rebooting, MicroMPX should be accessible at `http://{{ip}}:8080`.

## A few words about the Raspberry Pi 5
MicroMPX and HiFiBerry boards work well with the Raspberry Pi 5. There is currently [a bug](https://github.com/raspberrypi/linux/issues/5743) in the firmware that requires you to edit the `/boot/firwmare/config.txt` manually. Add `,slave` after the `dtoverlay` for the HiFiBerry. For example `dtoverlay=hifiberry-dacplus,slave`.
## A Few Words About the Raspberry Pi 5
MicroMPX and HiFiBerry boards are compatible with the Raspberry Pi 5. Currently, there is [a firmware bug](https://github.com/raspberrypi/linux/issues/5743) that necessitates manually editing the `/boot/firmware/config.txt` file. Add `,slave` to the `dtoverlay` line for the HiFiBerry, such as `dtoverlay=hifiberry-dacplus,slave`.

# How to add the Raspberry Pi to the VPN
- Download and run the VPN script with the command `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/oszuidwest/rpi-umpx-decoder/main/vpn.sh)"`
- Check with `ip a` if you have an interface named `wg0` with the correct IP
- If the `wg0` interface is not showing, enable debugging with `modprobe wireguard && echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control` and `tail -f /var/log/syslog` to look for errors
# How to Connect the Raspberry Pi to the VPN
- Download and execute the VPN script with the command: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/oszuidwest/rpi-umpx-decoder/main/vpn.sh)"`.
- Verify the presence of an interface named `wg0` with the correct IP using `ip a`.
- If the `wg0` interface does not appear, enable debugging with `modprobe wireguard && echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control` and use `tail -f /var/log/syslog` to identify any errors.

## Optional heartbeat monitoring
You can optionally integrate heartbeat monitoring. In this case the Pi will `wget --spider` a given url every minute, acting as a heartbeat. This can be any url, but we tested with Uptime Robot. A paid account is required at Uptime Robot for heartbeat monitoring.
## Optional Heartbeat Monitoring
Optionally, heartbeat monitoring can be integrated. In this configuration, the Pi will execute `wget --spider` on a specified URL every minute to serve as a heartbeat. This URL can be any, but testing was conducted with Uptime Robot. Note that a paid Uptime Robot account is required for heartbeat monitoring.

# Opinionated Modifications
This script introduces several modifications to the default MicroMPX behavior, which we believe enhance the setup:

1. Logs are automatically deleted after 7 days instead of the default 30 days in MicroMPX. A cron job is set up to manage this.
2. To preserve the SD card from excessive writes, logs are written to a RAM disk instead of the SD card. MicroMPX logs can be quite verbose, and without this modification, we have experienced failures with some SD cards.
3. The HDMI audio output is disabled, allowing the analog output to be used for signal monitoring. Therefore, we recommend using a Raspberry Pi 4, as it still offers an analog output.

# License
This project is licensed under the GPLv3 License - see the LICENSE.md file for details.
This project is licensed under the GPLv3 License - see the LICENSE.md file for details.

Bugs, feedback, and ideas are welcome at `techniek@zuidwesttv.nl` or through pull requests.
For bugs, feedback, and ideas, please contact us at `techniek@zuidwesttv.nl` or via pull requests.

0 comments on commit 5b4af28

Please sign in to comment.