Barputer

From VoidWarranties - Hackerspace Antwerp, Belgium
(Difference between revisions)
Jump to: navigation, search
(What we have available)
(Complete overhaul)
Line 7: Line 7:
 
|Short description=In a hackerspace a computer is needed everywhere, included behind the bar. So this project was born.
 
|Short description=In a hackerspace a computer is needed everywhere, included behind the bar. So this project was born.
 
}}
 
}}
== Ideas ==
+
== Function ==
* In a bar we need music. So we'll set up an MPD server connected to an amplifier to allow everyone to play their favorite music.
+
*It allows everyone to play their favorite music.
* Where we sell beer and Mate Point of sales and Stock management software seems obvious.
+
*Stock management for the bar
* The person running the bar might also want to follow talks going on in the other room. So the system should be able to display webcasts.
+
*General purpose computing
  
 
== Hardware ==
 
== Hardware ==
===What we have available===
+
===Internal===
* Speakers
+
The computer is situated in the corner at the end of the bar. Its audio jack is connected to the amplifier next to it to play music.
* Speaker cable
+
*HP case
* Amplifier
+
*Intel 82865G Motherboard with internal audio controler and an unused graphics chip
* CD-player (optional)
+
*Intel Pentium 4 CPU 2.60GHz
* Serial barcode scanner
+
*AMD ATI Rage 128 Pro Ultra TF Video card
* a Elo-touchscreen, serial port , 17"
+
*Broadcom Gigabit Ethernet
 
+
*80GiB harddrive (root filesystem)
'''Thanks to all who have contributed hardware!'''
+
*20GiB harddrive (backup)
  
 
=== Touchscreen ===
 
=== Touchscreen ===
It might be convenient to use a touch screen at this location. [[Rob]] has provided an old LCD touchscreen we might use. To get it running on ubuntu (tested on 10.10) you need the following driver to be installed:
+
The touchscreen is located at the other end of the bar and is connected to the case through a USB cable for the input devices and a VGA cable for the output (screen).
 
+
*Touchscreen
<pre>sudo apt-get install xserver-xorg-input-elographics</pre>
+
**17" LCD (VGA)
 
+
**the touchscreen has a serial port, which is connected to a serial-to-usb adapter plugged in a usb hub
After installing the drivers, a calibration of the elo touchscreen is required. This can be done in 2 ways.
+
*Mouse and keyboard
*By trial and error editing  /etc/X11/xorg.conf  and restarting X-server. A sample config file can be found here: http://0x20.be/Table_Computer .
+
**Since we have a USB hub we connected extra USB input device so we can use the computer as an all-purpose device
*[[Koert]] suggested ''touchcal'' which should automate the arduous task of calibrating an elo touchscreen. (not tested yet)
+
**We might drop these extra input devices if we find a decent on screen keyboard
*The screencontrols are located at the back. The button to power on/off the screen is in the left gap, above the led. The onscreen menu can be controlled with the four buttons (right gap, next to the sticker)
+
*The touchscreen is powered by a PSU, a button on the back of the screen's case switches this PSU on
 
+
[[File:BarputerSchermControlButtons.jpg]]
+
 
+
===Calibration procedure===
+
* Set the monitor resolution and frequency at the maximum values, for this screen it is '''800x600 pix and 60Hz'''.
+
* Use the screen controls (see picture) to adjust the monitor output position. (because changing frequncy shifts the monitor ouput to the left or right)
+
* Google a suitable "grid" picture to use as a desktop background. The grid can help to understand the weird touch-resolution, which is inverted for this setup.
+
* Edit the file '''xorg.conf''' with your favorite text editor. (good starting values located below)
+
* The easiest way to calibrate the touchscreen is 1 axis at a time. Pick the axis that is mostly right, and start the game of (inverted) high-low. If you can't reach the edges of the screen with the mouse-pointer, you need to decrease the Min value. If the mouse pointer ''moves too fast'' increase the Min value of the.
+
  
<Pre>
+
===Misc===
Section "InputDevice"
+
* We have a serial barcode scanner, but we don't use it at the moment
        Identifier "ELO Touchscreen"
+
** Is this still available?
        Driver  "elographics"
+
        Option  "Device"                "/dev/ttyS0"
+
        Option "MinX" "4000"
+
        Option "MinY" "4000"
+
        Option "MaxX" "0"
+
        Option "MaxY" "0"
+
    Option  "UntouchDelay"  "10"
+
        Option  "ReportDelay"  "10"
+
        Option  "SendCoreEvents"        "yes"
+
EndSection
+
</Pre>
+
  
