Client & Server on same machine

Raspberry Pi related support

Client & Server on same machine

Postby hbert » 02 Dec 2014, 19:30

Hi, i am thinking of setting up a Rune Audio server based on a raspberry pi in my home.
I wanted to know if it is possible to have the Raspberry running as server and at the same time access the RuneUI via a monitor connected to the Raspberry.
Thanks and greetings from Germany :)
hbert
 
Posts: 1
Joined: 02 Dec 2014, 19:21

Re: Client & Server on same machine

Postby cmh714 » 02 Dec 2014, 20:42

My guess thats possible but somewhat defeating of the general purpose for Rune which is to be streamlined for performance.

You would need a desktop environment and a browser in order to do what you ask.
cmh714
 
Posts: 470
Joined: 04 May 2014, 03:06

Re: Client & Server on same machine

Postby popov » 12 Dec 2014, 01:14

Hi

Why ?
Runeaudio is optimized for sound, having client and server on the same RPI ???
popov
 
Posts: 55
Joined: 11 Oct 2014, 16:13

Re: Client & Server on same machine

Postby strangerng » 13 Dec 2014, 20:36

My 5 cents))
You know, the main problem of the pi is power.
Let's be honest, it's really not fast and, as a result, if you'll install both server part (RuneUI+mpd) with the client (X-server I guess and some web browser) it will work somehow, but you'll lose all the benefits of high quality sound of rune audio. Besides browser will respond rather slowly.
So, IMHO, it's not the way it should be done.
I'm using rune audio on pi in a similar way, but...
I have connected screen to the pi with rune audio and also installed Ir receiver.
But I'm using ncmpc as an UI client on that screen.
No X, just fbterm.
This configuration doesn't affect sound and rather usable.
strangerng
 
Posts: 4
Joined: 07 Jun 2014, 09:34

Re: Client & Server on same machine

Postby jnfindley » 03 Mar 2015, 17:31

I have not bought one yet, but I'd like to try this on a Raspberry Pi 2. I would think with the extra RAM and the quad-core processor on the Pi2 that this would should be possible without degrading the audio quality. I'd like to attach the Pi to my TV via HDMI, and have the TV display the currently playing song and album art. I would still control the queue through the web browser of a network attached device (iPhone, tablet, etc.). My TV is already attached to my receiver via an optical digital output, so this setup would not require an additional sound card to send digital audio to the receiver.
User avatar
jnfindley
 
Posts: 6
Joined: 22 Nov 2014, 23:19

Re: Client & Server on same machine

Postby TJH » 23 Apr 2015, 22:45

Hi jnfindley

Have you tried server and player on the Pi 2 yet? I'd like to know how it goes.
TJH
 
Posts: 24
Joined: 13 Apr 2015, 14:04

Re: Client & Server on same machine

Postby holymoly » 29 Jun 2015, 22:12

Hi,
I've found out how to install an x-server on my raspberry pi 2.
My wife wanted a simple internet radio an I have an old xenarc 7" touchscreen which would be great to use as a second interface.

First make a backup of your SD-Card. If you don't know how to do this, please do not go on as this is the easiest part.

After this I increased the size of the partition, so there is enough space for the additional software (very important). I used a SD-Cardreader and gparted (you can use a ubuntu live cd for this).

All done? Ok, let's begin:

Update Repository (to be sure all software packages are up to date and download-links still exist)

Code: Select all
pacman -Sy


Please DO NOT run a full system update (pacman -Syu). It will brick your installation!

Install x-server:
Code: Select all
pacman -S xorg-server xorg-xinit xorg-utils xorg-server-utils


Install graphic-driver:
Code: Select all
pacman -S xf86-video-fbdev xf86-video-vesa


Install the desktop environment:
Code: Select all
pacman -S xfce4


Start desktop environment:
Code: Select all
startxfce4

At this time you have to start the environment manually on every boot. I did not have the time to care about auto-starting it at this time.

Now we have a very lightweight desktop environment and many essential parts such as the browser are still missing.
I've tried a lot of browsers and midori was the only one who worked the way i wanted. So let's install it:
Code: Select all
pacman -S midori


