A Java based LED Control Software for WS2811 and WS2812 LED strips
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.
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'.
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:
sudo apt-get install openjdk-8-jdk
cd /home/pi/
sudo java -jar RemoteLightServer-pre0.2.0.8.jar
end
or press Ctrl + 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.
sudo apt-get install screen
sudo nano /etc/rc.local
su - pi -c "screen -dm -S [name] sudo java -jar /path/to/RemoteLightServer.jar"
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
.
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.
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()]
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
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
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:
Supports a bunch of different theme combinations, thanks to the FlatLaf LookAndFeels.
If you want to support my project, you can do it directly on GitHub or you can contact me on the RemoteLight discord.
Changelog of all versions since v0.1.1
RemoteLight is released under the GNU General Public License v3.0.