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 &
úterý 28. prosince 2010
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();
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");
<?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/
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
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 ;
% 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;
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;
% 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);
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">
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
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;
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);
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>
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"
Přihlásit se k odběru:
Příspěvky (Atom)