úterý 28. prosince 2010

Teploměr na blogspotu

Upravit soubor konfigurace teploměru (/etc/digitemp.conf)

TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 0
LOG_FORMAT "%.2C" #"%b %d %H:%M:%S Sensor%s,%.2C;"


Nyní do CRONu přidáme řádek
* * * * * /opt/usr/bin/teplomer.sh

V souboru /opt/usr/bin/teplomer.sh bude


#!/bin/ash
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/opt/usr/bin:/opt/usr/sbin
digitemp_DS9097 -q -c /etc/digitemp.conf -t 1 > /tmp/teplota.txt &


pondělí 27. prosince 2010

Práce s MySQL v C# (Visual Studio)

using MySql.Data.MySqlClient;


MySqlCommand cmd = new MySqlCommand();
MySqlConnection connect = new MySqlConnection("Address=localhost;Port=3306;Database=pokus;" +
            "UserId=root;Password=heslo");
try
{
connect.Open();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadKey();
return;
}
cmd.CommandText = "INSERT INTO `pokus`.`logy` ( `URL`, `Title`, `ModifiedDate` ) VALUES ('" +
    enumerator.Current.URL + "', '" + enumerator.Current.Title + "', '" + LastVisited + "');";
cmd.Connection = connect;
cmd.ExecuteNonQuery();
connect.Close();

PHP + MySQL

Jak načítat zprávy z databáze MySQL?

<?php
echo "<hr>";

$server_name = 'localhost'; // jmeno databazoveho serveru
$db_user = 'User_Apache'; // uzivatel
$db_pass = ''; // heslo
$db_name = 'Intranet'; // jmeno databaze


mysql_connect($server_name, $db_user, $db_pass) or die('Nepodařilo se připojit k MySQL databázi'); // pripojeni k databazi
mysql_select_db($db_name) or die('Nepodařila se otevřít databáze.'); // vyber databaze
    mysql_query("SET NAMES utf8");

Vzdálená plocha pro uživatele bez hesla

Ovládací panely -> Systém a zabezpečení -> Nástroje pro správu


Překlad postupu podle http://www.hlava.net/clanek/vzdalena-plocha-bez-hesla-a-i-z-windows-mobile-6/

úterý 30. listopadu 2010

Teploměr

načtení teploty z čidla (čidel)

digitemp_DS9097 -q -c /etc/digitemp.conf -t 0
v /etc/digitemp.conf je konfigurace:

TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 0
LOG_FORMAT "%b %d %H:%M:%S Sensor%s,%.2C;"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 2
ROM 0 0x10 0xDA 0x4F 0x4C 0x01 0x08 0x00 0x59
ROM 1 0x10 0xAE 0xA2 0x4B 0x01 0x08 0x00 0xAD

pondělí 29. listopadu 2010

CZS cvičení 9(Matlab)

% cvičení 9

% Nacteni/generovani signalu

% Generovani sinusovky
f=100;
fs=8000;
tmax=0.4 ;
%sig=sin(2*pi*f*(0:1/fs:tmax)) ;

% Nacteni cisteho recoveho signalu
% sig=loadbin('vm0.bin');  fs=16000 ;
% sig=loadbin('SA110992.CS0');  fs=16000 ;
% sig=loadbin('ma034014.ils');  fs=16000 ;

úterý 9. listopadu 2010

CZS cvičení 7(Matlab)

clc;
clear all;
close all;
f = 5;
fs = 2000;
N = 1000;
t = 0:1/fs:2*(N-1)/fs;

x = sin(2*pi*t);

figure(1);
hold on;

úterý 2. listopadu 2010

CZS cvičení 6(Matlab)

%% cvičení 6
% FIR filtr(half band)
%
%|
%|-############
%|-                        #
%|-                        #
%|-                        ##############
%|------------------------------------
%0                  1/2                     Fs/2
%                   Fs/4

%FIR1 navrhuje metodou okna

Fs = 8000; % vzorkovací frekvence
N = 30; % řád filtru
frekvence = 0:Fs/(2*N):Fs/2;

ú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"