Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Topics - truthahn

Pagine: 1 [2] 3 4
17
Firmware (di classe WRT) / openwrt x86 boot da usb
« il: Gennaio 11, 2011, 07:11:54 pm »
 :evil: :evil: Ci son morto a forza di prove, ricerche poco fruttuose e mille reboot del mio povero laptop che forse alla fine ha deciso di fare il boot da tanto  era sfinito :-D

I passi:
compilare openwrt nel seguente modo..

nelle opzioni del kernel (make kernel_menuconfig) abilitare:
Support for Host-side USB
USB Mass Storage support
Second extended fs support
Ext3 journalling file system support
The Extended 4 (ext4) filesystem

nel "make menuconfig" (includendoli *)
block-mount
  kmod-fs-ext3
  kmod-fs-ext2
  kmod-usb-core
  kmod-usb-ohci
  kmod-usb2
  kmod-usb-storage
  block-hotplug
  block-extroot
  fdisk
  e2fsprogs

oltre al resto che decidete naturalmente. :-D

Copiate con il solito sistema l'immagine su una usb key
dd if=lavostraimmagine.image of=/dev/sdb (/dev/sdb naturalmente dev'essere adattata)

questo creer? sulla key due partizioni, esempio
sdb1 che conterr? il boot con grub
sdb2 con il filesystem

Bene. Togliete e levate la key che si automonter?.

Ora create initrd.gz , la ramdisk indispensabile per andare a montare la key.
Questo file dovr? contenere le librerie e i moduli adatti, quindi:

create /bin/creainitrd1 e incollateci dentro il seguente script che ho adattato da Djarvur group:
Codice: [Seleziona]
rm -rf /tmp/initrd
mkdir -p /tmp/initrd

copy_link_with_base()
  {
  test -L "$1/$2" &&
    {
    local basefile="`readlink "$1/$2"`"
    local filedir="`dirname "$2"`"
    local dstdir="`dirname  "$3/$filedir/$basefile"`"
    mkdir -pv "$dstdir"
    test -e "$3/$filedir/$basefile" ||
    cp -av "$1/$filedir/$basefile" "$3/$filedir/$basefile"
    }
  local dstdir="`dirname  "$3/$2"`"
  mkdir -pv "$dstdir"
  cp -av "$1/$2" "$3/$2"
  }
copy_loop()
  {
  while read fileName
    do
    copy_link_with_base "$1" "$fileName" "$2"
    done
  }

copy_loop /tmp/rootfs /tmp/initrd <<EOF
/bin/ash
/bin/mount
/bin/umount
/bin/grep
/sbin/udevd
/sbin/udevtrigger
/lib/libcrypt.so.0
/lib/libm.so.0
/lib/libc.so.0
/lib/ld-uClibc.so.0
/lib/libgcc_s.so.1
/lib/libpthread.so.0
/lib/modules/2.6.32.27/uhci-hcd.ko
/lib/modules/2.6.32.27/ehci-hcd.ko
/lib/modules/2.6.32.27/ohci-hcd.ko
/sbin/insmod
/bin/sleep
/usr/bin/killall
/bin/cat
/sbin/switch_root
/usr/sbin/e2fsck
/usr/lib/libext2fs.so.2
/usr/lib/libcom_err.so.2
/usr/lib/libblkid.so.1
/usr/lib/libuuid.so.1
/usr/lib/libe2p.so.2
EOF

xargs -I% mkdir -vp /tmp/initrd/% <<EOF
/proc/
/sys/
/dev/
/real_root/
EOF

naturalmente modificate /lib/modules/2.6.32.27 con il vostro kernel

create /bin/creainitrd2 e incollateci dentro (sempre adattato da Djarvur group)

Codice: [Seleziona]
cat <<EOF > /tmp/initrd/init
#!/bin/ash -u

PATH="/bin:/sbin:/usr/bin:/usr/sbin"

mount proc  /proc -t proc
mount sysfs /sys  -t sysfs
mount udev  /dev  -t tmpfs -o mode=0755

udevd --daemon
udevtrigger
udevsettle

for module in usbcore scsi_mod sd_mod usb-storage uhci-hcd ohci-hcd ehci-hcd
  do insmod \$module; done

root=''
init='/init'

for param in \`cat /proc/cmdline\` none
  do
  echo "\$param" | grep -q '=' || continue
  eval "\$param"
  done

do_fsck()
  {
  e2fsck -p "\$1" ||
  e2fsck "\$1"
  }
umount_all()
  {
  killall -KILL udevd &&
  umount -f /dev &&
  umount -f /sys &&
  umount -f /proc
  }

test -n "\$root" &&
  {
  echo -n "Looking for the root fs device '\$root'"
  while ! test -b "\$root"; do echo -n '.'; /bin/sleep 1s; done
  echo 'found'

  do_fsck "\$root" &&
  mount "\$root" /real_root &&
  umount_all &&
  exec switch_root /real_root "\$init"
  } ||
  exec /bin/ash --login
EOF
chmod +x /tmp/initrd/init

pushd /tmp/initrd &&
find . -print|cpio -ov -H newc|gzip -9 -c > /tmp/initrd.gz &&
popd

Rendeteli eseguibili.

Ora montate il file system in /tmp/rootfs:
Codice: [Seleziona]
mkdir /tmp/rootfs
mount /dev/sdb2 /tmp/rootfs

Quindi creiamo l'initrd.gz digitando da shell
Codice: [Seleziona]
creainitrd1
creainitrd1

se tutto ? andato bene troverete l'initrd.gz in /tmp

Ora andiamo a modificare Grub.

copiate l'initrd.gz in /dev/sdb1 (o quello che ?) dove si trova la catella "boot" dentro alla stessa cartella dove ? gi? presente il kernel (vmlinuz);
entrate nella cartella "grub" dove ? presente il file menu.lst e modificatelo cos?:
Codice: [Seleziona]
serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1
terminal --timeout=2 console serial
default 0
timeout 5
title   OpenWrt
root    (hd0,0)
kernel  /boot/vmlinuz root=/dev/sda2 init=/etc/preinit rootfstype=ext2 rootwait console=tty0 reboot=bios
initrd /boot/initrd.gz
boot
title   OpenWrt (failsafe)
root    (hd0,0)
kernel  /boot/vmlinuz failsafe=true root=/dev/sda2 init=rootf stype=ext2 rootwait console=tty0 reboot=bios
boot

se avete anche una porta seriale potete passare anche
Codice: [Seleziona]
console=ttyS0,38400n8

Incrociate le dita... fate un reboot e godete :-D o imprecate e ricominciate  :cry:
? tutto!! :-D :-D :-D

18
Area Ecologica - Raccolta Differenziata / Porta seriale occupata
« il: Gennaio 08, 2011, 06:40:12 pm »
ho un piccolo grande problema...
dovrei sapere, dentro ad uno script, se la porta seriale o ttyUsb, ? occupata in lettura o scrittura il un preciso momento. Nei miei script vado a fare un grep di "ps" e se trova un determinato programma che utilizza la seriale aspetta pazientemente. Funziona ma mi sembra una cosa barbara. c'? un altro metodo? che ne so, leggendo il proc o altro??

19
Area Ecologica - Raccolta Differenziata / Termometro usb
« il: Gennaio 04, 2011, 11:21:53 pm »
Qualcuno usa o ha usato qualche termometro ambiente usb gestibile da linux?

20
Firmware (di classe WRT) / Montare file immagine di openwrt
« il: Gennaio 04, 2011, 11:19:37 pm »
Forse banale ma utile per andare a sbirciare nel file immagine..
vediamo il mio per x86

prima andiamo a listare le partizioni all'interno...

Codice: [Seleziona]
sudo fdisk -l -u openwrt-x86-ext2.image
....
              Dispositivo Boot      Start         End      Blocks   Id  System
OpenWrtdc-x86-ext2.image1   *          63       16064        8001   83  Linux
OpenWrtdc-x86-ext2.image2           16065     7839719     3911827+  83  Linux

per montare image2, prima dobbiamo traformare i settori in bytes

Codice: [Seleziona]
echo "$((7839719*512))"
che da
4013936128

quindi un bel

Codice: [Seleziona]
sudo mount -o loop,offset=4013936128 openwrt-x86-ext2.image /mnt

e potremo esplorare la nostra immagine.

21
Firmware (di classe WRT) / Domotica con openwrt su x86
« il: Dicembre 28, 2010, 12:13:44 pm »
Salve a tutti...
Dopo quasi un anno di sperimentazione con la "centralina controllo gpio" sul prode wrt54gl del centro sociale che ha dato veramente ottimi risultati (non ha mai sbagliato un colpo!!!) si ? deciso di dotare tutte le sale comunali (palestra, 3 sale civiche, biblioteca, sala polifunzionale, centro del volontariato) di una centralina per il controllo domotico da gestire direttamente dal municipio. Alcune strutture sono dotate di collegamento ad internet, altre dovranno essere raggiunte come il centro sociale con un collegamento wifi. La scelta dell'assessore, condivisibile, ? di passare da una centralina basata su un router "modificato" come quello sperimentato a materiali reperibili sul mercato e non dipendenti dalle saldature, modifiche artifici vari eseguiti da Truthahn. Fare quindi qualcosa in serie, facilmente aggiornabile, cambiabile e trovabile.
L'obiettivo ? quello di dotare ogni struttura del controllo dei seguenti device:
apriporta, riscaldamento, luci interne e esterne, Fari esterni quando presenti, irrigazione quando presente ecc.., videocontrollo, Telefoni voip, accesso ad internet il tutto controllato da remoto tramite interfaccia web con "pulsanti", programmazione, telefono e localmente tramite tastierino numerico posto all'esterno degli edifici per consentire anche l'apertura della porta.
Ho scelto di utilizzare Openwrt avendone testata la stabilit? sull'altra centalina e avendo gi? chiaro come muovermi e poterlo poi utilizzare anche su altre mie sperimentazioni su router.
Cos? ? nata la (scusate la spacconata  8-) )... OpenXwrTrutahnDomoticControl


Materiali utilizzati:
Intel? Desktop Board D510MO... dispone di tutto e di pi?, porte seriali, usb, veloce, minipci per scheda wifi, a basso consumo.

1 gb di ram
1 adattatore sata-cf
1 cf da 4 gb (esagerata ma ho trovato quella a basso prezzo e per immaganizzare log e jpg del videocontrollo a iosa)
1 scheda rel? (8 rel?) con interfaccia seriale

1 tastierino numerico con interfaccia seriale (l'ho trovato!!!!!!!)

1 termometro usb (? in viaggio)
2 webcam "normali"

ed ecco il risultato.... simile all'all'atra centralina ma con accorgimenti e varie cose in pi?. Per la gestione della tastiera numerica ho udato python con il modulo pyserial, ho instalalto asterisk che ora risiede localmente e non si appoggia pi? all'esterno e migliorato il tutto.... almeno spero :-D

questa ? la pagina delle configurazioni. Da qui impostando il nome dei device e collegandoli ai rel? vengono generati automaticamente i programmi di gestione associati ai vari device, si pu? modificali anche a piacimento in casi partricolari.



Passando al modo "centralina" si trovano le varie pagine di gestione...
La pagina comandi funziona come una semplice plancia a bottoni, da qui al volo si gestisce il tutto..


La pagina programmazione serve appunto per programmare, cancellare, aggiornare, abilitare o disabilitare le varie programmazioni per data, orario ecc..


La pagina Password per dare agli utenti la pass che vale sia per la tastiera che per il telefono. (le pass degli amministratori si settano nella pagina principale di configurazione)


la pagina telefoni serve per vedere lo stato dei vari telefoni e per far ripartire, al caso, asterisk.


La pagina telecamera per gestire il videocontrollo, con registrazione filmati su server remoto e chiamata telefonica


la pagina log per gestire i log e scaricarli per gestirli con exel


i dati scaricati....
-----------------------------------------------------------------
LOG Palestra - 28/12/2010 12:11:26


Condizionatore
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:11|01:01|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:02

Fari
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:36|01:26|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:27

Irrigazione
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:11|01:01|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:02

Luci
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|10:10|11:36|01:26|Comandi |
|2|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:27

Riscaldamento
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Lunedi|27|Dicembre|2010|17:44|17:45|00:01|Antigelo |
|2|Lunedi|27|Dicembre|2010|17:49|17:51|00:02|Antigelo |
|3|Lunedi|27|Dicembre|2010|18:05|18:10|00:05|Antigelo |
|4|Lunedi|27|Dicembre|2010|18:15|18:20|00:05|Antigelo |
|5|Lunedi|27|Dicembre|2010|18:45|20:18|01:33|Comandi |
|6|Lunedi|27|Dicembre|2010|21:10|21:19|00:09|Comandi |
|7|Lunedi|27|Dicembre|2010|21:39|21:39|00:00|Comandi |
|8|Lunedi|27|Dicembre|2010|21:39|21:41|00:02|Comandi |
|9|Lunedi|27|Dicembre|2010|21:41|21:42|00:01|Comandi |
|10|Lunedi|27|Dicembre|2010|21:42|21:47|00:05|Comandi |
|11|Lunedi|27|Dicembre|2010|21:48|21:48|00:00|Comandi |
|12|Lunedi|27|Dicembre|2010|21:49|21:50|00:01|Comandi |
|13|Lunedi|27|Dicembre|2010|21:50|21:50|00:00|Comandi |
|14|Lunedi|27|Dicembre|2010|21:50|22:20|00:30|Comandi |
|15|Lunedi|27|Dicembre|2010|22:24|22:25|00:01|Comandi |
|16|Lunedi|27|Dicembre|2010|22:26|22:37|00:11|Comandi |
|17|Lunedi|27|Dicembre|2010|23:59|11:36|11:37|Comandi |
|18|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
|19|Martedi|28|Dicembre|2010|11:40|<blink>In corso</blink>||Admin Telefono|
TOTALE: 14:24

Telefoni
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Lunedi|27|Dicembre|2010|23:24|23:25|00:01|Comandi |
|2|Martedi|28|Dicembre|2010|10:10|11:11|01:01|Comandi |
|3|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 01:03

Termostato
|N.|Giorno_sett|Giorno|Mese|Anno|Ora_start|Ora_stop|Ore|Utente|
|1|Martedi|28|Dicembre|2010|11:38|11:39|00:01|Admin |
TOTALE: 00:01

tastiera
2 28 12 2010 09:43:27 nello 11111

tastieraadmin
2 28 12 2010 11:40:45 Apriporta

tastieraerror
2 28 12 2010 11:40:51 8562 tas
2 28 12 2010 11:40:57 1235 tas

telefono
2 28 12 2010 11:37:50 pippo 11111(100)

telefonoadmin
2 28 12 2010 11:38:20 Accenditutto 100
2 28 12 2010 11:39:22 Spegnitutto 100
2 28 12 2010 11:40:05 Riscaldamento 100

telefonoerror
2 28 12 2010 11:40:33 85632(100) tel
----------------------------------------------------------------------------------------

la pagina backup per scaricare le configurazioni


? stato veramente un gran lavoro ma ora ? pronta all'installazione. :-)
C'ho perso un sacco di serate a farla funzionare a dovere, per capire e scoprire come leggere la tastiera in phyton e leggere lo stato dei rel? che per linux non era previsto (o provato con "cats" non presente in openwrt).
Non volendo lasciare programmi in esecuzione con degli sleep e poter fare le programmazioni da un'ora precisa ad un'altra, ho affidato tutto a cron, ma questo mi ha incasinato la vita per il fatto che i vari comandi son possibili per 4 vie diverse (programmazione, comandi web, tastiera e telefono), quindi dar priorit? e permettere ai log di registrarsi in modo corretto.
Detto cos? sembra una cavolata ma non lo ? stata.

22
Firmware (di classe WRT) / Video sorveglianza con openwrt motion su VS
« il: Settembre 22, 2010, 10:09:51 pm »
Stasera ho realizzato un semplice impianto di videosorveglianza wireless del mio eremo con openwrt una Vodafone station, una webcam creative vista (per ora), un allarme sonoro (lo fa partire la solita centralina gpio collegata alla scheda rele), e apoggiandomi al "mio" asterisk, la possibilit? di gestirlo oltre che ricevere una chiamata in caso di allarme. Ho integrato il tutto nella centralina gpio gi? funzionante sulla vs, attraverso la quale, in locale o remoto, si pu? gestire, oltre agli altri comandi, anche l'allarme.
Prima di tutto bisogna installare la webcam usb, la vs dispone di porte usb e di diversi driver ma occhio a scegliere una webcam compatibile, mi sono sfinito a far "quasi" andare 'sta creative e ci sono ancora un bel po' di problemi che spero si risolvano all'allrivo di una "nuova" gi? ordinata.
Per gestirla ho usato "motion", anche lui presente negli opk.
Dopo aver caricato motion, configurare /etc/motion.conf  nella riga riportata (ha molte opzioni, per ora l'ho lascito "tranquillo")...

Codice: [Seleziona]

# Command to be executed when a motion frame is detected (default: none)
on_motion_detected /usr/sbin/allarme.sh

# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
#target_dir /motion


... e creare la cartella /motion. (ho preferito mettere l? per ora le immagini ma sarebbe importante registrarle su un supporto esterno o ancora meglio in remoto con wput o scp)

bene, ora motion ? a posto...

Visto che non sono ancora riuscito a far andare la key come gateway gsm sulla vs per gli allarmi mi sono appoggiato ad un asterisk esterno. per fare questo invio un file che sar? processato da asterisk e far? la chiamata e ,chiamando un numero registrato su asterisk, si pu? gestire motion da remoto. Qui il problema nasce perch? per trasferire il file, usando scp, viene richiesta una password dal server e quindi bisogna creare le chiavi di autenticazione privata/pubblica per bypassare il problema. Openwrt utilizza dropbear e quindi utilizziamo i suoi tool per creare le chiavi. Spostiamoci in /etc/dropbear sulla vs...

Codice: [Seleziona]
dropbearkey -t rsa -f id_rsa

che dar? a video qualcosa del genere...

Codice: [Seleziona]
Will output 1024 bit rsa secret key to 'id_rsa'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCagAvA7/EdxINoRzHoIYDUf4sE24VZZG4N+VHFVDKDrekvCtKDkdmUnbyP8bZqLtH6rSFyLeI1qAeU/cREQcwhsnOTwxesfe1dvZthUnbSfQ9nm7MVRZCUPZO4lAQZ+tW2vFHaoSPE3fSYA3B+ObkygKP8CxzvOsmN4AHklXB0YbRD root@openwrt
Fingerprint: .....................

copiamo la chiave pubblica (da ssh-rsa a root@openwrt compresi) in un file di testo nominandolo "authorized_keys" e andiamo a copiarlo sul server con asterisk in /root/.ssh/ usando uno strumento per trasferirlo come scp o ftp o...

nella cartella ora troveremo pure un file nominato "id_rsa" che rinomineremo in "dropbear_rsa_host_key".


diamo un...
Codice: [Seleziona]
dbclient -f -N -K 60 -L 3306:127.0.0.1:3306 -y -i /etc/dropbear/dropbear_rsa_host_key root@ipserver -p numero_eventuale_porta

ora scp potr? trasferire i file senza passare una pass.

Ho creato poi due file in (usr/sbin con permessi di esecuzione naturalmente, uno per getire motion (motion.sh) da shell e uno (allarme.sh)che manda il file all'asterisk sul server remoto quando motion lo invoca..

Codice: [Seleziona]
root@OpenWrt:/usr/sbin# cat motion.sh
#!/bin/sh
case $1 in
start)
/usr/bin/motion
;;
stop)
PID=`pidof motion`
kill $PID
killall allarme.sh
gpioctl dirin 12
;;
esac

il "gpioctl dirin 12" lo capirete dopo.

Codice: [Seleziona]
root@OpenWrt:/usr/sbin# cat allarme.sh
#!/bin/sh
cat << EOF > /motion/allarme.call
Channel: SIP/202
Callerid: ALLARME
MaxRetries: 2
RetryTime: 20
WaitTime: 20
Context: allarme
Extension: s
Priority: 1
EOF
scp -i /etc/dropbear/dropbear_rsa_host_key /motion/allarme.call root@ip_server:/var/spool/asterisk/outgoing
gpioctl dirout 12
sllep 180
gpioctl dirin 12
exit

Il primo script ? chiaro, "motion.sh start" attiva motion, e "motion.sh stop lo disattiva". "gpioctl dirin 12" spegne la "sirena" collegata alla centralina gpio sul gpio 12.

Il secondo script crea il file "/motion/allarme.call" con il contenuto tra i due EOF e poi lo trasferisce con scp utilizzando le chiavi create prima in "/var/spool/asterisk/outgoing" dove asterisk processa i file che vi trova. il "Channel: SIP/202" corrisponde ad un mio interno, naturalmente si pu? mettere un altro channel che corrisponde ad un vostro numero. "Callerid: ALLARME" ? quello che comparir? sul vostro telefono come mittente della chiamata.

Vediamo ora l'asterisk sul server, ho inserito in extension.conf queste parti...

Codice: [Seleziona]
[macro-allarme]
   exten => s,1,Answer()
   exten => s,n,Read(INPUT|agent-pass|0||3|10)
   exten => s,n,SayDigits(${INPUT})
   exten => s,n,AGI(allarme.sh,${INPUT})
   exten => s,n,Hangup()

exten => numerodachiamare,1,Macro(allarme,205)

[allarme]
   exten => s,1,Set(LANGUAGE()=IT)
   exten => s,n,Answer
   exten => s,n,Wait(2)
   exten => s,n,Playback(allarme)
   exten => s,n,Wait(1)
   exten => s,n,Playback(allarme)
   exten => s,n,Wait(1)
   exten => s,n,Playback(allarme)
   exten => s,n,Wait(1)
   exten => s,n,Playback(allarme)
   exten => s,n,Wait(1)
   exten => s,n,Playback(allarme)
   exten => s,n,Wait(1)
   exten => s,n,Hangup

dove [macro-allarme] chiede una pass (si pu? scegliere tra due codici uno per attivare motion sulla vs e uno per disabilitarlo ) che passa a "allarme.sh" sul server con asterisk (nella cartella /var/lib/asterisk/agi-bin del vostro asterisk). "exten => numerodachiamare,1,Macro(allarme,205)" ? il numero da chiamare sull'asterisk (dev'essere naturalmente registrato) per gestire motion sulla vs. Il file "allarme" chiamato da "Playback" ? quello che una volta creato sentirete alla chiamata.
il file "allarme.sh"...

Codice: [Seleziona]
#!/bin/sh
lynx http://ip_della_vs/cgi-bin/gesallarme.sh?pass=$1
exit

ok sull'asterisk ? tutto. Ritorniamo sulla vs e creiamo il file "/www/cgi-bin/gesallarme.sh" che deve contenere..
Codice: [Seleziona]
root@OpenWrt:/www/cgi-bin# cat gesallarme.sh
#!/usr/bin/webif-page

<?

. /usr/lib/webif/webif.sh
 
#header

file=/etc/centralina/allarme
righe=$(wc -l /etc/centralina/allarme | awk '{print $1}')
passon="$(echo "$riga" | awk '{split ($0, a, " ");print a[1]}')"
passoff="$(echo "$riga" | awk '{split ($0, a, " ");print a[2]}')"

#attiva allarme
if equal $FORM_pass "$passon";then
/usr/bin/motion
fi
#Disattiva allarme
if equal $FORM_pass "$passoff";then
PID=`pidof motion`
kill $PID
killall allarme.sh
gpioctl dirin 12
fi
exit
?>

che va a leggere il file "/etc/centralina/allarme" che contiene i codici per attivare e disattivare motion e se corrispondono a quelli passati dalla telefonata esegue.
Codice: [Seleziona]
root@OpenWrt:~# cat /etc/centralina/allarme
 1111  2222
root@OpenWrt:~#

il primo numero ? il codice di attivazione e il secondo quello di disattivazione.

Ora provo a integrare lo streaming sulla webif....

Consigli??

23
Firmware (di classe WRT) / Openwrt e webcam
« il: Settembre 15, 2010, 03:11:15 pm »
Qualcuno ha installato una webcam su un router con usb usando openwrt? Se si quale?

24
Area Ecologica - Raccolta Differenziata / Come si installano i vari firmware
« il: Settembre 14, 2010, 06:29:12 pm »
Vista la recente discussione tra me e kidy su come installare openwrt su un wrt54gl in un 3d che comunque parla d'altro, mi chiedevo se non fosse il caso di aprire una nuova area di discussione proprio per questo, cio? come si installano i vari firmware dove chi ha fatto esperienza possa postare dei semplici howto. ? vero che si trovano molte info ma spesso sperse in vari 3d e quindi poi continuamente richieste.

25
Firmware (di classe WRT) / da bin a trx
« il: Luglio 21, 2010, 08:07:18 pm »
Forse ? quello che usate gi? da sempre ma io non ne ero a conoscenza...
per trasformare un firmware da formato .bin in formato .trx, comodo per aggiornare i nostri router, ho tovato un consiglio per dd-wrt, cos? l'ho provato anche per openwrt e ha funzionato alla grande...
basta dare
Codice: [Seleziona]
dd if=firmware.bin of=firmware.trx bs=32 skip=1

Naturalmente e come sempre a vostro rischio. :wink:



26
Area Ecologica - Raccolta Differenziata / Jtag senza parallela.
« il: Luglio 13, 2010, 02:46:22 pm »
Naturalmente una porta parallela serve.... ma su un laptop nuovo che si fa...?  a quanto ho letto in giro gli adattatori usb-parallela non funzionano. Io ho un vecchio portatile dell che ha la porta parallela e funziona bene ma volevo metterlo in pensione definitivamente e usare solamente il mio hp pavilion dv6500.

27
Devo acquistare componenti elettronici, resistenze, pcfxxxx, dsxxx, rel?, e roba varia... dove acquistate voi in rete? io ho preso un po' di roba da futurlec e mi son trovato bene ma, ad esempio, non ha tutto quello che mi serve... ci sta un "netek" anche per questo dove si spende poco e si trova il necessario?

28
Ho installato e reinstallato openwrt backfire brcm47xx su un linksys wrt54gl, leggendo che finalmente anche con il kernel 2.6 lo stamaledetto driver wifi dovrebbe funzionare come riportato nel forum ufficiale di openwrt...
Codice: [Seleziona]
b43 wireless driver for Broadcom 11g chipsets on the 2.6 kernel
...
Note: After a long development phase, Broadcom wireless should now be working on brcm47xx, start testing. This would finally move all OpenWrt platforms to current 2.6 kernels.

ma non ? cos?, almeno per me...
A parte qualche errore riportato all'attivazione del driver (wifi up) impostato come client sembra, con iwconfig, funzionare alla grande, si aggancia all'ap ma non si riesce neppure a pingarlo. in Ap mode con il portatile, pur vedendolo, non si aggancia.
Qualcuno l'ha installato?
Vorrei utilizzare il kernel 2.6 perch? permette la gestione dell'i2c.

29
Area Ecologica - Raccolta Differenziata / 2999 utenti!!!
« il: Giugno 20, 2010, 02:38:31 pm »
hei ragazzi mi ? scappato l'occhio (non per niente l'ultimo registrato ? polifemo  :-D) e ho notato che siamo a 2999 utenti... mica balle! Mi sembra un bel numero. La famiglia si ingrandisce sempre pi?, a un passo dai 3000.

30
Area Ecologica - Raccolta Differenziata / Mappe Radio Mobile
« il: Giugno 06, 2010, 04:51:55 pm »
? un bel po' che non riesco a scaricare le mappe per radio mobile dalla nasa. Ci son problemi?

Pagine: 1 [2] 3 4