I’ve very pleased with my new Pi Zero W and plan to use it as an internet radio, sending the sound to a bluetooth speaker or headset.
This is my first project with Pi so these may be very basic questions… sorry for that.
I have installed a flash image of Musicbox (see below) onto the SD card and edited the configuration file for the WIFI id and password on my laptop
I installed the SD card in the Pi, it connects to the WIFI and I can select radio stations, change volume and all the rest of it via a web browser from the laptop (and presumably a phone in future)
It works just fine, straight out of the box - but I can’t get the Bluetooth connected. It seems like the Pi is not discoverable and I have no interface to view or change Bluetooth settings.
Opening the browser on the Pi goes straight into Musicbox with no way that I can see to open a GUI or a command line.
Can I add a few lines to the settings file to eanble Bluetooth?
How else can I achieve it without any other interface?
TIA Malcolm
Details of Musicbox are here: pimusicbox [dot] com/
Details of the project are here: youtube [dot] com/watch?v=aSga6w89VpI
My settings.ini on the SD card is this:
#################################
Pi MusicBox / Mopidy Settings
#################################
Edit the settings of your MusicBox and the Mopidy music server here
This is a file read by both the MusicBox startup-scripts and Mopidy.
For more info on the settings of Mopidy: Configuration — Mopidy 3.2.0 documentation
or the particular extenion’s GitHub page
Every line starting with a # is a comment, it does not do anything until you remove the
--------------------
| Network Settings |
--------------------
[network]
Settings for your WiFi network, if you use a (supported) wifi-dongle
Only supports WPA security, no WEP or access points without security (dive into the command line for that!)
wifi_network = MOVISTAR_XXXXX
wifi_password = XXXXXXXX
Optionally set the wifi region for correct regulatory configuration (available channels etc.)
Use the ISO / IEC 3166 alpha2 country code, e.g. wifi_country = GB
wifi_country = GB
Set the name of the MusicBox.
In this way you can identify and access different devices on the same network e.g. across different rooms.
A MusicBox device named kitchen would be accessible from a web browser at kitchen.local/, from an MPD
client at kitchen.local and advertised as kitchen on AirTunes.
The name is restricted to a maximum of 9 alphanumeric characters (no spaces, dots, etc).
You can even have different devices with different Spotify accounts when needed.
name = MusicBox
Mount Windows Network Drive on boot (via samba/cifs)
The address is exactly how Samba mount works: //servername/mountpoint/directory
e.g…
if the mount needs a username/password, also set it (leave empty for guest-access)
Additional comma-separated mount options can also be specified.
Don’t forget to let Mopidy/MusicBox scan the contents at first boot (see below)
mount_address = “”
mount_user = “”
mount_password = “”
mount_options = vers=1.0
Here you can change the default workgroup of the Windows network.
This will set the workgroup to the name you want
workgroup = WORKGROUP
Enable this to allow remote login via SSH on MusicBox
enable_ssh = false
Enable this to block network connections on ports other than those explicitly
required by Musicbox. This may prevent any additional network programs from working correctly.
This should be enabled alongside other security hardening methods if
using Musicbox outside of your LAN (not recommended).
enable_firewall = false
By default, MusicBox waits for the network to come up, since there is not much to do without a network.
If you want to skip this, e.g. for testing purposes, uncomment this line
wait_for_network = true
| Spotify |
[clipped]
---------------
| Spotify-Web |
---------------
[clipped]
-----------
| Last.fm |
-----------
[clipped]
--------------
| SoundCloud |
--------------
[clipped]
----------------
| Google Music |
----------------
[clipped]c
Supply your credentials to enable Google Music
NOTE: If enabled this may slow down the start of MusicBox. Please be patient
[gmusic]
enabled = false
username = “”
password = “”
deviceid = “”
-----------
| YouTube |
-----------
[clipped]
Play music from Youtube
NOTE: Search is currently broken!
[youtube]
enabled = true
----------
| Dirble |
----------
[clipped]
----------------
| TuneIn Radio |
----------------
[clipped]
Play radio stations from TuneIn
[tunein]
enabled = true
------------------------
| The Internet Archive |
------------------------
[clipped]
Listen to sounds and music from the Internet Archive
[internetarchive]
enabled = false
-----------
| Soma FM |
-----------
[clipped]
Play radio stations from Soma FM
[somafm]
enabled = false
encoding = mp3
quality = fast
-----------
| Podcast |
-----------
[clipped]
Browse podcasts distributed as RSS feeds and play individual episodes in a variety of audio formats
Edit the subscription file at /boot/config/Podcasts.opml
[podcast]
enabled = true
WARNING: Do not add settings for [podcast-itunes]
because it breaks the startup script (won’t read dashes in section names)
---------------
| AudioAddict |
---------------
[clipped]
Play music from all the AudioAddict network of sites (login optional)
[audioaddict]
enabled = false
quality = 40k
difm = false
radiotunes = false
rockradio = false
jazzradio = false
frescaradio = false
---------
| Tidal |
---------
[clipped]
Supply your credentials to enable Tidal.
[tidal]
enabled = false
username = “”
password = “”
Can be set to LOW, HIGH or LOSSLESS. LOSSLESS requires a Tidal HiFi Subscription
quality = HIGH
---------------------
| MusicBox Settings |
---------------------
[musicbox]
To secure your device, change the default password to something else.
For security, the value below will be automatically cleared once the password is changed.
root_password = XXXXXXXXX
Automatically resize the filesystem and use all available space on your SD card.
Use at your own risk, you could lose data on your card.
(If so, you can put the original MusicBox image on it again and start over)
resize_once = false
Scan on startup for new music files on the SD card or the network shares (could take a while!).
Local files work ok for moderate size collections. Large music database sizes could cause problems.
IMPORTANT: if you enable scan_always this will scan on every boot.
If your music doesn’t change or you only stream music set scan_once instead.
#scan_once = true
scan_always = true
MusicBox can automatically start playing a stream/song after startup.
It will wait up to autoplaymaxwait seconds before trying to do so for the system to first become ready.
The wait required varies per device, network and configuration so if it doesn’t work then increase the time.
e.g. autoplay = [clipped]
autoplay = “”
autoplaymaxwait = 60
-------------
-------------
| Webclient |
-------------
Here you can change the default webclient from musicbox_webclient to something else.
Options: musicbox_webclient, moped, mobile, mopify, simple-webclient, kuechenradio
webclient = musicbox_webclient
Monitor playback to automatically restart internet streams following connectivity issues.
enable_mpd_watchdog = “”
-------------
| Streaming |
-------------
Set these options to enable streaming to Pi MusicBox
AirTunes (using Shairport-sync):
enable_shairport = false
DLNA/uPnP/OpenHome (using upmpdcli):
enable_upnp = false
Spotify Connect support (using librespot) ** BETA**
enable_connect = false
------------------
| Audio Settings |
------------------
Because of limitations with some USB-DACs, MusicBox downsamples USB sound to 44k by default. Set to false to disable.
downsample_usb = true
Set default system audio output. This overrides the automatic detection (which sets to usb audio if a usb audio device
is found, else to hdmi (if hdmi is connected at boot), and otherwise just to the analog out).
i2s cards (e.g. HifiBerry etc) are not detected automatically and must be explicitly set here.
Options: analog, hdmi, usb, hifiberry_dac, hifiberry_digi, hifiberry_dacplus, hifiberry_amp, justboom_dac, justboom_digi,
iqaudio_dacplus, iqaudio_digi_wm8804_audio, audioinjector-wm8731-audio, audioinjector-addons,
allo-boss-dac, allo-piano-dac, allo-piano-dac-plus, allo_digione
If you don’t know what to put here then use websettings instead.
output = “”
enable_stream_watchdog = false
--------------------------------------------------------------------------
| OTHER Settings |
| You probably don’t want to edit the settings below this line. Really. |
| Unless you know what you’re doing. |
--------------------------------------------------------------------------
[audio]
This is Mopidy’s audio volume. Other applications do not use this.
mixer_volume = 85
This sets the gstreamer buffer. It’s a bit tricky…
If you have problems with stuttering sound, try other values here, like:
#output = alsasink buffer-time=300000 latency-time=20000
#output = alsasink buffer-time=200000 latency-time=10000
output = alsasink
mixer = software
Optionally, you can use alsamixer to enable your usb/audiocard hardware mixer (if available).
To use this, set the previous setting to ‘mixer = alsamixer’, then enable alsamixer below and
set the appropriate card and contol values.
Run the command ‘amixer scontrols’ from the commandline to list the available controls for your mixer.
See [clipped] /mopidy-alsamixer for more details.
[alsamixer]
enabled = false
card = 1
control = Master
[stream]
enabled = true
[http]
hostname = 0.0.0.0
#Disable zeroconf
zeroconf = “”
static_dir = /opt/musicbox/webclient
[musicbox_webclient]
musicbox = true
[websettings]
musicbox = true
config_file = /boot/config/settings.ini
[mpd]
hostname = 0.0.0.0
#Disable zeroconf
zeroconf = “”
[core]
cache_dir = /var/cache/mopidy
config_dir = /etc/mopidy
data_dir = /var/lib/mopidy
[logging]
config_file = /etc/mopidy/logging.conf
debug_file = /var/log/mopidy/mopidy-debug.log
[local]
enabled = true
library = sqlite
media_dir = /music
scan_follow_symlinks = true
excluded_file_extensions = .directory .html, .jpeg, .jpg, .log, .nfo, .png, .txt, .mkv, .avi, .divx, .qt, .htm, .zip, .rar, .gz, .pdf, .exe, .ini, .mid, .db, .m3u, .sfv, .midi
WARNING: Do not add settings for [local-sqlite]
because it breaks the startup script (won’t read dashes in section names)
[file]
media_dirs = /music|Music
follow_symlinks = true
[m3u]
playlists_dir = /music/playlists