===Todo===
+
==Software==
* Hang the speakers '''(done)'''
+
*Berz tried using debian (concerned with the system's reliability) but couldn't get the touchscreen (which isn't supported by the kernel) configured
* Find a permanent location for the Amplifier & CD player behind the bar '''(done)'''
+
*The server runs Ubuntu 10.10, which comes with Utouch, under which Ward got the touchscreen working quickly
  
 +
===Touch===
 +
Install the needed packages:
 +
sudo apt-get install xserver-xorg-input-elographics xserver-xorg-input-evdev-dev utouch sudo apt-get install xinput-calibrator
 +
Recognize the device at boot
 +
echo 'inputattach -elo /dev/ttyS2' >> /etc/rc.local
 +
Calibrate the touchscreen:
 +
xinput_calibrator > /usr/share/X11/xorg.conf.d/99-calibration.conf
 +
Add the device to /etc/xorg.conf
 +
Section "InputClass"
 +
Identifier "calibration" MatchProduct "Elo Serial TouchScreen" Option "Calibration" "4015 -4 6 4026"
 +
EndSection
  
== Software ==
+
=== Music ===
=== MPD ===
+
We use MPD (Music Player Daemon) as a server. This allows us to use various clients at the same time, including over the network and on portable devices. For information on playing music, see [[How to play music]].
  
The MPD / djmount / MPDplayer software have been set up in the same way as the setup in [http://0x20.be Whitespace]. This setup is documented [http://0x20.be/Audio_System here].
+
To add music to the MPD library we originally used djmount, a program which automatically mounts UPNP shares. This setup was copied from [http://0x20.be Whitespace] and is documented [http://0x20.be/Audio_System here].
 +
Although this setup kind of worked, it didn't for some people. One of these people was berz_, who wrote a script which automounts sambashares which we currently use. We might complement this with djmount, allowing everyone to pick the one they prefer. This isn't implemented at the moment because no one bothered to use UPNP yet. 
 +
For information on adding your own music to the database, please see [[How to play music]].
  
 
=== Point of sales & Stock management ===
 
=== Point of sales & Stock management ===
 
Using the vwcr application made by [[Koert]].  It's not completely finished yet, but it can be used (and is being used).
 
Using the vwcr application made by [[Koert]].  It's not completely finished yet, but it can be used (and is being used).
  
== Current Status ==
+
==TODO==
* A computer has been fixed to the ceiling above the bar
+
*MOAR DOCUMENTING (on this page and [[How to play music]])
* The touchscreen is operational and calibrated to a usable degree.  It seems to be ok, only around the edges it's difficult/impossible to reach some places.
+
*clean up the server for clarity and minimizing diskspace
*Still to do: mounting of the touchscreen on a somewhat, "ergonomical" height. I plan to do this next wednesday. I'll be looking for materials this week(end). Some plywood and iron stuff will do the trick. (Tom).
+
**Uninstall unneeded packages (Ubuntu comes with many packages preinstalled we don't need)
 +
**Organize our directories and files
 +
*make a backup image we can roll back to in case of emergency
 +
*set up a cron job to backup important dirs at fixed intervals so we have incremental backups and can roll back a part of the system if we need to
 +
*have barputer power itself on and off automatically when the space opens / closes
 +
*barputer hangs sometimes when booting, we don't know why
 +
*we could use a relay so we don't have to turn the touchscreen's PSU on by hand when booting barputer

Revision as of 21:24, 12 May 2012


Barputer
What:
In a hackerspace a computer is needed everywhere, included behind the bar. So this project was born.
Beer computer-300x290.jpg
Participants:
Koen, Koert
Category:
Electronics
Locations:
Den Bunker

Contents

Function

Hardware

Internal

The computer is situated in the corner at the end of the bar. Its audio jack is connected to the amplifier next to it to play music.

Touchscreen

The touchscreen is located at the other end of the bar and is connected to the case through a USB cable for the input devices and a VGA cable for the output (screen).

Misc

Software

Touch

Install the needed packages:

sudo apt-get install xserver-xorg-input-elographics xserver-xorg-input-evdev-dev utouch sudo apt-get install xinput-calibrator

Recognize the device at boot

echo 'inputattach -elo /dev/ttyS2' >> /etc/rc.local

Calibrate the touchscreen:

xinput_calibrator > /usr/share/X11/xorg.conf.d/99-calibration.conf

Add the device to /etc/xorg.conf

Section "InputClass"
Identifier	"calibration" MatchProduct	"Elo Serial TouchScreen" Option	"Calibration"	"4015 -4 6 4026"
EndSection

Music

We use MPD (Music Player Daemon) as a server. This allows us to use various clients at the same time, including over the network and on portable devices. For information on playing music, see How to play music.

To add music to the MPD library we originally used djmount, a program which automatically mounts UPNP shares. This setup was copied from Whitespace and is documented here. Although this setup kind of worked, it didn't for some people. One of these people was berz_, who wrote a script which automounts sambashares which we currently use. We might complement this with djmount, allowing everyone to pick the one they prefer. This isn't implemented at the moment because no one bothered to use UPNP yet. For information on adding your own music to the database, please see How to play music.

Point of sales & Stock management

Using the vwcr application made by Koert. It's not completely finished yet, but it can be used (and is being used).

TODO

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox
Content Creation
Belgian Spaces