BUT, if you want to start midori now (like every useable browser I've tried -all of them webkit based) you get an error because of
ICU - International Components for Unicode http://site.icu-project.org/

Well I thought this could be solved with installing/updating icu:
Code: Select all
pacman -S icu


Now I can start midori and show the runeaudio webinterface by visiting http://127.0.0.1. Even fullscreen is possible (midori -e Fullscreen)

Everything seems to work as it should - well sadly NOT!

After rebooting the system the whole webinterface is not working anymore!
Image

The problem is icu. But I have to install/update it, to get any browser to work.

This is the error message I get:
Code: Select all
 Warning: socket_write() expects parameter 1 to be resource, boolean given in /srv/http/app/libs/runeaudio.php on line 99 Warning: socket_last_error() expects parameter 1 to be resource, boolean given in /srv/http/app/libs/runeaudio.php on line 88 Warning: socket_close() expects parameter 1 to be resource, boolean given in /srv/http/app/libs/runeaudio.php on line 89


So the php code seems to have a problem with the new icu package. Hopefully only a small problem, but I don't know. Sadly I'm not into php programming. This is where I need your help! Maybe someone can modify the code to get runeaudio to work again.

This is the ICU Info before update...
Code: Select all
 <icuSystemParams type="icu4c">
    <param name="copyright"> Copyright (C) 2014, International Business Machines Corporation and others. All Rights Reserved. </param>
    <param name="product">icu4c</param>
    <param name="product.full">International Components for Unicode for C/C++</param>
    <param name="version">54.1</param>
    <param name="version.unicode">7.0</param>
    <param name="platform.number">4000</param>
    <param name="platform.type">Linux</param>
    <param name="locale.default">en_US_POSIX</param>
    <param name="locale.default.bcp47">en-US-u-va-posix</param>
    <param name="converter.default">US-ASCII</param>
    <param name="icudata.name">icudt54l</param>
    <param name="icudata.path"></param>
    <param name="cldr.version">26.0</param>
    <param name="tz.version">2014h</param>
    <param name="tz.default">CET</param>
    <param name="cpu.bits">32</param>
    <param name="cpu.big_endian">0</param>
    <param name="os.wchar_width">4</param>
    <param name="os.charset_family">0</param>
    <param name="os.host">armv7l-unknown-linux-gnueabihf</param>
    <param name="build.build">armv7l-unknown-linux-gnueabihf</param>
    <param name="build.cc">gcc</param>
    <param name="build.cxx">g++</param>
    <param name="uconfig.internal_digitlist">1</param>
    <param name="uconfig.have_parseallinput">1</param>
    <param name="uconfig.format_fastpaths_49">1</param>
 </icuSystemParams>


... and after update:
Code: Select all
 <icuSystemParams type="icu4c">
    <param name="copyright"> Copyright (C) 2015, International Business Machines Corporation and others. All Rights Reserved. </param>
    <param name="product">icu4c</param>
    <param name="product.full">International Components for Unicode for C/C++</param>
    <param name="version">55.1</param>
    <param name="version.unicode">7.0</param>
    <param name="platform.number">4000</param>
    <param name="platform.type">Linux</param>
    <param name="locale.default">en_US_POSIX</param>
    <param name="locale.default.bcp47">en-US-u-va-posix</param>
    <param name="converter.default">US-ASCII</param>
    <param name="icudata.name">icudt55l</param>
    <param name="icudata.path"></param>
    <param name="cldr.version">27.0.1</param>
    <param name="tz.version">2015b</param>
    <param name="tz.default">CET</param>
    <param name="cpu.bits">32</param>
    <param name="cpu.big_endian">0</param>
    <param name="os.wchar_width">4</param>
    <param name="os.charset_family">0</param>
    <param name="os.host">armv7l-unknown-linux-gnueabihf</param>
    <param name="build.build">armv7l-unknown-linux-gnueabihf</param>
    <param name="build.cc">gcc</param>
    <param name="build.cxx">g++</param>
    <param name="uconfig.internal_digitlist">1</param>
    <param name="uconfig.have_parseallinput">1</param>
    <param name="uconfig.format_fastpaths_49">1</param>
 </icuSystemParams>


Can someone please have a look at runeaudio.php and fix the error?

P.S.: If you don't install icu, you can use the mpd client ario. But it has a ugly interface for my touchscreen and does not support all runeaudio features such as selecting an internet radio (only if you have them stored in a playlist).

Greetings from Germany
holymoly
 
Posts: 7
Joined: 29 Jun 2015, 21:38

Re: Client & Server on same machine

Postby nicosalto » 08 Jul 2015, 23:43

Hi Holymoly,
iam really curious on what you have done there, and wish to do the same thing.
Did you found a solution for the icu issue at the end ?
nicosalto
 
Posts: 2
Joined: 08 Jul 2015, 23:40

Re: Client & Server on same machine

Postby benkit » 09 Jul 2015, 04:30

Hi Holymoly,
Yes,I'm also looking for this solution. Server and client are running on the same Ras PI 2 and touch screen is able that would be perfected music player like a charm .

Thank you for your sharing
BK
benkit
 
Posts: 3
Joined: 29 Jun 2015, 11:57

Re: Client & Server on same machine

Postby JB314 » 09 Jul 2015, 11:12

Hi @holymoly,
I got the same issue when Redis service is not available (after a pacman -Syu for example :) )
You can try to manually start rune_SY_wrk or rune_PL_wrk script (under /var/www/command/), it should display some useful error.
If you have something like "Redis went away", that's mean the redis service is not correctly started.
So you can check the service file usr/lib/systemd/system/redis.service if it looks like this one : https://raw.githubusercontent.com/RuneA ... is.service
And you can also check if the user "redis" can write into folders /tmp and /run/redis/
After that you can restart the redis service, check if the file /tmp/redis.sock and /run/redis/redis.pid are present
Finally reboot the Rpi or restart the services php-fpm.service and rune_PL_wrk.service.
JB314
 
Posts: 8
Joined: 09 Feb 2015, 14:31

support RuneAudio Donate with PayPal

Next

Return to Raspberry Pi

Who is online

Users browsing this forum: No registered users and 7 guests