Was früher in Spielhallen zuhauf stand und unser Geld verschlang, ist heute im heimischen Wohnzimmer neu eingezogen. Die Idee ist nicht neu und hat schon viele Leute zum Basteln bewegt. Dennoch wollt ich das Feeling selbst erleben einem „alten“ Arcade Automaten neues Leben einzuhauchen. Im Grunde genommen wurde er komplett neu gebaut. Mit den heutigen Möglichkeiten ist es schon einfacher als wie vor 15 Jahren das Ganze zu realisieren.

Der Automatenkörper ist nach dem Vorbild eines Starcade Bartop von Galactic, mit kleinen Veränderungen an der Steuerungspanel und Steuerungspanelfront gefertigt worden. An der Frontseite verzichtete ich auf einige Taster und setzte stattdessen ein 16×2 LCD Display zur Temperaturüberwachung, plus einen Ein und Ausschalter für das System ein.

Das Herzstück und ausführende Organ des Bartop Automaten ist ein Raspberry Pi 3 Model B mit einem Controlblock Zusatzmodul für die Arcade-Taster und Joysticks, welches den Genuss der klassischen Spiele zum Leben erweckt. Ein Miniverstärker, der direkt an dem HDMI-Ausgang des Raspberry Pi hängt, sorgt für einen klaren Sound. Coolness bewahren im inneren des Automatenkörpers 2 80x80mm große Lüfter auf der Rückseite, neben dem Hauptschalter. Für eventuelle Wartungsarbeiten am System selbst ist zusätzlich eine USB-Buchse montiert worden.

Materialliste

Zum Projektaufbau gibt es noch eine Galerie, diese könnt ihr hierüber erreichen.

Ich bin stolz auf die Erfahrungen, die ich beim Bau gesammelt habe. Sie waren sehr lehrreich und es haben sich viele neue Erkenntnisse aufgetan. Und dennoch wird es eine explizite Bauanleitung von meiner Seite aus nicht geben! Dies hat folgende Gründe: Ich will niemandem den Spaß und die Freude, es mit eigenen Ideen zu verwirklichen, nehmen. Das Nachbauen nach Anleitung verdirbt einem nur die Lust am ganzen Projekt. Lediglich Tipps und Anregungen sind mit diesem Beitrag, hoffentlich ausreichend, geliefert.

Teilen:


Viele nutzen ein Netzteil mit einen Kippschalter dran, diese sind sehr unpraktisch zum richtigen Runterfahren des Systems. Sie trennen die Stromzufuhr und nach bedarf kann man damit wieder einschalten. Das ist das selbe wie jedes mal den Stecker zu ziehen und wieder einzustecken, sprich Sinnentfremdet wie ich finde. Dabei bietet das Raspberry Pi viele Möglichkeiten, Bastlerische Freiheit. Über die GPIO-Pins kann man viele Dinge steuern, so auch einen Powerswitch zum Ein -und Ausschalten. Dieser setzt sich auch zwei Kabeln und einen Taster (Druckschalter – momentan, Kippschalter oder Permanentschalter – rastend) zusammen. Man kann dazu noch eine LED hinzufügen damit man sieht das dieses Gerät auch Tatsächlich läuft. Wir benötigen also zwei Kabel, rot für die GPIO Verbindung und schwarz die Masse (GND) und einen einfachen Drucktaster. Angeschlossen wird das rote Kabel an den PIN 5 (GPIO 03) und schwarz an PIN 9 (GND).

Konfiguaration

Console/Terminal

sudo apt-get update; sudo apt-get dist-upgrade
sudo apt-get install python-dev python3-dev gcc python-pip

wget https://pypi.python.org/packages/e2/58/6e1b775606da6439fa3fd1550e7f714ac62aa75e162eed29dbec684ecb3e/RPi.GPIO-0.6.3.tar.gz

sudo tar -zxvf RPi.GPIO-0.6.3.tar.gz
cd RPi.GPIO-0.6.3
sudo python setup.py install
sudo python3 setup.py install

im Homeverzeichnis die Datei powerswitch.py mit folgenden Inhalt erstellen

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import subprocess

GPIO.setmode(GPIO.BOARD)  
GPIO.setup(5, GPIO.IN, pull_up_down = GPIO.PUD_UP)  

oldButtonState1 = True

while True:
    buttonState1 = GPIO.input(5)

    if buttonState1 != oldButtonState1 and buttonState1 == False:
      subprocess.call("shutdown -h now", shell=True, 
        stdout=subprocess.PIPE, stderr=subprocess.PIPE)
      oldButtonState1 = buttonState1

    time.sleep(.1)

dann die Datei ausführbar machen

chmod +x powerswitch.py

nun soll dieser Pythonscript auch beim starten geladen werden

sudo nano /etc/rc.local

...
python /home/pi/powerswitch.py &
exit 0

Ganz wichtig ist das der python Befehl vor dem “exit 0 kommt”.

