Skip to content

Axel-KIRK/led

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

#!/bin/bash

POWERON='{"method": "set_power", "param": {"value": true}}'
POWEROFF='{"method": "set_power", "param": {"value": false}}'
GETSTATUS='{"method": "get_status"}'

calc(){ awk "BEGIN { print int(${1}*100/${2}}/100 }";}

function send() {
    local JSON="${1}"
    r=$(curl -X POST http://192.168.1.80/command \
    --connect-timeout 1 \
    --max-time 1 \
    --write-out "%{http_code}\n" -s -o /dev/null \
    -H 'Content-Type: application/json'
    -d "$JSON")
    echo $r
}


function post() {
    local JSON="${1}"
    result=$(send "$JSON");
    echo "$result"
    if [[ "$result" -ne "200" ]]; then
        try=$(send "$POWERON")
        while [[ "$try" -ne "200" ]]; do
            echo "try restart"
            sleep 5
            try=$(send "$POWERON")
        done
    fi
}

function setColor(){
    local r=$(calc ${1} 255)
    echo "r $r"
    local g=$(calc ${2} 255)
    local b=$(calc ${3} 255)
    local w=$(calc ${4} 255)
    post "{'method': 'set_rgbw','param': {'r': "$r",'g':"$g",'b': "$b",'w': "$w", time:0}}"
}

post "$POWEROFF"
sleep 1
setColor 0 0 0 0
sleep 1
post "$POWERON"
for i in {1..50}
do
    setColor $i 0 0 0
    sleep 5
done
for i in {1..20}
do
    setColor 50 $i 0 0
    sleep 5
done
sleep 600
post "$POWEROFF"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published