Project: TURRIS - automatické nastavení intenzity LED
Tento návod vznikl inspirací různých skriptů nalezených buď na internetu nebo na fóru Turris. Návod zde uvádím zejména z důvodu mít vše na jednom místě (samotnému mi trvalo poměrně dlouhou dobu, než jsem se zorientoval a vybral/zkombinoval to, co mi bude vyhovovat). Je tedy vysoce pravděpodobné, že si případní původní autoři mohou poznat svůj základ nebo i části skriptu. Tímto jím rozhodně neupírám jejich zásluhy a naopak jim děkuji.
Návod pro automatické nastavení intenzity svícení LED umístěných na čelním panelu. Toto nastavení obsahuje celkem 4 různé rozsahy časů pro různé intenzity. Vše se jednou nastaví a s pomocí CRON se pouští skript každou hodinu (toto je zároveň i nevýhoda, protože když si ručně tlačítkem vzadu změníte intenzitu, tak se v celou hodinu automaticky změní podle nastavení).
Pro každý návod je třeba mít připojen router prostřednictvím SSH, tedy v případě Windows doporučuji například program Putty. Tedy v konzoli musíte vidět:
root@turris:~#
V adresáři /root/sh (nemáte-li, vytvořte si podadresář 'sh') vytvořte soubor led_intenzita.sh a do jeho obsahu vložte:
#!/bin/sh StdIntensity=`grep 'DEFAULT' /root/.config/led_intenzita.conf | awk '{ print $2 }'` StartH=`grep 'HIGH' /root/.config/led_intenzita.conf | awk '{ print $2 }'` StartM=`grep 'MED' /root/.config/led_intenzita.conf | awk '{ print $2 }'` StartL=`grep 'LOW' /root/.config/led_intenzita.conf | awk '{ print $2 }'` StopH=`grep 'HIGH' /root/.config/led_intenzita.conf | awk '{ print $3 }'` StopM=`grep 'MED' /root/.config/led_intenzita.conf | awk '{ print $3 }'` StopL=`grep 'LOW' /root/.config/led_intenzita.conf | awk '{ print $3 }'` IntH=`grep 'HIGH' /root/.config/led_intenzita.conf | awk '{ print $4 }'` IntM=`grep 'MED' /root/.config/led_intenzita.conf | awk '{ print $4 }'` IntL=`grep 'LOW' /root/.config/led_intenzita.conf | awk '{ print $4 }'` Program='/usr/bin/rainbow intensity ' DTH=`date +%H` # Get actual intensity ACT_INTENSITY=$(rainbow get intensity) To_Intensity=$StdIntensity if [ $DTH -ge $StartH ] ; then To_Intensity=$IntH ; fi ; if [ $DTH -ge $StartM ] ; then To_Intensity=$IntM ; fi ; if [ $DTH -ge $StartL ] ; then To_Intensity=$IntL ; fi ; if [ $DTH -le $StopH ] ; then To_Intensity=$IntH ; fi ; if [ $DTH -le $StopM ] ; then To_Intensity=$IntM ; fi ; if [ $DTH -le $StopL ] ; then To_Intensity=$IntL ; fi ; if [ $ACT_INTENSITY -ne $To_Intensity ] then $Program $To_Intensity fi
Pokud přesně nevíte jak nebo nepotřebujete ve skriptu nic měnit, můžete rovnou využít stažení skriptu přímo:
wget 'http://www.s474n.com/download/Turris/led_intenzita.sh' > /root/sh/led_intenzita.sh
Nastavíme skript pomocí 'chmod +x' spustitelný:
chmod +x /root/sh/led_intenzita.sh
Dále v adresáři /root/.config vytvořte soubor 'led_intenzita.conf' a do jeho obsahu vložte následující obsah. Zde si v možnosti DEFAULT můžete nastavit svou základní intenzitu v rozsahu 0-7 (0 nejsilnější až 7 vypnuto). Dále si můžete nastavit tři rozsahy časů, ve kterých se bude intenzita automaticky měnit. Pro někoho možná nelogicky používám v noci vyšší jas, protože obvykle každý chce v noci jas snížit. Toto je z prostého praktického důvodu, používám totiž Turris zároveň jako orientační osvětlení v technické místnosti :)
DEFAULT 5 ##Name From To Intensity HIGH 17 8 2 MED 19 7 1 LOW 20 6 0
Opětovně můžete předchozí krok přeskočit přímým stažením souboru:
wget 'http://www.s474n.com/download/Turris/led_intenzita.conf' > /root/.config/led_intenzita.conf
Jako poslední věc vytvoříme soubor 'led_intenzita' v adresáři '/etc/cron.d/', tento zabezpečí automatické spouštění skriptu každou hodinu a právě ono automatické přenastavení intezity podle hodin:
MAILTO="" 0 * * * * root /root/sh/led_intenzita.sh
Nyní by vše mělo být nastaveno a zajištěno spouštění skriptu.