Nun muss noch in der config.txt und den Eintrag dtparam=i2c_arm=off suchen und abändern in

dtparam=i2c_arm=on

dann ein reboot und der Powerswitch sollte funktionieren.

Die LED ist etwas einfacher, die kommt nur an den PIN 8 (GPIO 14) und PIN 39 (GND).

Das wars.

Teilen:


Wer die alten MSDOS Spiele geliebt hat und diese ohne Tastatur und Maus, direkt mit den Gamepad spielen will, muss zwangsweise den Controller mappen. Ich für meinen Teil möchte in meinem RetroBartop Automaten sehr gerne MSDOS Spiele mit bei haben. Zunächst dachte ich das man bei DOSBOX nur mit Tastatur und Maus arbeiten kann, doch nach dem recherchieren bin ich auf den DOSBOX Startparameter -startmapper gestoßen. Da ich RetroPie verwende nehme ich das gleich als Basis für diese Anleitung. Die DOSBOX kann über das RetroPie-Setup, unter “P Manage packages” -> “opt Manage optional packages” -> “112 dosbox” installiert werden. Oder manuell direkt aus der Console mit “sudo apt install dosbox”.

Um das Mapping auszulösen muss dosbox manuell mit der Option -startmapper gestartet werden.

pi@retropie:~ $ cd /opt/retropie/emulators/dosbox/bin/
pi@retropie:/opt/retropie/emulators/dosbox/bin $ ./dosbox -startmapper

1. Taste auf der vituellen Tastatur auswählen.
2. “Add” klicken um eine neue Tastenbelegung hinzuzufügen.
3. Am Gamepad/Controller die Taste drücken die damit belegt werden soll.
4. Auf “Save” klicken für Speicherung.
5. Wiederhole das bis Belegung komplett ist.
6. Klicke “Exit” zum Beenden.

Ich verwende einen SNES Controller und habe mir das folgendermaßen gemappt.

Wenn das Mapping nicht auf dem Endgerät statt gefunden hat so muss die mapper-SVN.map noch auf das Zielgerät kopiert werden. Sollte die .map Datei auch nicht mapper-SVN.map heißen so sollte man diese erst einmal umbenennen.

Verzeichnis-Struktur:

Win7/8 : {system drive}:\Users\{username}\AppData\Local\DOSBox\
Linux: ~/.dosbox
Mac: ~/Library/Preferences/DOSBox 0.73 Preferences

Teilen:

Da es im Bus nach Hamburg und Rostock meistens etwas langweilig zu geht, dacht ich mir eine RetroPie zu machen die mir die Langweile vertreibt. Im Prinzip ist es ganz einfach, man findet im Netz ja sehr viele Anleitungen dazu, ich möchte euch dennoch meine Variante zeigen.

Benötigt werden:

– 1x Raspberry Pi 3 Model B
– 1x 5V, 3A Netzteil Adapter
– 1x Powerbank 10000 mAh
– 1x USB-A-Stecker auf Micro-USB-B-Stecker mit Schalter
– 1x 7″ Zoll Touch Display
– 1x Rahmen von Eleduino
– 1x 32GB microSD Karte
– 2x USB SNES Controller
– 1x RetroPie Image

microSD und RPI hab ich schonmal mit dem Rahmen zusammen gebaut, das sollte kein Thema darstellen. Das System für dir microSD habe ich hier geladen und mit dd auf die Karte gebracht.

Die Spiele dazu werden in das Verzeichnis “/home/pi/RetroPie/roms/” rein gepackt und sind bereits vorgegeben. Diese können entweder mit im Dateimanager oder mit scp auf der PI direkt gebracht werden.

pi@retropie:~ $ cd RetroPie/roms/
pi@retropie:~/RetroPie/roms $ ls
amstradcpc  atarilynx  gb       mame-libretro  msx     nes   pcengine  scummvm  snes
arcade      fba        gba      mame-mame4all  n64     ngp   ports     sega32x  vectrex
atari2600   fds        gbc      mastersystem   nds     ngpc  psp       segacd   zxspectrum
atari7800   gamegear   genesis  megadrive      neogeo  pc    psx       sg-1000
pi@retropie:~/RetroPie/roms $ 

Ich habe mir zusätzlich noch einen Script geschrieben, mit dem ich die Updates ganz einfach von der GUI durchführen kann. Das geht zwar auch über das RetroPie-Setup aber für den einen oder anderen umständlich, zumal es in der Vergangeheit zu Problemen und Fehlern dabei gekommen ist.

Das Akkupack / die Powerbank hält bis zu vier Stunden am Stück locker durch und reicht somit bis Rostock und Hamburg. In die andere Richtung bin ich damit noch nicht gefahren aber das sollte ähnlich sein und zur Not empfiehlt sich ein zweites Akkupack / Powerbank.

Teilen:

