úterý 26. října 2010

CZS cvičení 5(Matlab)

% zplane - zobrazí nul. body a póly
figure(1);
zplane([1 -0.95],1); % zadáváme v formátu [1 -0.95],1 tedy 1 - 0.95*z^(-1)
figure(2);
freqz([1 -0.95],1,1000); % zobrazení frekvenční funkce (kořeny a,b, N - počet bodů pro zobrazení)

figure(3);
zplane(1,[1 0.8]);
figure(4);
freqz(1,[1 0.8],1000);

pátek 22. října 2010

Jak odesílat maily ve formátu HTML

Pomocí již zmiňovaného SMTP klienta (ssmtp) je možné odesílat i zprávy ve formátu HTML, podstatný je žlutě označený řádek:

To: komu@gmail.com
From: od_koho@gmail.com
Subject: Pozdrav
Content-Type: text/html; charset="ISO-8859-1";


<html><head>
<meta http-equiv="PRAGMA" content=no-cache"> 
<meta http-equiv="Content-Language" content="cs">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">

Hrátky s příkazovým řádkem

Načtení všech přihlášení či pokusů o přihlášení do routeru
pokud máme logy v souboru /opt/log/log
cat /opt/log/log | grep -i "auth"
pokud máme logy circular bufferu
logread | grep -i "auth"

grep -i retezec # vrátí pouze řádky, které obsahují retezec
A jak odesílat e-maily z ASUSE? Stačí nainstalovat SSMTP
opkg update
opkg install ssmtp
A dopsat do konfiuráku všechny údaje
nano /etc/ssmtp/ssmtp.conf
root=mejl@gmail.com
mailhub=smtp.gmail.com:587
hostname=mejl@gmail.com
UseTLS=YES
UseSTARTTLS=YES
AuthUser=uzivatel

úterý 19. října 2010

CZS cvičení 4(Matlab)

A=1.5;
fs=200;
f=14;
t0=20;

% sinusovka 1
t = 0:1/fs:t0;
s1 = 0.5*sin(2*pi*t*14);

% sinusovka 2
t = 0:1/fs:t0;
s2 = 0.43*sin(2*pi*t*27.5);

signal = s1 + s2;

úterý 12. října 2010

CZS cvičení 3(Matlab)

A=1;
fs=8000;
f=1000;
t0=1;

% sinusovka
N=240;
t = 0:1/fs:t0;
s = A*sin(2*pi*t*f);
ss = s(1:N); %vybereme část průběhu s (240 vzorků)
tss = t(1:N);
figure(1);
subplot(411);
plot(tss,ss);

Jak stahovat z Ulož.to pomocí asuse?

Nejprve je nutné nainstalovat tyto balíčky: bash 3.2-2 a wget 1.12-2
například takto:
opkg update
opkg install bash
opkg install wget
potom si stačí stáhnout tento skript ZDE
cd /opt/Download
wget http://svetylk0.masquerade.cz/wdownload.sh
chmod 777 wdownload.sh
no a nyní stačí zakomentovat řádek display captcha.png &, tedy #display captcha.png &
obrázek s captchou je nutné nejprve stáhnout pomocí ftp a potom zadat do příkazové řádky
Až bude čas, tak se pokusím o nějaké naroubování toho na webové rozhraní routeru.

Skript je potom možné spustit takto
/opt/Download/wdownload.sh <adresa na uloz.to>


#!/bin/bash

# Download files from uloz.to using wget
# Author: svetylk0 (svetylk0 at seznam dot cz)
# Version: 1.0.3

VER="1.0.3"
DESTDIR="downloads"

function captcha() {

echo "Downloading captcha image ..."
wget -q "$URL" -O captcha.htm
CAPTCHA_ID=`grep class=\"captcha_nb captcha.htm | head -n 1 | grep -Eo [0-9]+`
CAPTCHA_IMG=`grep -Eo "http.+$CAPTCHA_ID\.png" captcha.htm | head -n 1`

echo $CAPTCHA_ID > CAPTCHAID

wget -q "$CAPTCHA_IMG" -O captcha.png

#display it
#display captcha.png &

echo "Enter captcha text:"
read TEXT
echo $TEXT > TEXT

}

function notify() {
#notify page and also because of form_url update
echo "Notifying page for download ..."
wget -q "$URL" -O captcha.htm
}

if ! [ -e $DESTDIR ]; then

if ! mkdir $DESTDIR; then
echo "Failed to create destination directory: $DESTDIR"
exit
fi

fi

#parse parameters

LNUM="unlimited"
LIMIT=""

while [ -n "$1" ]; do

case $1 in

-l )
shift
LIMIT="--limit-rate="$1"k"
LNUM="$1 kB/s"
shift;;

*uloz* )
URL="$1"
shift;;

* )
shift;;

esac


done

FILE=`echo "$URL" | tr '/' '\n' | tail -n 1`
DESTDIR="downloads"

TIMEOUT=30

echo
echo "Wget uloz.to downloader version $VER"
echo
echo "URL: $URL"
echo "File: $FILE"
echo "Destination directory: $DESTDIR"
echo
echo "Download limit: $LNUM"

if [ -e TEXT ]; then

echo "Use last captcha? [Y/n]"
read IN

if [ "$IN" = n ]; then
captcha;
else

notify;

CAPTCHA_ID=`cat CAPTCHAID`
TEXT=`cat TEXT`

fi

else

captcha;

fi

DOWNLOAD="Ståhnout FREE"
FORM_URL=`grep name=\"dwn\" captcha.htm | grep -Eo "http.+\" " | sed s/"\" metho                                                                                                                                                             d=\"post\""/""/`
OUTPUT="$DESTDIR/$FILE"


#start download

while [ true ]; do

#downloaded size checking
if [ -e "$OUTPUT" ]; then

SIZE=`du -h "$OUTPUT" | grep -oE "^[0-9]+"`

else

SIZE=0

fi


if ! wget -c "$LIMIT" --timeout 30 --tries 0 --retry-connrefused --post-data "ca                                                                                                                                                             ptcha_nb=$CAPTCHA_ID&captcha_user=$TEXT&download=$DOWNLOAD" "$FORM_URL" -O "$OUT                                                                                                                                                             PUT"; then

echo "Error occured, retrying after $TIMEOUT""s"
sleep $TIMEOUT
continue

fi

echo "Verifying downloaded file ..."

#check if is HTML file
if [ -e "$OUTPUT" ]; then

if file "$OUTPUT" | grep -q HTML; then
echo "Something went wrong, trying again ... after $TIMEOUT""s"
rm "$OUTPUT"
sleep $TIMEOUT

notify;

continue

fi

#test size
NEWSIZE=`du -h "$OUTPUT" | grep -oE "^[0-9]+"`
if [ "$NEWSIZE" = "$SIZE" ]; then

echo "Size is same as before download. Which means that nothing has been downloa                                                                                                                                                             ded"
echo "(wrong CAPTCHA or no free slots?)."
echo
echo " Retrying after $TIMEOUT""s"
echo
echo "Note: If you see above wget saying that file is complete, you have to"
echo "terminate this process by pressing CTRL+c"

sleep $TIMEOUT

notify;

continue

fi


fi

break
done

echo "OK"