|In a hackerspace a computer is needed everywhere, included behind the bar. So this project was born.|
- It allows everyone to play their favorite music.
- Stock management for the bar
- General purpose computing
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.
- HP case
- Intel 82865G Motherboard with internal audio controler and an unused graphics chip
- Intel Pentium 4 CPU 2.60GHz
- AMD ATI Rage 128 Pro Ultra TF Video card
- Broadcom Gigabit Ethernet
- 80GiB harddrive (root filesystem)
- 20GiB harddrive (backup)
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).
- 17" LCD (VGA)
- the touchscreen has a serial port, which is connected to a serial-to-usb adapter plugged in a usb hub
- Mouse and keyboard
- Since we have a USB hub we connected extra USB input device so we can use the computer as an all-purpose device
- We might drop these extra input devices if we find a decent on screen keyboard
- The touchscreen is powered by a PSU, a button on the back of the screen's case switches this PSU on
- We have a serial barcode scanner, but we don't use it at the moment
- Is this still available?
- Berz tried using debian (concerned with the system's reliability) but couldn't get the touchscreen (which isn't supported by the kernel) configured
- The server runs Ubuntu 10.10, which comes with Utouch, under which Ward got the touchscreen working quickly
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, and put the output here: /usr/share/X11/xorg.conf.d/99-calibration.conf
This is the config I last used, but if you've got smaller finger feel free to optimize it:
Section "InputClass" Identifier "calibration" MatchProduct "Elo Serial TouchScreen" Option "Calibration" "4015 -4 6 4026" EndSection
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).
Every once in a while we make a full snapshot. These are full images that can be restored to the drive. The last image was made on 17/05/'12. The images are made using FSarchiver. We can't use Norton Ghost or Clonezilla since they don't have support for EXT4, which we use for barputer's root filesystem. Backup procedure:
- Boot a live cd which has FSarchver (you can use System Resque CD).
- Check the partition's name
- Mount the backup partition on /mnt: mount /dev/sda1 /mnt
- make an archive: fsarchiver savefs --compress=4 /mnt/images$(date +%F) /dev/sdb1
- The first time we used --compress=5, which took a long time. So we should probably use level 4 or even 3.
A backup of all the files on the root drive is taken every hour. These backups are rotated. Every fifth hourly backup is kept for 25 hours and is called a 'recent' backup. Every fifth recent backup is kept for 125 hours and called a 'medium' backup. Every fifth medium backup is called an 'old' backup and is kept indefinably. One hour in this context refers to an hour the computer is turned on. The snapshots are made and rotated automatically.
This scheme uses rsync for snapshotting, rsnapshot for rotating, and space usage is kept down using hardlinks (every version of a file is only saved once).
$ sudo du -hs /media/backup/incremental/* 4.0K /media/backup/incremental/counter 3.8G /media/backup/incremental/hourly.0 138M /media/backup/incremental/hourly.1 71M /media/backup/incremental/hourly.2 123M /media/backup/incremental/hourly.3 72M /media/backup/incremental/hourly.4 82M /media/backup/incremental/young.0
- MOAR DOCUMENTING (on this page and How to play music)
- clean up the server for clarity and minimizing diskspace
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 incremental backups so we can roll back a part of the system if we need to
- have barputer power itself on automatically when the space opens
- have barputer power itself off automatically when the space 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 creating icon for barputer