The modern society loves technological devices. Phones, desktops or servers. No matter what the device is, it requires to be plugged into a power source. Desktops and Laptops require external peripherals such as mice and keyboards to be used with any form of comfortably.
The wires will get cluttered very easily. Weather you have two or a thousand, they will always get tangled. No matter what you do, you will always be able to see them. Most people try to hide them, not trying at all to reduce the amount of wires they have. When you try to hide them, you will either be limited to certain positions for devices or you will drill holes into your futiture and try to create good looking facades.
I have set a new goal, to eradicate all use of wires in my room. I take my laptop to school every day so I want to easily remove my laptop from my main setup while still being a fully functioning setup when I do have my laptop plugged in. I have taken some small steps to achieve to goal.
The first thing is Bluetooth. Don’t use those Logitech mice and keyboards that require an external receiver to use properly. Most laptops nowadays have Bluetooth built in. You should take advantage of it. It’s one less USB cable you have to plugin.
Another cable might be your USB audio card or your 2.5mm audio cable. The raspberry pi will easily take care of this. Currently I have my laptop setup to stream all audio from my laptop to my raspberry pi. This allows me to use one audio system for all my devices. My phone, tablet and my laptop. Using the raspberry pi 3, you can use Bluetooth to connect your phones and tablets.
This can be setup by using an application called pulseaudio. Pulsaudio is an audio server which receives sound from applications and talks directly to the audio hardware. Unlike ALSA, another Linux based audio server, pulseaudio supports multiple audio streams.
To setup network audio streaming with pulse audio is extremely easy. First open /etc/pulse/default.pa with your favourite text editor, eg vim.
Then uncomment the following line on both the server and the client
This will make force audio load the tcp module on start. Pulseaudio uses something known as cookie authentication to authenticate a client. This is to prevent strangers to connect to your audio system. This means you will have to copy the file stored at ~/.config/pulse/cookie to your server at the same directory.
After you have enable the tcp module and copied over the cookie file, you need to restart pulseaudio on both devices with the following commands:
This will first kill pulseaudio then start it again as the current user. Now you audio stream is setup. To connect to the audio server, enter the following command in the client:
pax11publish -e -S hostnameOfServer
Congratulations, now you can stream audio from your computer to a networked audio server!