Imported from GitHub: imjah/bulbs · commit ef9b276 · license GPL-3.0
Description
Ambient lighting system
README
Bulbs
Not mature yet project of RGB lights that can be controlled from your phone or local terminal.

Applications
There are several clients available.
bulbs-tui
TUI application written in rust created by @mtvrsh.
bulbs-cli
CLI application written in python.
Driver API
| Method | Endpoint | Usage | Returns |
|---|---|---|---|
| GET | /led | Get LED status | status |
| GET | /led/on | Get LED power status | true if LED power is ON, false otherwise |
| PUT | /led/on | Power on LEDs | |
| GET | /led/off | Get LED power status | true if LED power is OFF, false otherwise |
| PUT | /led/off | Power off LEDs | |
| GET | /led/color | Get LED color | color |
| PUT | /led/color/{value} | Set LED color | |
| GET | /led/brightness | Get LED brightness | brightness |
| PUT | /led/brightness/{value} | Set LED brightness |
Installation
Make sure you have just, python and pip installed. From api directory:
- Install dependencies
just
- Flash MicroPython on your ESP8266 board
# Your board should be accessible from /dev/ttyUSB0
just flash <your-firmware-release.bin>
- Install API
just sync
- Reboot the board
Usage
GET /led/color
Request
No parameters needed.
Response
On success, 200 OK and color object.
Example
Request
curl http://$DEVICE_IP/led/color
Response 200 OK
{
"color": "#000000"
}
PUT /led/color/{value}
Request
Value as hex color without leading #.
Response
On success, 200 OK.
On invalid input, 400 Bad Request with message object.
Example
Request
curl -X PUT http://$DEVICE_IP/led/color/5a1010
Response 200 OK
GET /led/brightness
Request
No parameters needed.
Response
On success, 200 OK and brightness object.
Example
Request
curl http://$DEVICE_IP/led/brightness
Response 200 OK
{
"brightness": 1.0
}
PUT /led/brightness/{value}
Request
Value as number from 0 to 1.
Response
On success, 200 OK.
On invalid input, 400 Bad Request with message object.
Example
Request
curl -X PUT http://$DEVICE_IP/led/brightness/0.5
Response 200 OK
Status object
| Key | Value type | Value description |
|---|---|---|
| on | boolean | Power state |
| color | string | Hex color |
| brightness | float | Number from 0 to 1 |
Color object
| Key | Value type | Value description |
|---|---|---|
| color | string | Hex color |
Brightness object
| Key | Value type | Value description |
|---|---|---|
| brightness | float | Number from 0 to 1 |
Message object
| Key | Value type | Value description |
|---|---|---|
| message | string | Activities description |
No comments yet. Be the first to ask about this board.