https://github.com/flo4l/mylights
MyLights Project
https://github.com/flo4l/mylights
iot led led-strips nodemcu server spring-boot
Last synced: 6 months ago
JSON representation
MyLights Project
- Host: GitHub
- URL: https://github.com/flo4l/mylights
- Owner: Flo4l
- License: gpl-3.0
- Created: 2019-08-16T12:12:46.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-11-28T19:15:24.000Z (about 6 years ago)
- Last Synced: 2024-04-23T15:56:14.929Z (almost 2 years ago)
- Topics: iot, led, led-strips, nodemcu, server, spring-boot
- Language: Java
- Homepage:
- Size: 12.9 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MyLights
### Server and MCU Code for MyLights Project
## What is Mylights?
MyLights is a selfmade System to control Multiple LED Stripes.
It is based on a Spring-Boot server application and multiple NodeMCU devices (ESP8266) as clients.
The LED stripe current flow is controlled by the pins of the MCU (over transistors in our case).
##### MyLights Panel

#### MyLights Demo

## How to set up MyLights?
1. Compile the Server with Maven and run the JAR.
2. Download and install ArduinoIDE and the related libs (Vector.h, ESP8266 stuff).
3. Alter the WiFi access data and the IP/hostname of the server.
4. Flash the program with ArduinoIDE, connect the wires and start the MCU.
5. Open the Controlpanel of the Server and use the default password to log in. (Gl0w_up!)
6. Create a new group and add the Module, that should have registered itself at the server.
##### ER Diagram (deprecated)

##### API
```
GET
/
/h2-console
POST
/group/create
- groupName
/group/update
- groupId
- groupName
/group/delete
- groupId
/group/get/all
/command/set
- jsonData
/command/get/all
/command/get/group
- groupId
/stripe/register
- ip
- mac
/stripe/unassign
- stripeId
/strupe/update
- stripeId
- stripeName
/stripe/get/all
/stripe/set/group
- stripeId
- groupId
/stripe/get/group
- groupId
/stripe/get/unassigned
```
##### Example JSON Command
````json
{
"command":
{
"mode":"m",
"secondsToNextColor":2,
"groupId":1,
"colors":
[
{
"red":255,
"green":0,
"blue":0
},
{
"red":0,
"green":255,
"blue":0
},
{
"red":0,
"green":0,
"blue":255
}
]
}
}
````