Project: TURRIS - automatické nastavení intenzity a barev LED v2

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). Hlavním hybatelem toho skriptu je JardaB, díky kterému jsem se inspiroval a provedl ve skriptu menší změny (přizpůsobení na Turris, "hezčí" signalizace začátku skriptu, ověřování VPN, aj.).

Tento návod obsahuje řešení jak pro nastavení intenzity svícení LED v závislosti na různém čase, tak i řešení zobrazování různých barev LED v závislosti na dostupnosti/provozu. Jedním pohledem na router se tak dá zjistit, zdali je problém v nedostupnosti nejenom internetu samotného (konektivity), ale také přímo DNS či brány. Dále zobrazuje, že je například aktivní VPN připojení. Zde bych rád upozornil, že vzhledem k tomu, že nevyužívám interní WiFi, tak využívám diodu WIFI pro signalizaci různých stavů (proto jej nenastavuji na AUTO, ale na ENABLE). Skript si samozřejmě můžete upravit dle vlastních potřeb a požadavků.

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 connCheck.sh a do jeho obsahu vložte:

#!/bin/sh
# check the connection to the Internet

# --- indications of activity ---
rainbow pwr disable
rainbow wifi disable
sleep 0.3

rainbow pwr D000F0 enable
rainbow wifi disable
sleep 0.2
rainbow pwr disable
rainbow wifi D000F0 enable
sleep 0.2

rainbow pwr D000F0 enable
rainbow wifi disable
sleep 0.2
rainbow pwr disable
rainbow wifi D000F0 enable
sleep 0.2

rainbow pwr D000F0 enable
rainbow wifi disable
sleep 0.2
rainbow pwr disable
rainbow wifi D000F0 enable
sleep 0.2

rainbow pwr D000F0 enable
rainbow wifi disable
sleep 0.2
rainbow pwr disable
rainbow wifi D000F0 enable
sleep 0.2

rainbow pwr green enable
rainbow wifi green enable

# --- check connection gateway, dns, internet ---

# check gateway - wan+wifi ruzova 
if !(ping -c 1 192.168.0.1)
then
	echo -e "\n\n\Zjištěna chyba v připojení na gateway\n\n"
	rainbow wan d000f0 enable
	rainbow lan white auto
	rainbow wifi d000f0 enable;

# check DNS - wan, lan, wifi -  vse oranzove 
elif !(ping -c 1 192.168.0.1) &&  !(ping -c 1 8.8.8.8)	
then
	echo -e "\n\n\Zjištěna chyba v připojení na DNS\n\n"
	rainbow wan ff8c00 enable
	rainbow lan ff8c00 auto
	rainbow wifi ff8c00 enable;

# check internet - wan, wifi - cervena 
elif !(ping -c 1 8.8.4.4)
then
	echo -e "\n\n\Zjištěna chyba v připojení na internet\n\n"
	rainbow wan red enable
	rainbow lan white auto
	rainbow wifi red enable;

# check VPN - wifi modra
elif (ping -c 1 -w 2 192.168.100.2) || (ping -c 1 -w 2 192.168.100.3)
then
	echo -e "\n\n\Zjištěn připojený VPN klient\n\n"
	rainbow wan green auto
	rainbow lan white auto
	rainbow wifi blue enable;
	
# if all ready - standardni barvy
else
	echo -e "\n\n\nSíť kompletně v pořádku\n\n"
	rainbow wan green auto
	rainbow lan white auto
	rainbow wifi green enable;
fi

Pokud přesně nevíte jak nebo nepotřebujete ve skriptu nic měnit (což zde musíte, protože si musíte nastavit vlastní IP adresy DNS, brány,..), můžete rovnou využít stažení skriptu přímo a následně upravit v editoru:

wget 'http://www.s474n.com/download/Turris/connCheck.sh' > /root/sh/connCheck.sh

Nastavíme skript pomocí 'chmod +x' spustitelný:

chmod +x /root/sh/connCheck.sh

Nakonec vytvoříme soubor 'leds_control' v adresáři '/etc/cron.d/', tento zabezpečí automatické spouštění skriptu každé dvě minuty a také si zde můžete nastavit rozsah hodin a intenzitu svícení:

MAILTO=""
# zmena intensity svetla den - noc 
00	07	*	*	*	root	rainbow intensity 1
00	16	*	*	*	root	rainbow intensity 1
00	20	*	*	*	root	rainbow intensity 0
# overuje kazde 2 minuty
*/2	*	*	*	*	root	/root/sh/connCheck.sh > /dev/null 2>&1


Nyní by vše mělo být nastaveno a zajištěno spouštění skriptu.


Sdílet na Facebooku Sdílet na Twitteru Vytisknout



Doporučuji: MePaBlu Copyright S474N ©2004-2017