├── _config.yml
├── images
├── Config.png
├── Relay.jpg
├── Status.png
├── Test.png
├── Wemos.jpg
└── GPIORelay-Wiring.jpg
├── ESP-131GPIO
├── data
│ ├── favicon.png
│ └── index.html
└── ESP-131GPIO.ino
├── .gitignore
├── .vscode
└── extensions.json
├── platformio.ini
└── README.md
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
--------------------------------------------------------------------------------
/images/Config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garymueller/ESP-131GPIO/HEAD/images/Config.png
--------------------------------------------------------------------------------
/images/Relay.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garymueller/ESP-131GPIO/HEAD/images/Relay.jpg
--------------------------------------------------------------------------------
/images/Status.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garymueller/ESP-131GPIO/HEAD/images/Status.png
--------------------------------------------------------------------------------
/images/Test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garymueller/ESP-131GPIO/HEAD/images/Test.png
--------------------------------------------------------------------------------
/images/Wemos.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garymueller/ESP-131GPIO/HEAD/images/Wemos.jpg
--------------------------------------------------------------------------------
/images/GPIORelay-Wiring.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garymueller/ESP-131GPIO/HEAD/images/GPIORelay-Wiring.jpg
--------------------------------------------------------------------------------
/ESP-131GPIO/data/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garymueller/ESP-131GPIO/HEAD/ESP-131GPIO/data/favicon.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .pio
2 | .vscode/.browse.c_cpp.db*
3 | .vscode/c_cpp_properties.json
4 | .vscode/launch.json
5 | .vscode/ipch
6 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | // See http://go.microsoft.com/fwlink/?LinkId=827846
3 | // for the documentation about the extensions.json format
4 | "recommendations": [
5 | "platformio.platformio-ide"
6 | ],
7 | "unwantedRecommendations": [
8 | "ms-vscode.cpptools-extension-pack"
9 | ]
10 | }
11 |
--------------------------------------------------------------------------------
/platformio.ini:
--------------------------------------------------------------------------------
1 | [platformio]
2 | src_dir = ./ESP-131GPIO
3 | data_dir = ./ESP-131GPIO/data
4 |
5 | [env]
6 | upload_speed = 921600
7 | monitor_speed = 115200
8 |
9 | [esp8266]
10 | framework = arduino
11 | platform = espressif8266
12 | board_build.filesystem = littlefs
13 | lib_deps =
14 | forkineye/ESPAsyncE131 @ ^1.0.4
15 | ESP Async WebServer @ ^1.2.3
16 | devyte/ESPAsyncDNSServer @ ^1.0.0
17 | bblanchon/ArduinoJson @ ^6.19.4
18 |
19 | [env:d1_mini]
20 | extends = esp8266
21 | board = d1_mini
22 | build_flags =
23 | -D BOARD_NAME='"d1_mini"'
24 |
25 |
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ESP-131GPIO
2 |
3 | This is arduino firmware that will listen to a E1.31 (sACN) data soure and will drive a boards GPIO pins. The firmware supports ESP8266 and is currently configured to support the WEMOS mini. This was designed to drive relays for static christmas display lights being driven by Vixen, XLights or other application that output a E1.31 data stream. The board supports the following ...
4 |
5 | * Web Interface
6 | * Status page
7 | * Configuration Page
8 | * Network
9 | * E131
10 | * GPIO
11 | * Test Page
12 |
13 | * REST API - to set relay states through an external interface
14 | * /SetRelay?relay=[0-#]&checked=[true|false]
15 | * Captive Portal (Optional) - Automatically start the arduino in access point mode if the WiFi settings aren't able to connect.
16 | * Digital/PWM support
17 |
18 | # Hardware
19 |
20 | [WeMos D1 Mini](https://www.amazon.com/IZOKEE-NodeMcu-Internet-Development-Compatible/dp/B076F52NQD)
21 |
22 |
23 |
24 | [8-Channel 5V Solid State Relay](https://www.amazon.com/gp/product/B006J4G45G)
25 |
26 |
27 |
28 | # Wiring
29 |
30 |
31 |
32 | # Build Environments
33 |
34 | There are 2 ways to build the software. The first is to use the arduino ide and the second is to use platformio. The required libraries for the arduino ide environment are listed below and must be installed in order to compile. The Platformio environment is easier to use as the libraries should automatically be downloaded and made available to the environment for you.
35 |
36 | [Arduino IDE](https://www.arduino.cc/en/main/software)
37 |
38 | [Arduino 8266](https://github.com/esp8266/Arduino)
39 |
40 | [arduino-esp8266littlefs-plugin](https://github.com/earlephilhower/arduino-esp8266littlefs-plugin/releases)
41 |
42 | or
43 |
44 | [Platformio](https://platformio.org/install)
45 |
46 | # Arduino IDE Libraries
47 | [Arduino WiFi](https://www.arduino.cc/en/Reference/WiFi)
48 |
49 | [Arduino JSON](https://arduinojson.org/)
50 |
51 | [ESPAsyncE131](https://github.com/forkineye/ESPAsyncE131)
52 |
53 | [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer)
54 |
55 | [ESPAsyncDNSServer](https://github.com/devyte/ESPAsyncDNSServer)
56 |
57 | [ESPAsyncTCP](https://github.com/me-no-dev/ESPAsyncTCP)
58 |
59 | [ESPAsyncUDP](https://github.com/me-no-dev/ESPAsyncUDP)
60 |
61 | # Software Installation
62 |
63 | Download and install the above build environments and libraries. The build environments can be installed by downloading and installing the appropriate software.
64 | * **Arduino IDE** - The libraries can be installed through the ide with manage libraries.
65 |
66 | # Firmware Installion
67 | 1. The Wemos requires you to jump pins D3 and GND to start the board into programming mode.
68 | 2. Plug the arduino into your computers USB.
69 | 3. Click the upload button to compile and transfer the firmware to the arduino.
70 | 4. Upload data files
71 | * **Arduino IDE**
72 | - select the "ESP8266 LittleFS data upload" found under the tools menu. This will upload the data directory (html) to the arduino.
73 | * **PlaformIO**
74 | - Click the PlatformIO icon in the sidebar
75 | - Expand the Platform menu.
76 | - Select Build Filesystem Image.
77 | - click Upload Filesystem Image.
78 |
79 | # Web Interface
80 |
81 |
82 |
83 |
84 |
85 | # Acknowledgements
86 | I wish to thank the following individuals / groups were instrumental into helping make this project.
87 | * [Shelby Merrick](https://github.com/forkineye)
88 | * [ESPixelStick](https://github.com/forkineye/ESPixelStick)
89 | * [E131](https://github.com/forkineye/E131)
90 | * [doityourselfchistmas](http://doityourselfchristmas.com/forums/archive/index.php/t-51293.html)
91 | * many others with various examples, tutorials, etc.
92 |
--------------------------------------------------------------------------------
/ESP-131GPIO/data/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
223 |
224 |