Scheduled LED control - XIYO/asuswrt-merlin.ng-kr GitHub Wiki

3.0.0.4.246.20 버전뢀터 μ‚¬μš©μžκ°€ λΌμš°ν„°μ˜ LEDλ₯Ό μ œμ–΄ν•  수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. κ°€μž₯ κ°„λ‹¨ν•œ 방법은 '도ꡬ -> 기타 μ„€μ •'μ—μ„œ 'μŠ€ν…”μŠ€ λͺ¨λ“œ' μ˜΅μ…˜μ„ ν™œμ„±ν™”ν•˜μ—¬ LEDλ₯Ό λ„λŠ” κ²ƒμž…λ‹ˆλ‹€. λ˜ν•œ 크둠 μž‘μ—…μ„ 톡해 νŠΉμ • μ‹œκ°„μ— LEDλ₯Ό 켜고 끄도둝 μ„€μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒ 예제λ₯Ό 톡해 λΌμš°ν„°λ₯Ό μ„€μ •ν•˜μ—¬ LEDκ°€ μ˜€ν›„ 6μ‹œμ— κΊΌμ§€κ³  μ˜€μ „ 6μ‹œμ— μΌœμ§€λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ¨Όμ € JFFS νŒŒν‹°μ…˜μ„ ν™œμ„±ν™”ν•˜κ³  μ‚¬μš©μž μ •μ˜ 슀크립트λ₯Ό μ§€μ›ν•˜λ„λ‘ μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. κ·Έ λ‹€μŒ, μ•„λž˜μ˜ services-start 슀크립트λ₯Ό μƒˆλ‘œ λ§Œλ“€κ±°λ‚˜ κΈ°μ‘΄ μŠ€ν¬λ¦½νŠΈμ— μΆ”κ°€ν•©λ‹ˆλ‹€:

services-start:

#!/bin/sh
cru a lightsoff "0 18 * * * /jffs/scripts/ledsoff.sh"
cru a lightson "0 6 * * * /jffs/scripts/ledson.sh"

μ΄λ²€νŠΈκ°€ λ°œμƒν•  μ‹œκ°„μ„ μ‘°μ •ν•˜λ €λ©΄ 두 번째 숫자(μ‹œκ°„μ„ λ‚˜νƒ€λƒ„)λ₯Ό μ‘°μ •ν•˜λ©΄ λ©λ‹ˆλ‹€.

services-startλ₯Ό μƒμ„±ν•œ ν›„ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€:

chmod a+rx /jffs/scripts/services-start

κ·Έ λ‹€μŒ, μ•„λž˜ 두 슀크립트λ₯Ό μƒμ„±ν•˜κ³  /jffs/scripts/에 μ €μž₯ν•©λ‹ˆλ‹€:

ledsoff.sh:

#!/bin/sh
nvram set led_disable=1
service restart_leds

ledson.sh:

#!/bin/sh
nvram set led_disable=0
service restart_leds

λ˜λŠ” ledsoff.sh와 ledson.shλ₯Ό λŒ€μ²΄ν•  톡합 슀크립트λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό /jffs/scripts/ledcontrol에 μ €μž₯ν•˜λ©΄ λ©λ‹ˆλ‹€. 이 μŠ€ν¬λ¦½νŠΈλŠ” μ—¬λŸ¬ 파일둜 ν˜Όλž€μŠ€λŸ¬μ›Œμ§€λŠ” 것을 μ›ν•˜μ§€ μ•ŠλŠ” μ‚¬μš©μžλ₯Ό μœ„ν•œ κ²ƒμœΌλ‘œ, μ‚¬μš©λ²•μ€ κ°„λ‹¨ν•©λ‹ˆλ‹€:

ledcontrol -on

ledcontrol -off

#!/bin/sh
show_help()
{
        echo "usage:"
        echo "ledcontrol -on         Turn leds on"
        echo "ledcontrol -off        Turn leds off"
        echo ""
}

option="${1}"
case ${option} in

                -on)
                    nvram set led_disable=0
                    service restart_leds
                    echo "Leds are now on"
                    logger -s -t leds "on"
                ;;

                -off)
                    nvram set led_disable=1
                    service restart_leds
                    echo "Leds are now off"
                    logger -s -t leds "off"
                ;;

                *) show_help
                exit 1
                ;;
esac

λΌμš°ν„°λ₯Ό μž¬λΆ€νŒ…ν•œ ν›„, 텔넷을 톡해 λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬ μž‘μ—…μ΄ μ œλŒ€λ‘œ μ„€μ •λ˜μ—ˆλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€:

cru l

μ˜¬λ°”λ₯΄κ²Œ μ„€μ •λ˜μ—ˆλ‹€λ©΄ 두 κ°€μ§€ μ˜ˆμ•½λœ μž‘μ—…μ΄ λͺ¨λ‘ λ‚˜νƒ€λ‚  κ²ƒμž…λ‹ˆλ‹€.

λΌμš°ν„° μƒνƒœκ°€ μž¬λΆ€νŒ… 사이에 μœ μ§€λ˜κΈΈ μ›ν•œλ‹€λ©΄, nvram set λͺ…λ Ήμ–΄ λ‹€μŒμ— λ‹€μŒκ³Ό 같은 컀밋 ν˜ΈμΆœμ„ 두 μŠ€ν¬λ¦½νŠΈμ— μΆ”κ°€ν•˜μ„Έμš”:

nvram commit

ν•˜μ§€λ§Œ μ΄λ ‡κ²Œ ν•˜λ©΄ ν”Œλž˜μ‹œ λ©”λͺ¨λ¦¬μ— 좔가적인 마λͺ¨κ°€ λ°œμƒν•˜κ³ , μ“°κΈ° 사이클이 μ œν•œλ˜μ–΄ 있기 λ•Œλ¬Έμ— ν”Œλž˜μ‹œ 수λͺ…이 μ•½κ°„ 단좕될 수 μžˆμŠ΅λ‹ˆλ‹€.