Skip to content
This repository has been archived by the owner on Aug 13, 2019. It is now read-only.

baaahs/light-server-infrastructure

Repository files navigation

light-server-infrastructure

Stories in Ready

This project contains the necessary roles to take commodity off-the-shelf hardware, listed below, and create a working BAAAHS light control server. The light control server uses its internal wifi adapter to connect to pre-determined networks, creates a baaahs network for offline administration/OSC functionality/etc, runs olad, the BAAAHS python show server, and sound feed back software. The server is principally responsible for controlling the ~150 panels that makeup the deployed sheep.

For a full overview of the BAAAHS lights infrastructure and where the server piece fits in, run through this deck.

PARTS LIST

Unit without top case

The parts required to build a server include:

SERVER BUILD

To build a server do the following:

  • Prepare your SD Card...

    • Insert the SanDisk SD card in your machine and ensure it's formatted FAT32 and blank.
    • Download the latest NOOBS Lite image.
    • Unzip the contents of download onto the newly formatted SanDisk SD Card.
    • Eject the card and set it aside.
  • Assemble your equipment...

    • Affix the heat sinks -- the flat heat sink is applied to the underside chip, the larger two heat sinks are applied to the chips on the topside of the PI.
    • The UPS PIco HAT sits on top of the RPI GPIO header PINS.
    • Insert the SD card into the PI. (Note: The PI 3 has a push->pull, not push-push SD card slot)
    • Insert the RPI into the case and close the case.
    • Connect the DMXking ultraDMX adapter into a free USB port
    • Connect the Panda Wireless PAU06 into a free USB port
    • Connect Keyboard/Mouse, Ethernet and Power
  • Install Raspbian...

    • Boot up your PI w/ a USB keyboard and mouse, select installation of Raspbian Lite and select the keyboard layout of US.
    • Restart your PI once the installation of Raspbian has finished.
    • Login to your PI using the credentials (user: pi, password: raspberry)
    • Run sudo raspi-config, select Interfacing Options and enable SSH, select the option to change the server name. Set the name to baaahslights
    • Reboot

You should now be able to SSH into the PI: ssh pi@baaahslights.local. While you can SSH to the PI via password authentication, Ansible prefers not to and will complain if you try to. To avoid this, copy your public key to the PI to complete setup either manually or using ssh-copy-id pi@baaahslights.local (defaults to default public key).

EXECUTE PLAYBOOK

First, install ansible via brew; brew install ansible or via a binary/installer of your choice.

Next, execute this playbook against the baaahslights.local server, using a vault password obtained by contacting Josh Durbin.

Ex: ./build_baaahs_lights_server.sh

ADMINISTRATION OF THE SERVER

There are three pathways onto the Raspberry PI lights server...

  1. via the RJ45 ethernet device on a pre-existing network (accessible via DHCP assigned address OR via manual assignment on the work 172.16.1.0/24 - RPI3 is at 172.16.1.1)
  2. via the internal wifi adapter on a pre-configured network (accessible via DHCP assigned address)
  3. via the wireless network the server creates, baaahs, with the WPA2 key gaysheep (RPI3 is at 172.16.2.1)

There are two web-based interfaces available: