CheerLights is an Internet of Things (IoT) project where lights around the world are synchronized to one color. That color is set by anyone on the CheerLights Discord Community. You can think of CheerLights as a “Hello, World” project for learning IoT. CheerLights is a great starting point, then you can quickly adapt what you learn here to other types of IoT applications or electronics projects.
System
Behind the scenes, the CheerLights system listens to the CheerLights color changes on Discord and supported color names. When a Tweet matches, the CheerLights service updates the ThingSpeak and Adafruit IO IoT platforms as well as the CheerLights MQTT server. Devices and apps can subscribe to one of the IoT platforms and display the latest color.
ThingSpeak Channel
The CheerLights ThingSpeak Channel gets updated with the latest CheerLights color. You can use the ThingSpeak Channel API to read our data using HTTP or MQTT. CheerLights uses channel 1417 and stores the color name in field1 and the HEX color value in field2.
CheerLights Last Color Name
- http://api.thingspeak.com/channels/1417/field/1/last.json
- http://api.thingspeak.com/channels/1417/field/1/last.xml
- http://api.thingspeak.com/channels/1417/field/1/last.txt
CheerLights Last HEX Color Value
- http://api.thingspeak.com/channels/1417/field/2/last.json
- http://api.thingspeak.com/channels/1417/field/2/last.xml
- http://api.thingspeak.com/channels/1417/field/2/last.txt
Full CheerLights Feed
Adafruit IO
CheerLights has a public data feed hosted at Adafruit IO under the username cheerlights and the color feed or hex feed. To get the latest color value from Adafruit IO, you can use their Web, HTTP, or MQTT API found in the Adafruit IO documentation.
- Web:
- HTTP:
- MQTT:
- cheerlights/feeds/color
- cheerlights/feeds/hex
CheerLights MQTT
MQTT allows for real-time subscription to the CheerLights feed. When someone changes the color, the color name and its HEX value get published immediately over MQTT topics. Your devices and apps will get real-time updates from CheerLights without asking for updates over and over.
- Broker Address and Port: mqtt.cheerlights.com:1883
- Topics:
- color
- colour
- hex
- wled/col
- wled/color/set
Controlling CheerLights
Discord
Don’t use Twitter? Hop on our Discord Server and use the CheerLights bot to set the color. Type “/set_color” on any of the CheerLights discord server channels and the name of a supported color to control the CheerLights color.
Supported Colors
- red (#FF0000)
- green (#008000)
- blue (#0000FF)
- cyan (#00FFFF)
- white (#FFFFFF)
- oldlace (#FDF5E6)
- purple (#800080)
- magenta (#FF00FF)
- yellow (#FFFF00)
- orange (#FFA500)
- pink (#FFC0CB)