I've been spending quite a bit of time with 'Alpine Linux'
(https://alpinelinux.org/) on Raspberry Pi's and x86_64.  I have an idea
I've been mulling over and tinkering around with, I'm calling it Alps,
as a riff on the Alpine theme, and which may or may not be an acronym
(Another Logitech Player Server or Alpine Linux Player Server or Alpine
LMS Plus Squeezelite or ??).

It's in its' infancy and I'm probably jinxing it by posting about it
prematurely, but, I feel like the big pieces are in place and I just
need to fit them together.  I have packages for LMS and Squeezelite
(currently redoing the armhf build environment), and most/all of the
additional packages are in the Alpine repos, including those needed to
support bluetooth.

The general idea is rather than have a web (or other UI) on the player
itself for configuration, you would do any player config through a
plugin for LMS (called Alps), using the familiar plugin workflow and
framework that LMS includes out of the box.  There would be a global
settings page that would apply to all Alps players and then player
specific settings also.  No settings would really be stored on the
player side, they would be read from the server at player boot.  The
main exception would probably be for Raspberry Pi config.txt
(usercfg.txt) which are read at boot.

I've got an early proof of concept plugin working on the LMS side, and
headless setup scripts working on the client side.  For example, the
basic steps to setup an RPi would be:

1. Download the stock Alpine tarball for your RPi.
2. Format SD card and extract the Alpine tarball to it.
3. Add the Alps tar.gz file to the root of the SD card and an optional
wifi.txt file with SSID/credential info.
4. Boot

On first boot, the Alps script downloads and installs squeezelite,
starts it with null sound output and then shows up in LMS with a unique
player name based on the MAC address.  Now that it's checked in with
LMS, you go into the Alps plugin settings and configure the player.  The
player configures itself at each boot based on the settings stored on
the server.

As I said, I have most of the concept pieces working, the LMS plugin,
the headless boot and player check-in etc.  Just trying to think through
the negatives to this approach.  I'm basing the design to suit my setup
which I assume is fairly typical but I'm not sure.  By that I mean I
have a home server already, which does other things besides run LMS.  So
this automatic player setup approach assumes that an LMS instance
already exists on the network.

One plus is that I've tested it with USB boot on x86_64 hardware (Wyse
thin clients) so the same basic approach can be used for a variety of
hardware, as long as Alpine supports it.

Anyway, comments welcome!


------------------------------------------------------------------------
sodface's Profile: http://forums.slimdevices.com/member.php?userid=19057
View this thread: http://forums.slimdevices.com/showthread.php?t=112899

_______________________________________________
unix mailing list
unix@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/unix

Reply via email to