pátek 14. listopadu 2014

UCI OpenWRT

Pro čtení a zápis parametrů konfiguračních souborů OpenWRT je možné použít UCI, viz několik příkladů:

čtvrtek 13. listopadu 2014

Pěkná jména pro rozšíření Majordomo Turris


Nelíbí se Vám v zobrazení Majordomo pouze MAC adresy? Tento skript vyčte z nastavení DHCP jména příslušející každé MAC a doplní je do souboru. Dokonce ani nevadí, že je do souboru připíše vícekrát, při aktualizace se duplicity odstraní.



sobota 8. listopadu 2014

Zprovoznění SPI, I2C a 1-wire na OpenWRT

Jak zprovoznit SPI na zařízení s OpenWRT, když nemá volný SPI port? Stačí jen najít několik volných GPIO pinů, nainstalovat pár balíčků a už to funguje.



pátek 7. listopadu 2014

Sledování výpadků připojení

#!/bin/sh

# Programátor řekl: nechť je toto voláno periodicky, nejlépe každou minutu
# při každém zavolání dejde k opingnutí strejdy googla,
# pokud se nedopingne, tak pěkně zalogovat čas první detekce výpadku
# a pěkně pokračujeme dále. Následně při úspěšném pokusu opingnutí strejdy googla
# se nám načte čas výpadku (ze souboru v /tmp) a spolu s časem náběhu se odešle na server

# vyzobneme počet úspěšných pingů (5 pingů, měly by se podařit alesoň dva)

tmpSoubor='/tmp/vypadek.txt'
testServer="google.com"
#testServer="google.comn"

ping $testServer -c 15 -q > /tmp/vysledek.txt 2>&1
Ping=`cat /tmp/vysledek.txt | sed -n -e 's/.*packets transmitted, \([0-9]*\).*/\1/p'`
rm /tmp/vysledek.txt
#echo "\"$Ping\""
minPing=2
if [[ -z "$Ping" ]]; then
    echo "Patrně nenalezen DNS záznam pro $testServer!"
else
    if [ $Ping -lt $minPing ]; then
            # sem to spadne při detekci výpadku
            if [ ! -f $tmpSoubor ]; then
                #sem to vleze jen při první rozpoznání výpadku
                    echo "Detekován výpadek připojení!"
                    date +"%Y-%m-%d%%20%H:%M:%S" > $tmpSoubor
            else
                    echo "Připojení nám nefunguje(již zalogováno)!"
            fi
    else
            echo "Připojení funguje!"
            #když nám funguje připojení a máme záznam o výpadku, tak ho naprášíme
            if [ -f $tmpSoubor ]; then
                    CasVypadku=`cat $tmpSoubor`
                    rm $tmpSoubor
                    dalsiCast='&VypadekKonec='
                    treticast=`date +"%Y-%m-%d%%20%H:%M:%S"`
                    Server="http://www.domena.cz/logovani/VlozeniPingDoDB.php?VypadekZacatek="
                    URL=$Server$CasVypadku$dalsiCast$treticast
                    echo $URL
                    wget -O /dev/null -q "$URL"
            fi
    fi
fi