central-node

Configuration and code to be setup on a Raspberry Pi 4B board as a central node ๐Ÿ“ก

Stars
2

Central Node ๐Ÿ“ก

Project that build entire custom Raspberry Pi OS Lite bootable image ๐Ÿ’ฟ

This image is intended to be used on Raspberry Pi 4B 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 peripheral-nodes 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:

./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 to

Navigating to config/vars the default values could be overriden by creating files and variables with the same.

Example configuration:

config/vars/credentials.yml:

user_name: thesis
user_password: thesis

root_password: very_strong_root_password_here

config/vars/wifi.yml:

wifi_ssid: My_Router_SSID
wifi_password: My_Router_Password

โŒ› This will take some time

You can use Docker Desktop to watch the logs from the containers to see the process going or you can type

# 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
    • 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 or Pi Imager) or any other way (for example with dd or using Gnome Disk) to flash the distro.img file.