Awesome
RemoteLight v0.2 - Multifunctional LED Control Software
RemoteLight is a Java based control software for WS2811/WS2812 (aka Neopixel) and some other addressable LED strips. It offers a modern, user-friendly UI and a lot of features.
<img alt="UI Overview Dark" src="images/Outputs_Dark.png" width="410"> <img alt="UI Overview Light" src="images/Outputs_Light.png" width="410">
<img alt="UI Overview FlatLaf Dark" src="images/Outputs_FlatLaf-Dark.png" width="410"> <img alt="UI Overview Monokei Pro" src="images/Outputs_FlatLaf-MonokeiPro.png" width="410">
Features
- Easy to use
- Supports Arduino and Raspberry Pi
- Artnet output
- Custom colors
- Animations
- Scenes
- Music reactive effects / Visualizer
- Ambilight
- Lua scripts
- Custom Java Plugins
- Neopixel simulator
Table of contents
- Hardware
- Software
- Downloads
- Quick Start
- Lua scripts
- Start parameters
- Commands
- Plugins
- Images
- Community support
Hardware
- Windows/Linux/MacOS computer (not required when using Raspberry Pi)
- Arduino or Raspberry Pi
- WS2811, WS2812(B) or similar LED strip
Software
- Java
- RemoteLight
- RemoteLightServer (is required when using a Raspberry Pi)
Downloads
- :diamond_shape_with_a_dot_inside: RemoteLight
- :large_orange_diamond: RemoteLightServer
- :large_blue_diamond: RemoteLightWeb
Quick Start
Arduino
Youtube Tutorial available | view Wiring Guide
RemoteLight uses the Glediator protocol for Arduino. Download the Glediator sketch, change the number of pixels and upload it to your Arduino.
Note: Solderlab.de seems to be offline. You can alternatively download the sketch here or use the FastLED variant.
Connect the Arduino to your computer and start RemoteLight. Click 'Add' to add a new Arduino to the output list. Then select the correct COM port, enter the number of pixels and click 'Save'. Now you can activate the output by double clicking on it or by clicking on 'Activate'.
Raspberry Pi
Youtube Tutorial available | view Wiring Guide
RemoteLightServer repository
First of all your Raspberry Pi must be prepared to control WS2811/WS2812 LEDs. There is a well described tutorial on tutorials-raspberrypi.com. > Tutorial <
After everything works, you can move on.
Upload the RemoteLight-Server.jar onto your Raspberry Pi and start it:
- Connect to your Raspberry Pi via SSH.
- Install Java:
sudo apt-get install openjdk-8-jdk
- Navigate to the directory where the RemoteLight-Server.jar is located, e.g.:
cd /home/pi/
- Start the server:
sudo java -jar RemoteLightServer-pre0.2.0.8.jar
- To stop the server: Type
end
or pressCtrl + c
Now start RemoteLight on your computer and click on 'Add' > 'RLServer (Raspberry)'. Enter the IP address of the Raspberry Pi in the 'Hostname / IP' field (the Raspberry Pi must be on the same network). Enter the number of pixels and click 'Save'. If the server is running, you can click on 'Activate'.
Note: You can also use the Raspberry Pi without an additional computer. For this you need an OS with a graphical desktop installed on the Raspberry Pi. Start the server (as described above) + the RemoteLight control software, add a new 'RLServer (Raspberry)' output and enter 'localhost' or '127.0.0.1' in the 'Hostname / IP' field.
Start server automatically on startup
- Install screen:
sudo apt-get install screen
- Edit root startup script:
sudo nano /etc/rc.local
- Insert the following line before 'exit 0':
su - pi -c "screen -dm -S [name] sudo java -jar /path/to/RemoteLightServer.jar"
- Edit the name of the screen and the file path, e.g.:
su - pi -c "screen -dm -S remotelight sudo java -jar /home/pi/RemoteLightServer-pre0.2.0.8.jar"
The RemoteLightServer will now start automatically in a new screen when booting.
To open the screen use screen -r [name]
. Type end
or press Ctrl + C
to stop the server. To leave the screen press Ctrl + A and D
.
Simulator
RemoteLight comes with a LED strip simulator in which you can test the effects without a WS2811/WS2812 strip. However, the effects look a thousand times better with a real LED strip 😉.
To use the simulator you need to go to the output menu and click on 'Open simulator' in the upper right corner.
A new window will open. Click on 'Enable' to activate the simulator. Now go back to the output menu and add a new 'RLServer (Raspberry)' output. Enter localhost
or 127.0.0.1
as hostname / IP and the number of pixels you want to simulate. Then click on 'Save' and activate the output.
Lua scripts
With the latest update it is possible to write animations in Lua. All Lua files located in C:\Users\[user]\.RemoteLight\lua_scripts
(/home/[user]/.RemoteLight/lua_scripts
on Linux) are listed in the 'Scripts' menu.
Methods:
strip.ledNumber() Returns the LED number of the current strip
strip.show(table{table{r,g,b}}) Shows the colors in the table on the strip
Expects a table with RGB values in a table which is as long as the led strip
e.g.: {{255, 0, 0}, {250, 15, 0}, {0, 255, 255}, ...}
\ 1. LED / \ 2. LED / \ 3. LED / ...
strip.delayReached() Returns true when the user defined delay/speed is reached
strip.setAll(table{r,g,b}) Sets the entire strip to the given color
strip.setPixel(led, table{r,g,b}) Sets the color of a single pixel
strip.shiftRight(x) Shift all colors on the strip x times to the right
strip.shiftLeft(x) Shift all colors on the strip x times to the left
strip.shiftOutwards(x) Shift all colors on the strip x times from the centre outwards
strip.randomColor() Returns a random color (a table with an RGB value)
colorUtil.rainbowWheel(hue) Hue should be in the range from 0 to 360
colorUtil.hsv(hue, saturation, brightness)
colorUtil.rgb(red, green, blue) Builds a table with the given RGB values
colorUtil.[RED(), GREEN(), BLUE(), BLACK(), WHITE(), CYAN(), ORANGE(), YELLOW(), MAGENTA(), PINK()]
Start parameters
java -jar RemoteLight-pre0.2.0.x.jar [paramaters...]
-tray | -t start minimized in the system tray
-autoconnect | -ac automatically connect to last used output
-updatechecker | -uc check for updates
Commands
Since RemoteLight v0.2.1 you can control animations/effects from the console.
start <AnimationManager/MusicSyncManager/SceneManager/LuaManager/ScreenColorManager> <animation/effect/script path>
stop <all/AnimationManager/MusicSyncManager/SceneManager/LuaManager/ScreenColorManager>
color <HEX> or color <r> <g> <b>
list [<AnimationManager/MusicSyncManager/SceneManager>]
close
Plugins
More plugins and info material about creating own plugins will come soon
View here for plugin creation guide
View here for example plugins
Recommended plugins:
- Effect Playlist: create automatic effect sequences
- OpenRGB Plugin: add OpenRGB support and control your whole RGB setup
Images
<img alt="Animations with Simulator" src="https://user-images.githubusercontent.com/29163322/67697661-32e26d80-f9a9-11e9-88e2-7f649d96bd36.PNG" height="220"> <img alt="ScreenColor" src="https://user-images.githubusercontent.com/29163322/67697662-32e26d80-f9a9-11e9-8863-f4718c65a363.PNG" height="220">
Supports a bunch of different theme combinations, thanks to the FlatLaf LookAndFeels. <img alt="Color Picker" src="images/Colors_FlatLaf-SolarizedLight.png" width="410"> <img alt="Animations" src="images/Animations_FlatLaf-NightOwl.png" width="410"> <img alt="Plugins List" src="images/Plugins_FlatLaf-Carbon.png" width="410"> <img alt="Settings UI" src="images/Settings_FlatLaf-Darcula.png" width="410">
Video Demo
<a href="https://www.youtube.com/watch?v=u8ptqaTGteg"><img src="https://img.youtube.com/vi/u8ptqaTGteg/0.jpg" width="280"></a> <a href="https://www.youtube.com/watch?v=-5hKRAyPDT8"><img src="https://img.youtube.com/vi/-5hKRAyPDT8/0.jpg" width="280"></a>
Community support
- French translation by Pat'o beurre
If you want to support my project, you can do it directly on GitHub or you can contact me on the RemoteLight discord.
Changelog
Changelog of all versions since v0.1.1
License
RemoteLight is released under the GNU General Public License v3.0.