Help  Search  Portal
 Portal  Search
Hello There, Guest!  Register  Login

OLED display for Snakeoil Raspberry Pi and MPD


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 
#1
This is a recipe for MPD....       (if you use LMS then you will have to research the LMS forums ???...)
(I am assuming you have a usage knowledge of the Linux editor 'nano')

We are using a simple OLED  SH1106 I2C 128x64 screen such as this...
https://www.ebay.com/itm/1-3-White-OLED-...SwVGFZqEDx
vcc=3.3v  Gnd, SDA and SCL  as per your Raspberry Pi's GPIO

Install Snakeoil to your Raspberry pi and bring up the web app..
https://www.snakeoil-os.net/forums/Threa...nd-Testing
https://www.snakeoil-os.net/Manual/confi...-interface

Change password in web app>'System' page.
Log into Snakeoil via ssh. = [email protected]<ip_Address>              password = <whatever_you_used_above>

Then run...
Code:
sudo raspi-config


and action these options...
#5=Interface options>P5 I2C and activate i2c
then...

#7=Advance options>A1 Expand filesystem
Finish...and reboot.

ssh in again and install Adrians Oled...(sourced from here...https://github.com/antiprism/mpd_oled)
Code:
sudo apt-get update
sudo apt-get install git-core autoconf make libtool libfftw3-dev libasound2-dev
git clone https://github.com/karlstav/cava
cd cava
./autogen.sh
./configure
make
sudo make install

 
and...
Code:
cd ~
sudo nano  /boot/config.txt

add at the  bottom the following...
Code:
dtparam=i2c_arm_baudrate=400000

then..
Code:
sudo nano /etc/modules

and check that i2c-dev is listed and uncommented (should be default) 

Now...
Code:
sudo apt-get install python-smbus
sudo reboot

ssh in and...
Code:
sudo dpkg-reconfigure tzdata

select for your location.

Important..(use next whichever version of mpd you are using as your player...I am using mpd-v20.)
 
Code:
sudo nano /var/www/players/mpd-v20/mpd.conf.template

add the following lines to the end of the file... (this is for the oled data and will not affect your selected audio output details)
Code:
audio_output {
        type            "fifo"
        name            "mpd_oled_FIFO"
        path            "/tmp/mpd_oled_fifo"
        format          "44100:16:2"
        #buffer_time     "500000"
}

Force Snakeoil to regenerate mpd.conf and restart MPD by going to the Web UI = MUSIC PLAYER and clicking the 'Save and restart players' button.

mpd_oled install.....
 
Code:
sudo apt install build-essential git-core autoconf make libtool libi2c-dev i2c-tools lm-sensors libcurl4-openssl-dev libmpdclient-dev libjsoncpp-dev

Code:
git clone https://github.com/antiprism/mpd_oled

cd mpd_oled

PLAYER=MPD make

Check the program works correctly by running it while playing music.
( The OLED type MUST be specified with -o from the following list: 1 - Adafruit SPI 128x64, 3 - Adafruit I2C 128x64, 4 - Seeed I2C 128x64, 6 - SH1106 I2C 128x64.)

(test for SH1106 I2C 128x64)
Code:
sudo ./mpd_oled -o 6 -b 10 -g 1 -f 20


My preferred for SH1106 I2C 128x64(changes scroll rate and 12 Hr clock)
Code:
sudo ./mpd_oled -o 6 -a 3c -r 24 -s 20.0,2.0,3.0,2.0  -C 3

either of the above should activate the oled.
Stop the display with..Ctrl+c

(you can edit the configuration here otherwise accept the defaults...)
Code:
cd mpd_oled
sudo nano mpd_oled.service

 
then if all works finish by doing...
Code:
sudo bash install.sh

cd ~

reboot.

Attached Files

Image(s)
           

[-] The following 2 users Like Bromf's post:
  • hkphantomgtr, agent_kith
 Reply
#2
After a Firmware update the spectrum analyser portion of the display no longer works as the mpd.conf.template is overwritten.
Fix it by rerunning the Fifo patch from the install as follows.....
ssh to your Pi and...

Important..(use next whichever version of mpd you are using as your player...I am using mpd-v20.)
 
Code:
sudo nano /var/www/players/mpd-v20/mpd.conf.template


add the following lines to the end of the file... (this is for the oled data and will not affect your selected audio output details)
Code:
audio_output {
        type            "fifo"
        name            "mpd_oled_FIFO"
        path            "/tmp/mpd_oled_fifo"
        format          "44100:16:2"
        #buffer_time     "500000"
}


Reboot...
[-] The following 2 users Like Bromf's post:
  • hkphantomgtr, agent_kith
 Reply
#3
Hi Bromf,

To make this easier, I'm going to add a new option in MPD configuration (from 1.1.4 onwards).

Simply add the word to the options box, and this audio output device will be added on restart:
Code:
mpd_oled


In the future I'll also package the binaries as a installable module to make it even easier, but will have to leave that till later.
Snakeoil Operating System - Music, your way!
[-] The following 1 user Likes agent_kith's post:
  • Bromf
 Reply
 
SnakeoilOS Mission
[-]

Our mission is to create a free to use computer OS that is easy to install, intuitive to operate and play music that will connect and engage with you emotionally.

SnakeoilOS gives you the freedom to spend more time on listening, enjoying and exploring music. Wasting time on computers is now a thing of the past! Everything is constantly evolving/improving. Please check back often for updates.

If you like this project, do show your support with a small token donation. All donations collected will be used to run this website, and for purchasing new equipment for the project.

Latest Threads
[-]
Advertising
[-]
Possibly Related Threads…
 

Users browsing this thread: 1 Guest(s)