Uživatelské nástroje

Nástroje pro tento web

Tato dokumentace již není udržována týmem projektu Turris (přestože ji lze i nadále používat pro sdílení komunitního obsahu). Aktuální oficiální dokumentace se nachází na docs.turris.cz.

Funguje pouze na Turris 1.x

automatické nastavení intenzity LED

Tento návod vznikl inspirací různých skriptů nalezených buď na internetu nebo na starém 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í).

SSH

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:~#

Skript pro automatickou změnu barev

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.

Tento článek byl převzat se souhlasem autora pod přezdívkou: S474N z jeho stránek