Skip to content

Building an ePi Controller and or CartController

Matthew Martin edited this page Sep 30, 2020 · 1 revision
  • Download and burn base Raspbian-Lite OS build
  • Change some default settings: sudo raspi-config
    • Change the user password
    • Change the Boot Options
      • Change desktop/Cli to Console Autologin
    • Change the Interfacing Options
      • Enable SSH
  • Customise the boot up screen
  • Open “/boot/cmdline.txt”. sudo nano /boot/cmdline.txt
    • Replace “console=tty1” with “console=tty3”
    • Add at the end of the line quiet logo.nologo vt.global_cursor_default=0
  • Clone and build the projects launcher and controller
  • Install xserver-utils and xinit
sudo apt install xinit x11-xserver-utils
  • Create an XOrg config file to stop screen blanking sudo nano /usr/share/X11/xorg.conf.d/10-monitor.conf. Enter the following lines
Section "Monitor"
Identifier "Monitor1"
   Option "DPMS" "false"
EndSection

Section "ServerFlags"
   Option "StandbyTime" "0"
   Option "SuspendTime" "0"
   Option "OffTime" "0"
   Option "BlankTime" "0"
EndSection
  • Create the mount directory for USB drives
sudo mkdir /mnt/share
sudo chown pi /mnt/share

For a controller

  • Create a config file for launcher to read nano launch.ini. This should have the following form:
[layout]
columns={number of controllers to show across the screen}
rows={number of controllers to show down the screen}

[{a controller name}]
position={position of controller in screen}
address={ip address of episerver to connect to}
port={port of episerver api}

[{another controller name}]...
  • Create a launch script nano start.sh with the following content
xinit {path_to_launcher}/launcher {path_to_config_file}/launch.ini 0

For a cartcontroller

  • Create a config file for launcher to read nano launch.ini. This should have the following form:
[cartcontroller]
address={ip address of episerver to connect to}
port={port of episerver api}
  • Create a launch script nano start.sh with the following content
xinit {path_to_launcher}/launcher {path_to_config_file}/launch.ini 1

For both

  • Make the launch script runnable chmod u+x start.sh
  • Edit .bashrc to launch start.sh on autologin nano .bashrc and add the following at the bottom
{path_to_start.sh}/start.sh
Clone this wiki locally