Und noch ein weiteres Toool für Überwachung des Raspberry PIs. RPI-Monitor, von Xavier Berger, zeigt CPU-Belastung, RAM, Speicher, Temperatur und Netzwerk an.
Zur installation fügt man einfach nur die Repositories ein und holt sich den GPG-Schlüssel.

sudo apt-get install apt-transport-https ca-certificates
sudo wget http://goo.gl/vewCLL -O /etc/apt/sources.list.d/rpimonitor.list
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 2C0D3C0F
sudo apt-get update
sudo apt-get install rpimonitor
sudo /etc/init.d/rpimonitor update

Browseraufruf: localhost:8888 oder IP:8888

rpi_monitor

Teilen:

Archlinux für Einplatinen PCs wie Raspberry Pi und Banana Pi. Hier eine Anleitung wie dies in kurzen Schritten geht.

Archlinux SD-Vorbereitung Banana Pi

MicroSD Karte sollte in Fat32 formatiert sein
Download Image Link
Image entpacken und im Terminal
sudo dd bs=4M if=/path/zum/image of=/dev/sdx
anschliessend
sync
um das ganze zu beenden

SHDC Karte in den Banana Pi stecken und starten
Login für “root” ist root:root und Standard User alarm:alarm

[collapse]
Archlinux SD-Vorbereitung Raspberry Pi

als root anmelden (ohne sudo arbeiten)

2 Partitionen werden gebaucht (fdisk oder cfdisk)

1. Partition boot 100MB
2. Partition root rest

erstellen des FAT Systems

# cd /mnt
# mkfs.vfat /dev/sdX1
# mkdir boot
# mount /dev/sdX1

erstellen des EXT4 Systems

# mkfs.ext4 /dev/sdX2
# mkdir root
# mount /dev/sdX2 root

Downloaden des root Systems
(Das Image für Raspberry Pi 2 und 3 ist gleich, sprich das selbe)
# wget http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
# bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
# sync

boot Dateien auf erste Partition bewegen

# mv root/boot/* boot

Beide Partitionen unmounten

# unmount boot root

SHDC Karte in den Raspberry Pi stecken und starten,
Login für “root” ist root:root und Standard User alarm:alarm

[collapse]
Einrichten des Systems

Als erstes PW ändern
passwd

#Tastaturlayout
echo LANG=de_DE.UTF-8 > /etc/locale.conf
echo LC_COLLATE=C >> /etc/locale.conf
echo KEYMAP=de-latin1 > /etc/vconsole.conf

nano /etc/locale.gen
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15

#Alle drei entkommentieren, abspeichern beenden.

locale-gen

#Zeitzone
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

#Systemquellen aktualisieren
pacman -Sy

#keyring initiatisieren
pacman-key --init

#keyring schlüsselbund
pacman -S archlinuxarm-keyring
pacman-key --populate archlinuxarm

#Tastaturlayout für GUI
nano /etc/X11/xorg.conf.d/10-keyboard.conf

Section “InputClass”
Identifier “Keyboard Defaults”
MatchIsKeyboard “yes”
Option “XkbLayout” “de”
Option “XkbVariant” “nodeadkeys”
EndSection

Desktop
=======
Zu wählen gibt es LXDE, XFCE4, GNOME und KDE

Hier im Test XFCE4…!

Installation
grafiktreiber: $ pacman -S mesa xf86-video-fbdev #(Optional: xf86-video-vesa)
touchtreiber: $ pacman -S xf86-input-evdev
xserver: $ pacman -S xorg-xinit xorg-xinit xorg-server xorg-server-utils #(Optional: xterm)
DE: $ pacman -S xfce4 #(Optional: xfce4-goodies)
gibs auch hals script
curl https://raw.github.com/adimania/arch-desktop-environments/master/XFCE-Arch-RPi.sh | bash
DM: $ pacman -S slim
$ systemctl enable slim.service
$ systemctl enable graphical.target

Starten
$ xinit /usr/bin/lxsession

Autostart (nach Eingabe in DM)

~/.xinitrc

#!/bin/sh
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x “$f” ] && . “$f”
done
unset f
fi
exec startxfce4

Autostart (ohne DM/Displaymanager/loginmanager)

~/.bash_profile

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx

[collapse]
Neuen Benutzer einrichten

# useradd -m -g users -G wheel,audio,video,optical,games,storage,power,lp -s /bin/bash NEWUSER

ANMERKUNG: die Option -m erzeugt ein home-Verzeichnis für den angelegten
USER, das ist bei einer externen home-Festplatte nicht von Nöten und kann
weggelassen werden.

passwd NEWUSER
pacman -S sudo
nano /etc/sudoers

suche Zeile : root ALL=(ALL) ALL
darunter: NEWUSER ALL=(ALL) ALL

speichern (strg+x j ENTER-Taste)

Standardnutzer löschen
killall -u alarm
userdel alarm
rm -R /home/alarm

[collapse]

Teilen: