Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heaven-waves/central-node
Configuration and code to be setup on a Raspberry Pi 4B board as a central node ๐ก
https://github.com/heaven-waves/central-node
ansible audio central configuration debian docker raspberry-pi streaming
Last synced: about 1 month ago
JSON representation
Configuration and code to be setup on a Raspberry Pi 4B board as a central node ๐ก
- Host: GitHub
- URL: https://github.com/heaven-waves/central-node
- Owner: Heaven-Waves
- Created: 2024-09-02T05:29:09.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-20T16:00:37.000Z (2 months ago)
- Last Synced: 2024-10-09T18:03:38.935Z (about 1 month ago)
- Topics: ansible, audio, central, configuration, debian, docker, raspberry-pi, streaming
- Language: Jinja
- Homepage:
- Size: 65.4 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Central Node ๐ก
### Project that build entire custom Raspberry Pi OS Lite bootable image ๐ฟ
This image is intended to be used on [Raspberry Pi 4B](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/) with 4G RAM ๐ to turn this machine into central node / server that accepts audio from Bluetooth
> Yes, you read it, you can connect your phone to it
and spread it to multiple [ESP32-LyraT V4.3](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/get-started-esp32-lyrat.html) [`peripheral-node`s](https://github.com/Heaven-Waves/peripheral-node) in your local network.
## Raspberry Pi 4 model B
> You know it well
## Dependencies
Verry simple because the only actually required dependancies are
### ๐ฎ Bash
Just to run the `setup.sh` script.
### ๐ Docker
Because everything in this repository (configurations, environments, etc.) is dockerized, making things easily portable.
## How to use
Running the `setup.sh` script with your `bash` shell:
```bash
./setup.sh
```will build the docker containers that will run it's task to create the `*.img` file.
There are provided default variable for:
- new default user credentials
- password to `root` user
- Wi-Fi SSID and password to connect toNavigating to `config/vars` the default values could be **overriden** by creating files and variables with the same.
Example configuration:
`config/vars/credentials.yml`:
```yml
user_name: thesis
user_password: thesisroot_password: very_strong_root_password_here
````config/vars/wifi.yml`:
```yml
wifi_ssid: My_Router_SSID
wifi_password: My_Router_Password
```### โ This will take some time
You can use [Docker Desktop](https://www.docker.com/products/docker-desktop/) to watch the logs from the containers to see the process going
or you can type```bash
# for the emulator output
docker logs -f central-node-pi-emulator# for the configuration of the image
docker logs -f central-node-ansible-1
```## Sofware used
- ๐ [Raspberry Pi OS Lite](https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2024-07-04/)
- Realease: 2024-07-04 (July 4th 2024)
- Based on: Debian 12 (Bookworm)
- ๐ ฐ Ansible
- ๐ Docker
- ๐งผ Liquidsoap - `v2.1.3`## Expectations
The freshly created image is located in `dist` folder and i called `distro.img` by default:
```
.
โโโ dist/
โโโ distro.qcow2
โโโ distro.img <-- the output bootable image
โโโ kernel.img
```You are free to use you software of choice (for example [`balenaEtcher`](https://etcher.balena.io/) or [`Pi Imager`](https://www.raspberrypi.com/software/)) or any other way (for example with `dd` or using [`Gnome Disk`](https://apps.gnome.org/DiskUtility/)) to flash the `distro.img` file.