Lambent Aether 4
towards a more lambent aether
Gabe // June 23, 2021
What happened to the other three?
  • LA1 was a daemon that used a teensy to drive an LED pin based off the old Hyperion protocol and ran hardcoded programs from a command line daemon [Expensive, N (Pi1 + Teensy + PSU + LEDs)]
  • LA2 was an updated version of this daemon that had a simple webui to select the current running program [Still Expensive, N (Pi1 + Teensy + PSU + LEDs)]
  • LA3 was a rewrite of this daemon leveraging the Twisted framework that allowed multiple instances of the daemon to each talk to a single strips over UDP [Cheaper, 1 PC + N (8266 + PSU + LEds)]
Four?

This version leverages the crossbar.io application framework to allow multiple components to produce patterns (Machines), locate UDP Lights (Devices), and dynamically route patterns to UDP devices (Links). This paradigm allowed for an even more efficient system, where a single instance of the daemon can talk to multiple strips.

This is the first time where color space expansion was implemented in the application as part of a selectable RGB vs GRB configuration process; as well as a device flasher feature, to locate physical devices. The machine service can be scaled horizontally in order to better use available resources.

Companion Interfaces

Web

A Vue+WAMP UI implements dynamic control for linking the previously described components together

QT

A QT + Twisted interface was added for desktop control that implemented all the same features as the existing Web Interface, leveraging the same RPCs implemented by the web UI.

Android

A small Kotlin + Autobahn application was also written to take existing pubsub streams and display them as part of another control interface