Skip to content

nullpainter/inferno

Repository files navigation

Inferno

Inferno is a Slackbot-enabled LED flame, running on ESP8266 hardware. It's designed for use in a modded 100% Soft's Dumpster Fire - This is Fine vinyl figure and for integration with Slack-based alerting. In addition to Slack integration, Inferno also provides a web server to control and display status.

The flame effect is achieved by using an eight RGB LED disc with WS2812B LEDs. Random LEDs are periodically assigned a random flame intensity and faded out. A piece of baking paper is used to diffuse the LEDs.

This is fine.


W00t

Glamour shots

Front

Back

Usage

When first turned on, Inferno creates a WiFi AP called Inferno. Connect to this in order to select an internet-enabled WiFi network for Inferno to join. If a saved WiFi network is not available on startup, this AP will be created.

Slack

Assuming a Slack bot has been created with the name @Inferno, the following commands are honoured:

  • @Inferno on turn on flame
  • @Inferno off turn off flame, enable monitoring mode
  • @Inferno party turn on rainbow colour cycling
  • @Inferno reset reset to flame effect

Additionally, if the text [Alerting] or Triggered: appears in any Slack channel that the Slack bot is a member of, Inferno turns on for a predefined period of time.

Web server

Inferno creates a web server on port 80. Issuing a GET will list the available commands:

    ,.   (   .      )        .      "
   ("     )  )'     ,'        )  . (`     '`
 .; )  ' (( (" )    ;(,     ((  (  ;)  "  )"
 _"., ,._'_.,)_(..,( . )_  _' )_') (. _..( '..
 
GET  /status        get LED status
POST /off           turn LEDs off
POST /on            turn LEDS on
POST /monitor       enable monitoring

Building

Inferno depends on Arduino libraries to run. It is recommended to set the ESP8266's clock to 160 Mhz due to the use of SSL.

Flash

The contents of the data folder should be uploaded to flash. In addition, Inferno expects the following files to be present in flash:

  • data/secrets/slackBotId.txt
  • data/secrets/slackToken.txt

These files should contain a single line containg the Slack bot id and OAuth tokens, respectively.

LED pins

LED pin assignment is defined in Inferno.h. Pin to GPIO mappings can be found here. Inferno relies on PWM for the flame effect, so the LEDs need to be connected to GPIO pins which can provide PWM.

Libraries

The following Arduino libraries are required:

Caveats

I am not a professional C/C++ developer. Apologies for any shameful practices.

About

ESP8266 Slack-controlled LED flame

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages