Skip to content

Commit

Permalink
Add install and setup instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
LightJockey committed Jan 22, 2024
1 parent 86c2c4f commit 3f7b92d
Showing 1 changed file with 27 additions and 7 deletions.
34 changes: 27 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
An Arduino sketch that turns a NodeMCU board into an Art-Net node.
Specifically built with home automation in mind, exposes MQTT hooks for when DMX alone just ain't enough!

## Compatibility:
## Compatibility
**Only ESP8266 is supported** (tested on NodeMCU).
Other ESP8266 boards might work as long as they have the required pins and at least 1MB of flash.

## Support:
## Support
#### Inputs:
* Art-Net
* E1.31 (sACN)
Expand All @@ -21,14 +21,14 @@ Other ESP8266 boards might work as long as they have the required pins and at le

E.g., you can have 2x DMX, 2x NeoPixel lines, or 1x DMX + 1x NeoPixel

## Other Features:
## Other Features
* A frontend web app built in Vue for diagnostics & configuration of the node itself
* An access point at first boot used for setting up the node
* Configurable fade times for MQTT input actions
* Configurable frame interpolation to make those pixel lines look buttery smooth even with sub 60Hz input. A snap threshold can be set as well
* 4x standalone scenes that can be recalled via MQTT (values are set on the web frontend. Current implementation is very rough!)

## Wirings:
## Wiring
### DMX:
![](images/pinout-dmx.png)
### Pixels:
Expand All @@ -38,19 +38,39 @@ Note that you can't power pixels directly from the board.

**Remember to change the port type accordingly in the node's config!**

## Screenshots:
## Screenshots
[<img src="images/screenshot-config.png" width=25%>](images/screenshot-config.png)
[<img src="images/screenshot-status.png" width=25%>](images/screenshot-status.png)
[<img src="images/screenshot-output.png" width=25%>](images/screenshot-output.png)

## TODO:
## Install
#### NodeMCU:
- Grab the precompiled sketch from the [releases](/releases/latest) page
- Flash it with your preferred tool
#### Other ESP8266 boards or compile from source:
- Download VSCode
- Add the PlatformIO extension
- Clone this repo
- Open the folder within VSCode and PlatformIO should set the environment up
- Adjust `platformio.ini` with your board's configuration
- Build and upload

## Setup
If the firmware was flashed successfully then the NodeMCU LED should blink every second to indicate a first time setup is needed.
- Grab your phone and connect to the `EspDmxNode-XXXX` wifi access point the node has created
- You should be redirected automatically to the node's configuration page. If not, open your browser and navigate to http://192.168.1.1
- Fill in the wifi settings required to connect to your desired AP. Disable DHCP if you wish it to have a static IP within your network
- Save, the node will restart and attempt to connect with the settings provided
- If everything went smoothly, the NodeMCU LED should blink fast to indicate the node is operational and the `EspDmxNode-XXXX` AP should disappear

## TODO
* Support different color layouts and more chips
* Add support for pixel lines spanning multiple universes
* Test longer pixel lines (tested with 50 pixels, but I'm confident a full uni of 170 should be no sweat)
* Iterate over the standalone scenes feature
* Refactor config serialization

## Libraries:
## Libraries
[AsyncMqttClient](https://github.com/marvinroger/async-mqtt-client) by marvinroger
[Art-Net and DMX libraries](https://github.com/mtongnz/ESP8266_ArtNetNode_v2/tree/master/libs) by mtongnz
[NeoPixelBus](https://github.com/Makuna/NeoPixelBus) by Makuna

0 comments on commit 3f7b92d

Please sign in to comment.