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.


Post - lupin73

Pagine: 1 [2] 3 4 ... 9
16
Si quello che devo fare... Visto che ormai devo ricompilare Mi potreste dire se ci sono altri pacchetti che ? preferibile metterli direttamente quando compilo??

Io ora ho intenzione di impostare brcm 63xxx, atheros wifi, luci, kmod-usbochi/storage/uchi/usb2  ..

PS: ma cosa cambia se al posto di svn co svn://svn.openwrt.org/openwrt/trunk/
      uso questo svn co svn://svn.openwrt.org/openwrt/branches/backfire ??

Grazie Mille ancora.. vi far? sapere
Per quanto riguarda i pacchetti la cosa ? soggettiva nel senso che prima di compilare ti devi chiedere cosa ti serve effettivamente sulla distro (lo spazio a disposizione non ? illimitato).
Per il resto la branch ? quella pi? stabile mentre il trunk contiene dei sorgenti e delle patch ancora in via di test e sviluppo
http://wiki.openwrt.org/doc/howto/buildroot.exigence

17
Sembra un errore di dipendenze anche se il kernel sembra quello corretto, forse ? quel -1 che fa la differenza  :roll:
Perch? non provi a ricompilare il tutto compreso il pacchetto kmod-usb2 piuttosto d'installarlo dopo?

18
Firmware (di classe WRT) / Re: Domotica con openwrt su x86
« il: Maggio 14, 2012, 10:18:34 am »
Ciao mi spieghi la funzione del potincello (nella scheda rel?) fra la fase e il comune dei due rel??

Molto semplice, si tratta del rel? 2 e 3 (in questo caso) e servono per il riscaldamento. In  pratica funzionano come uno solo e attivano la pompa solo se tutti e due sono chiusi.
Il 2  attiva il riscaldamento ( e sull'interfaccia si vede che ? acceso) il secondo ? collegato al termometro e si chiude solo se la temperatura ? minore di quella impostata. Quindi nell'interfaccia si pu? controllare se il riscaldamento ? attivo e se la pompa ? in funzione o meno.
Chiaro grazie  :wink:

19
Firmware (di classe WRT) / Re: Domotica con openwrt su x86
« il: Maggio 10, 2012, 03:22:32 pm »
Ciao mi spieghi la funzione del potincello (nella scheda rel?) fra la fase e il comune dei due rel

20
Firmware (di classe WRT) / Re: OpenWrt su alice gate gate 2 plus wifi
« il: Aprile 19, 2012, 11:47:05 am »
Openwrt deve essere caricato tramite seriale non puoi farlo tramite interfaccia web.
Guarda qua http://www.hacklabproject.org/drupal/content/openwrt-sullalice-gate-voip-2-plus-wi-fi-agpf
Su nabuk trovi tutto il resto! (come creare il cavo per la seriale, settaggi, etc)

21
Area Ecologica - Raccolta Differenziata / Re: Nina ringrazia Openwrt
« il: Aprile 11, 2012, 12:25:49 pm »
Bella truthahn  :lol:

22
Area Ecologica - Raccolta Differenziata / Re: Auguri!!! Buona Pasqua
« il: Aprile 10, 2012, 11:38:01 am »
Auguri a tutti anche se in ritardo.

23
Elettronica & AP / Re: Centralina controllo GPIO con wrt54gl e openwrt
« il: Aprile 10, 2012, 11:37:09 am »
Perfetto lupin73, funziona a meraviglia. Io l'ho utilizzato solo per la temperatura interna ed esterna. Per altri, utilizzo del centro utenti, ho utilizzato i google chart tool anche loro veramente ottimi.
Bene  sono contento  :-D

24
Elettronica & AP / Re: Centralina controllo GPIO con wrt54gl e openwrt
« il: Marzo 26, 2012, 06:08:22 pm »
prosegue da sopra....
Quindi ho creato /www/cgi-bin/webif/centralina/temperature.sh
Codice: [Seleziona]
#!/usr/bin/webif-page
<?
. /usr/lib/webif/webif.sh

#
############################################################################
#
# Descrizione:
# Mostra i grafici delle temperature
#
#
#               lupin73 --->Nabuk<----
#############################################################################
header "Info" "System" "<img src=\"/images/Temp.gif\">@TR<< Temperature >>"
indirizzo="$(uci get network.lan.ipaddr)"
#############################################################################
echo "temp" > /etc/centralina/storico_check.ini
img="/temperature.png"

pidowread=`pidof owread`
if equal $pidowread "";then
temp1=`/mnt/sda2/usb/usr/bin/owread /28.08A696030000/temperature`
temp1=$(printf "%1.1f" $temp1)
else
echo "<center><strong>Aggiornamento database in corso!</strong><br>Al termine verrà creato il grafico!"
while [ "$pidowread" != "" ]; do
sleep 1
pidowread=`pidof owread`
done
fi

pidowread=`pidof owread`
if equal $pidowread "";then
temp2=`/mnt/sda2/usb/usr/bin/owread /28.CBDE96030000/temperature`
temp2=$(printf "%1.1f" $temp2)
else
echo "<center><strong>Aggiornamento database in corso!</strong><br>Al termine verrà creato il grafico!"
while [ "$pidowread" != "" ]; do
sleep 1
pidowread=`pidof owread`
done
fi

pidowread=`pidof owread`
if equal $pidowread "";then
temp3=`/mnt/sda2/usb/usr/bin/owread /28.92AF96030000/temperature`
temp3=$(printf "%1.1f" $temp3)
else
echo "<center><strong>Aggiornamento database in corso!</strong><br>Al termine verrà creato il grafico!"
while [ "$pidowread" != "" ]; do
sleep 1
pidowread=`pidof owread`
done
fi

pidowread=`pidof owread`
if equal $pidowread "";then
temp4=`/mnt/sda2/usb/usr/bin/owread /28.D6CF96030000/temperature`
temp4=$(printf "%1.1f" $temp4)
else
echo "<center><strong>Aggiornamento database in corso!</strong><br>Al termine verrà creato il grafico!"
while [ "$pidowread" != "" ]; do
sleep 1
pidowread=`pidof owread`
done
fi

if equal $FORM_grafici "Seleziona_data" || equal $FORM_tipo_grafici "Seleziona_ambiente" ;then
echo "<center><strong>ATTENZIONE!</strong><br>Devi selezionare almeno una data e un tipo per generare il grafico!"
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"3000")
</script>
EOF

else

if equal $FORM_grafici "1_ora";then
echo  $FORM_grafici > /etc/storico.ini
rm /mnt/sda2/usb/database_rrdtool/temperature.png
echo "<center><img src=\"../../../images/clessidra.gif\">"
echo "<center>Attendi per favore sto creando il grafico!"
/usr/sbin/sensori.sh 1 h 1 $FORM_tipo_grafici > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"1500")
</script>
EOF
fi

if equal $FORM_grafici "6_ore";then
echo  $FORM_grafici > /etc/storico.ini
rm /mnt/sda2/usb/database_rrdtool/temperature.png
echo "<center><img src=\"../../../images/clessidra.gif\">"
echo "<center>Attendi per favore sto creando il grafico!"
/usr/sbin/sensori.sh 6 h 2 $FORM_tipo_grafici > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"1500")
</script>
EOF
fi

if equal $FORM_grafici "12_ore";then
echo  $FORM_grafici > /etc/storico.ini
rm /mnt/sda2/usb/database_rrdtool/temperature.png
echo "<center><img src=\"../../../images/clessidra.gif\">"
echo "<center>Attendi per favore sto creando il grafico!"
/usr/sbin/sensori.sh 12 h 3 $FORM_tipo_grafici  > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"1500")
</script>
EOF
fi

if equal $FORM_grafici "24_ore";then
echo  $FORM_grafici > /etc/storico.ini
rm /mnt/sda2/usb/software/database_rrdtool/temperature.png
echo "<center><img src=\"../../../images/clessidra.gif\">"
echo "<center>Attendi per favore sto creando il grafico!"
/usr/sbin/sensori.sh 24 h 4 $FORM_tipo_grafici > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"1500")
</script>
EOF
fi

if equal $FORM_grafici "1_settimana";then
echo  $FORM_grafici > /etc/storico.ini
rm /mnt/sda2/usb/database_rrdtool/temperature.png
echo "<center><img src=\"../../../images/clessidra.gif\">"
echo "<center>Attendi per favore sto creando il grafico!"
/usr/sbin/sensori.sh 1 w 5 $FORM_tipo_grafici > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"1500")
</script>
EOF
fi

if equal $FORM_grafici "1_mese";then
echo  $FORM_grafici > /etc/storico.ini
rm /mnt/sda2/usb/database_rrdtool/temperature.png
echo "<center><img src=\"../../../images/clessidra.gif\">"
echo "<center>Attendi per favore sto creando il grafico!"
/usr/sbin/sensori.sh 1 m 6 $FORM_tipo_grafici > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"1500")
</script>
EOF
fi

if equal $FORM_grafici "1_anno";then
echo  $FORM_grafici > /etc/storico.ini
rm /mnt/sda2/usb/database_rrdtool/temperature.png
echo "<center><img src=\"../../../images/clessidra.gif\">"
echo "<center>Attendi per favore sto creando il grafico!"
/usr/sbin/sensori.sh 1 y 7 $FORM_tipo_grafici > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/temperature.sh\"',"1500")
</script>
EOF
fi

cat <<EOF
<script type="text/javascript">
function show_confirm()
{
var r=confirm(" Questa operazione per intervalli superiori\n ad un mese può durare molti minuti!\n  Vuoi continuare?");
if (r==true)
  {
window.open('http://$indirizzo/cgi-bin/webif/centralina/storico.sh?id=`cat /etc/storico.ini`','finestra','width=600,height=400, scrollbars=yes,top=200,right=50');
  }
else
  {
  alert("Se avevi altro da fare hai fatto una scelta saggia!\n:)");
  }
}
</script>


<center><table>
   <tr>
      <td><a onclick="show_confirm()"><img src="$img" title="Fai click per visualizzare lo storico"></a></td>
   </tr>
</table>
EOF

cat <<EOF
<form method="get" action="temperature.sh">
<select name="grafici" >
EOF

for n in 1_ora 6_ore 12_ore 24_ore 1_settimana 1_mese 1_anno Seleziona_data;do
cat <<EOF
   <option value="$n" selected="selected">$n</option>
EOF
done

cat <<EOF
</select>
        <select name="tipo_grafici">
EOF

for n in Tutti Interno Esterno Boiler Freezer Seleziona_ambiente;do
cat <<EOF

<option value="$n" selected="selected">$n</option>
EOF
done

cat <<EOF
<input type="submit" name="$n" value="Crea">
</select>
</form>
<br><br>
EOF

display_form <<EOF
start_form|@TR<<Lettura sensori>>
end_form
EOF
cat <<EOF
<tr><td><center><strong><font size="2">Interno=</td><font color="#0000FF">$temp4°</font><td>&nbsp&nbspEsterno=<font color="#FF4500">$temp3°</font>&nbsp&nbspBoiler=<font color="#00FF00">$temp2°</font>&nbsp&nbspFreezer=<font color="#FFBC14:">$temp1°</font></tr></td>
<br><br>
EOF
fi

footer
?>

che visualizza il grafico in base al tempo selezionato.
Volevo avere anche un controllo più particolareggiato dei dati del database e quindi ho creato una pagina html che mi visualizzi lo storico delle temperature cliccando sull'immagine del grafico e che potesse essere stampato.
Ho creato quindi /usr/sbin/crea_storico.sh che mi costruisce la tabella che verrà visualizzata nella webif (n.b. ho utilizzato bash per operare sugli array)
Codice: [Seleziona]
#!/bin/bash
#Pulisco la ram
ram_hot="$(free | grep "Mem" | awk '{ print $3 }')"
if [ $ram_hot -ge 25000 ];then
     sync; echo 3 > /proc/sys/vm/drop_caches
fi
 
case $1 in
     "1_ora")
         R=5
         S="-1h"
         leg="ultima ora"
     ;;
     
     "6_ore")
         R=5
         S="-6h"
         leg="ultime 6 ore"
     ;;

     "12_ore")
         R=5
         S="-12h"
         leg="ultime 12 ore"
      ;;

     "24_ore")
         R=5
         S="-24h"
         leg="ultime 24 ore"
      ;;

     "1_settimana")
         R=60
         S="-1w"
         leg="ultima settimana"
      ;;

     "1_mese")
         R=60
         S="-1m"
         leg="ultimo mese"

      ;;

     "1_anno")
         R=60
         S="-1y"
         leg="ultimo anno"   
esac


cal_exp ()
      {

          case $1 in

              "+00")
                  S=$(echo "scale=3; $2*1.00" | bc)
              ;;

              "+01")
                  S=$(echo "scale=3; $2*10.00" | bc)

              ;;

              "+02")
                  S=$(echo "scale=3; $2*100.00" | bc)
              ;;

              "+03")
                  S=$(echo "scale=3; $2*1000.00" | bc)
          esac
          return
      }

case $2 in
"temp")
SOURCE="/mnt/sda2/usb/database_rrdtool/temperatura.rrd"
declare  DATA=(`rrdtool fetch $SOURCE  AVERAGE -r $R -s $S |  awk '{ print $1 }' | sed -e 's/://' | cut -f 1 -de | tail -n +2`)
declare  S1=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S | awk '{ print $2 }' | cut -f 1 -de | tail -n +2`)
declare  S2=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S  | awk '{ print $3 }' | cut -f 1 -de | tail -n +2`)
declare  S3=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S  | awk '{ print $4 }' | cut -f 1 -de | tail -n +2`)
declare  S4=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S  | awk '{ print $5 }' | cut -f 1 -de | tail -n +2`)
declare  EXP1=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S  | awk '{ print $2 }' | cut -f 2 -de | tail -n +2`)
declare  EXP2=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S | awk '{ print $3 }' | cut -f 2 -de | tail -n +2`)
declare  EXP3=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S | awk '{ print $4 }' | cut -f 2 -de | tail -n +2`)
declare  EXP4=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S | awk '{ print $5 }' | cut -f 2 -de | tail -n +2`)
declare  TESTA=(Data Interno Boiler Esterno Freezer)
ld=$((${#DATA[@]}-2))
start=0
end=5
echo "<TR>"
echo "<td colspan="5" align="center" valign="middle">"
echo "<b>Storico $leg</b>"
echo "</TR>"
echo "<TR>"

for n in $(seq 1 $end); do
echo "<TD><CENTER>${TESTA[$n-1]}</CENTER></TD>"
done

for i in $(seq $start $ld); do
    if [ $n -eq $end ];then
         echo "</TR>"
         echo "<TR>"
    fi

    EPOCH=${DATA[$i]}
    DATA=$(awk "BEGIN {print strftime(\"%c\",$EPOCH)}")
    S1=$(printf "%1.3f" ${S1[$i]})
    S2=$(printf "%1.3f" ${S2[$i]})
    S3=$(printf "%1.3f" ${S3[$i]})
    S4=$(printf "%1.3f" ${S4[$i]})
    #for k in 1 2 3 4; do
    #    S[k]=$(printf "%1.3f" ${S[k][$i]})
    #done
    EX1=${EXP1[$i]}
    EX2=${EXP2[$i]}
    EX3=${EXP3[$i]}
    EX4=${EXP4[$i]}


    for n in $(seq 1 $end); do
        if [ $n -eq 1 ] && [ "DATA" != "nan" ] && [ "$S1" != "nan" ] && [ "$S2" != "nan" ] && [ "$S3" != "nan" ] && [ "$S4" != "nan" ];then
             echo "<TD><CENTER>$DATA</CENTER></TD>"
        fi

        if [ $n -eq 2 ] && [ "$S1" != "nan" ];then
      S=$S1
      cal_exp $EX1 $S
              echo "<TD><CENTER>$S</CENTER></TD>"
        fi

        if [ $n -eq 3 ] && [ "$S2" != "nan" ];then
     S=$S2
     cal_exp $EX2 $S
             echo "<TD><CENTER>$S</CENTER></TD>"
        fi

        if [ $n -eq 4 ] && [ "$S3" != "nan" ];then
     S=$S3
     cal_exp $EX3 $S
             echo "<TD><CENTER>$S</CENTER></TD>"
        fi

        if [ $n -eq 5 ] && [ "$S4" != "nan" ];then
     S=$S4
     cal_exp $EX4 $S
             echo "<TD><CENTER>$S</CENTER></TD>"
        fi
    done

    if [ $i -eq $ld ];then
         echo "</TR>"
    fi
done
;;

"pot")
SOURCE="/mnt/sda2/usb/database_rrdtool/powerw.rrd"
declare  DATA=(`rrdtool fetch $SOURCE  AVERAGE -r $R -s $S |  awk '{ print $1 }' | sed -e 's/://' | cut -f 1 -de | tail -n +2`)
declare  S1=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S | awk '{ print $2 }' | cut -f 1 -de | tail -n +2`)
declare  EXP1=(`rrdtool fetch $SOURCE AVERAGE -r $R  -s $S  | awk '{ print $2 }' | cut -f 2 -de | tail -n +2`)
declare  TESTA=(Data Watt)
ld=$((${#DATA[@]}-2))
start=0
end=2
echo "<TR>"
echo "<td colspan="5" align="center" valign="middle">"
echo "<b>Storico $leg</b>"
echo "</TR>"
echo "<TR>"

for n in $(seq 1 $end); do
echo "<TD><CENTER>${TESTA[$n-1]}</CENTER></TD>"
done

for i in $(seq $start $ld); do
    if [ $n -eq $end ];then
         echo "</TR>"
         echo "<TR>"
    fi

    EPOCH=${DATA[$i]}
    DATA=$(awk "BEGIN {print strftime(\"%c\",$EPOCH)}")
    S1=$(printf "%1.3f" ${S1[$i]})
    EX1=${EXP1[$i]}
   


    for n in $(seq 1 $end); do
        if [ $n -eq 1 ] && [ "DATA" != "nan" ] && [ "$S1" != "nan" ] && [ "$S2" != "nan" ] && [ "$S3" != "nan" ] && [ "$S4" != "nan" ];then
             echo "<TD><CENTER>$DATA</CENTER></TD>"
        fi

        if [ $n -eq 2 ] && [ "$S1" != "nan" ];then
                      S=$S1
                      cal_exp $EX1 $S
              echo "<TD><CENTER>$S</CENTER></TD>"
        fi

    done

    if [ $i -eq $ld ];then
         echo "</TR>"
    fi
done
esac
sync; echo 3 > /proc/sys/vm/drop_caches
exit 0

N.B Questo script mi crea anche lo storico dei kw ma questo lo vedremo prossimamente.

La pagina che visualizzerà lo storico:
Codice: [Seleziona]
#!/usr/bin/webif-page
<?
. /usr/lib/webif/webif.sh
cat <<EOF
Content-Type: text/html; charset=UTF-8
Pragma: no-cache

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<script type="text/javascript">
function load()
{
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/storico.sh\"',"0")
}

function alertMsg()
{
document.write("<center><img src=\"../../../images/clessidra_storico.gif\">");
document.write("<center>Attendi per favore sto leggendo i dati!");
document.write("<center>Per intervalli di tempo superiori ad 1 mese può richiedere circa 15 minuti!");
document.write("<center>NON CHIUDERE LA FINESTRA!")
}

function timeMsg()
{
var t=setTimeout("alertMsg()",0);
}
</script>
</head>
EOF
indirizzo_test="$(echo $HTTP_REFERER | awk 'BEGIN { FS="/" } { print $3 }')"
if equal $indirizzo_test "127.0.0.1:12345" ; then
indirizzo="127.0.0.1"
else
indirizzo="$indirizzo_test"
fi
#check_s="`cat /etc/centralina/storico_check.ini`"
if equal $GET_id "1_ora"; then
cat <<EOF
<script language="JavaScript" type="text/javascript">
alertMsg()
</script>
<body onload="load()">
EOF
check_s="`cat /etc/centralina/storico_check.ini`"
/usr/sbin/crea_storico.sh $GET_id $check_s > /etc/tabella_storico
fi

if equal $GET_id "6_ore"; then
cat <<EOF
<script language="JavaScript" type="text/javascript">
alertMsg()
</script>
<body onload="load()">
EOF
check_s="`cat /etc/centralina/storico_check.ini`"
/usr/sbin/crea_storico.sh $GET_id $check_s > /etc/tabella_storico
fi

if equal $GET_id "12_ore"; then
cat <<EOF
<script language="JavaScript" type="text/javascript">
alertMsg()
</script>
<body onload="load()">
EOF
check_s="`cat /etc/centralina/storico_check.ini`"
/usr/sbin/crea_storico.sh $GET_id $check_s > /etc/tabella_storico
fi

if equal $GET_id "24_ore"; then
cat <<EOF
<script language="JavaScript" type="text/javascript">
alertMsg()
</script>
<body onload="load()">
EOF
check_s="`cat /etc/centralina/storico_check.ini`"
/usr/sbin/crea_storico.sh $GET_id $check_s > /etc/tabella_storico
fi


if equal $GET_id "1_settimana"; then
cat <<EOF
<script language="JavaScript" type="text/javascript">
alertMsg()
</script>
<body onload="load()">
EOF
/usr/sbin/crea_storico.sh $GET_id > /etc/tabella_storico
fi


if equal $GET_id "1_mese"; then
cat <<EOF
<script language="JavaScript" type="text/javascript">
alertMsg()
</script>
<body onload="load()">
EOF
check_s="`cat /etc/centralina/storico_check.ini`"
/usr/sbin/crea_storico.sh $GET_id $check_s > /etc/tabella_storico
fi

if equal $GET_id "1_anno"; then
cat <<EOF
<script language="JavaScript" type="text/javascript">
alertMsg()
</script>
<body onload="load()">
EOF
check_s="`cat /etc/centralina/storico_check.ini`"
/usr/sbin/crea_storico.sh $GET_id $check_s > /etc/tabella_storico
fi


cat <<EOF
<script type="text/javascript">
function printpage()
{
window.print();
}
</script>
<input type="button" value="Stampa" onclick="printpage()" /><br><br>
EOF

echo "<CENTER><TABLE BORDER=1  BORDERCOLOR="#000000" CELLPADDING=2 CELLSPACING=0>"
echo "`cat /etc/tabella_storico`"
echo "</TABLE>"
echo "</body>"
echo "</html>"

?>
<!--
-->

</html>

Scusate eventuali errori ma sono andato di fretta e comunque il progetto è ancora in fase di sviluppo, quando troverò un altro po' di tempo posterò la parte relativa al contatore elettrico.

25
Elettronica & AP / Re: Centralina controllo GPIO con wrt54gl e openwrt
« il: Marzo 26, 2012, 05:51:45 pm »
Per quanto riguarda la creazione dei grafici ho utilizzato il pacchetto di openwrt rrdtool.
Per prima cosa bisogna creare i database che anche se sono di tipo round robin (occupano poco spazio) ho preferito posizionarli su una partizione su chiave usb.
Ho voluto creare un database che che mi permettesse di visualizzare le temperature dell'ultima ora, ultime 6 ore, ultime 12 ore, ultime 24 ore, 1 settimana, 1 mese ed ultimo anno.
Per ottenere ciò ho creato il database con il seguente comando (nella partizione usb che ho chiamato "database_rrdtool"):
Codice: [Seleziona]
rrdtool create temperatura.rrd --start N --step 300 \
DS:temp_sensore1:GAUGE:900:U:U  \
DS:temp_sensore2:GAUGE:900:U:U  \
DS:temp_sensore3:GAUGE:900:U:U  \
DS:temp_sensore4:GAUGE:900:U:U  \
RRA:AVERAGE:0.5:1:12 \
RRA:AVERAGE:0.5:1:72 \
RRA:AVERAGE:0.5:1:144 \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:12:720  \
RRA:MAX:0.5:1:12 \
RRA:MAX:0.5:1:72 \
RRA:MAX:0.5:1:144 \
RRA:MAX:0.5:1:288 \
RRA:MAX:0.5:12:168  \
RRA:MAX:0.5:12:720 \
RRA:MIN:0.5:1:12 \
RRA:MIN:0.5:1:72 \
RRA:MIN:0.5:1:144 \
RRA:MIN:0.5:1:288 \
RRA:MIN:0.5:12:168  \
RRA:MIN:0.5:12:720 \
RRA:LAST:0.5:1:12 \
RRA:LAST:0.5:1:72 \
RRA:LAST:0.5:1:144 \
RRA:LAST:0.5:1:288 \
RRA:LAST:0.5:12:168  \
RRA:LAST:0.5:12:720
Le temperature verranno immagazzinati ogni 5 minuti nel database temperatura.rrd (per maggiori chiarimenti http://oss.oetiker.ch/rrdtool/
I sensori saranno letti come accennato qualche post prima tramite bus 1-wire e con il pacchetto owfs che crea un filesytem che permette di leggerli con un semplice "cat /mnt/sda2/usb/1-wire/28.D6CF96030000/temperature" (x esempio nel mio caso).Sarà più chiaro nei prossimi script (spero).
Per popolare il database ho creato lo script in /usr/sbin/agg_generale.sh che legge le temperature e messo nel crontab per essere esguito ogni 5 minuti.
Codice: [Seleziona]
#!/bin/bash
if [ -f /mnt/sda2/usb/1-wire/1D.B6CC0F000000/counters.A ]; then
minute=`date +%M`
hour=`date +%H`
day=`date +%d`
week=`date +%u`
month=`date +%m`
year=`date +%y`
SOURCE="/mnt/sda2/usb/database_rrdtool"
WIRE_C=`cat /mnt/sda2/usb/1-wire/1D.B6CC0F000000/counters.A &`
wait
WIRE_S1=`cat /mnt/sda2/usb/1-wire/28.D6CF96030000/temperature &`
wait
WIRE_S2=`cat /mnt/sda2/usb/1-wire/28.CBDE96030000/temperature &`
wait
WIRE_S3=`cat /mnt/sda2/usb/1-wire/28.92AF96030000/temperature &`
wait
WIRE_S4=`cat /mnt/sda2/usb/1-wire/28.08A696030000/temperature &`
wait
DB_DAY="powerkw_day.rrd"
DB_WEEK="powerkw_week.rrd"
DB_MONTH="powerkw_month.rrd"
DB_YEAR="powerkw_year.rrd"
DB_5YEAR="powerkw_5years.rrd"
RRD_H_D_W_M_Y="/etc/centralina/rrd_h_w_m_y.ini"
MEMORY="/etc/centralina/lettura_pre_prova.ini"
cd $SOURCE

######### Aggiorno db sensori temperatura ########
     temp_sensore1=$(printf "%1.1f" $WIRE_S1)
     temp_sensore2=$(printf "%1.1f" $WIRE_S2)
     temp_sensore3=$(printf "%1.1f" $WIRE_S3)
     temp_sensore4=$(printf "%1.1f" $WIRE_S4)
     rrdtool update temperatura.rrd N:$temp_sensore1:$temp_sensore2:$temp_sensore3:$temp_sensore4
 

if [ -e $MEMORY ] || [ -e $RRD_H_D_W_M_Y ]; then
     ########### Calcolo  potenza e aggiorno db ###########
     lettura_pre=$(sed -n '1p' $MEMORY)   
     lettura=$WIRE_C   
     impulsi_eff=$((lettura-lettura_pre))   
     sed -i '1c\'"$lettura"'' $MEMORY
     potenza=$(echo "scale=2; $impulsi_eff / 2" | bc | sed 's/^\./0./')
     power=$(echo "scale=2; $potenza / 0.0833" | bc | sed 's/^\./0./')
     rrdtool update powerw.rrd N:$power
           
     ############# Controllo se devo aggiornare db contatore kwh (h,m,w,y) ################
     check_h=$(sed -n '1p' $RRD_H_D_W_M_Y)
     #echo $check_h       
     check_d=$(sed -n '2p' $RRD_H_D_W_M_Y)
     #echo $check_d   
     check_w=$(sed -n '3p' $RRD_H_D_W_M_Y)
     #echo $check_w
     check_m=$(sed -n '4p' $RRD_H_D_W_M_Y)
     #echo $check_m   
     check_y=$(sed -n '5p' $RRD_H_D_W_M_Y)
     #echo $check_y
         
     if [ "$check_h" != "$hour" ]; then
           lettura_pre=$(sed -n '2p' $MEMORY)
           lettura=$WIRE_C
           impulsi_eff=$((lettura-lettura_pre))
           consumo=$(echo "scale=2; $impulsi_eff / 2000" | bc | sed 's/^\./0./')
           sed -i '1c\'"$hour"'' $RRD_H_D_W_M_Y
           sed -i '2c\'"$lettura"'' $MEMORY
           rrdtool update $DB_DAY N:$consumo
           #echo "Aggiorno db contatore consumo giornaliero"         
     fi

     if [ "$check_d" != "$day" ]; then
           lettura_pre=$(sed -n '3p' $MEMORY)
           lettura=$WIRE_C
           impulsi_eff=$((lettura-lettura_pre))
           consumo=$(echo "scale=2; $impulsi_eff / 2000" | bc | sed 's/^\./0./')
           sed -i '2c\'"$day"'' $RRD_H_D_W_M_Y
           sed -i '3c\'"$lettura"'' $MEMORY
           rrdtool update $DB_WEEK N:$consumo
           #echo "Aggiorno db contatore potenza consumo settimanale"
     fi           
     
     if [ "$check_w" != "$week" ]; then
           lettura_pre=$(sed -n '4p' $MEMORY)
           lettura=$WIRE_C
           impulsi_eff=$((lettura-lettura_pre))
           potenza=$(echo "scale=2; $impulsi_eff / 2000" | bc | sed 's/^\./0./')
           sed -i '3c\'"$week"'' $RRD_H_D_W_M_Y
           sed -i '4c\'"$lettura"'' $MEMORY
           rrdtool update $DB_MONTH N:$consumo
           #echo "Aggiorno db contatore potenza consumo mensile"
     fi           

     if [ "$check_m" != "$month" ]; then
           lettura_pre=$(sed -n '5p' $MEMORY)
           lettura=$WIRE_C
           impulsi_eff=$((lettura-lettura_pre))
           consumo=$(echo "scale=2; $impulsi_eff / 2000" | bc | sed 's/^\./0./')
           sed -i '4c\'"$month"'' $RRD_H_D_W_M_Y
           sed -i '5c\'"$lettura"'' $MEMORY
           rrdtool update $DB_YEAR N:$consumo
           #echo "Aggiorno db contatore potenza consumo annuale"
     fi           

     if [ "$check_y" != "$year" ]; then
           lettura_pre=$(sed -n '6p' $MEMORY)
           lettura=$WIRE_C
           impulsi_eff=$((lettura-lettura_pre))
           consumo=$(echo "scale=2; $impulsi_eff / 2000" | bc | sed 's/^\./0./')
           sed -i '5c\'"$year"'' $RRD_H_D_W_M_Y
           sed -i '6c\'"$lettura"'' $MEMORY
           rrdtool $DB_5YEAR N:$consumo
           #echo "Aggiorno db contatore potenza consumo 5 anni"
     fi           

else   
      #### Inizializzo impulsi e date ####
      for i in 1 2 3 4 5 6; do
          echo $WIRE_C >>  $MEMORY
      done

      for i in $hour $day $week $month $year; do
          echo $i  >> $RRD_H_D_W_M_Y
      done
fi
fi
exit 0

In realtà questo script aggiorna anche gli altri database (kw e kwh).
Per i soli sensori di temperature il codice è il seguente:
Codice: [Seleziona]
SOURCE="/mnt/sda2/usb/database_rrdtool"
WIRE_S1=`cat /mnt/sda2/usb/1-wire/28.D6CF96030000/temperature &`
wait
WIRE_S2=`cat /mnt/sda2/usb/1-wire/28.CBDE96030000/temperature &`
wait
WIRE_S3=`cat /mnt/sda2/usb/1-wire/28.92AF96030000/temperature &`
wait
WIRE_S4=`cat /mnt/sda2/usb/1-wire/28.08A696030000/temperature &`
wait
cd $SOURCE

######### Aggiorno db sensori temperatura ########
     temp_sensore1=$(printf "%1.1f" $WIRE_S1)
     temp_sensore2=$(printf "%1.1f" $WIRE_S2)
     temp_sensore3=$(printf "%1.1f" $WIRE_S3)
     temp_sensore4=$(printf "%1.1f" $WIRE_S4)
     rrdtool update temperatura.rrd N:$temp_sensore1:$temp_sensore2:$temp_sensore3:$temp_sensore4

Nel crontab:
Codice: [Seleziona]
root@OpenWrt:/usr/sbin# crontab -l
 */5 * * * *  /usr/sbin/agg_generale.sh

Ok adesso il database verrà popolato.

Per creare i grafici ho creato lo script "/usr/sbin/sensori.sh":
Codice: [Seleziona]
#!/bin/bash

#Pulisco la ram
ram_hot="$(free | grep "Mem" | awk '{ print $3 }')"
if [ $ram_hot -ge 25000 ];then
     sync; echo 3 > /proc/sys/vm/drop_caches
fi

#Percorso su pendrive usb
data="/mnt/sda2/usb/database_rrdtool"
cd $data
start=$1
start1=$2
titolo[1]="Variazione ultima ora"
titolo[2]="Variazione ultime 6 ore"
titolo[3]="Variazione ultime 12 ore"
titolo[4]="Variazione ultime 24 ore"
titolo[5]="Variazione ultima settimana"
titolo[6]="Variazione ultimo mese"
titolo[7]="Variazione ultimo anno"

case $4 in
Tutti)
rrdtool graph temperature.png \
--start -$start$start1 --slope-mode \
-h 400 -w 700 \
--vertical-label "Temperatura [C°]"  \
--y-grid 2:1 \
-t "${titolo[$3]}" \
-c "BACK#000000" \
-c "SHADEA#757373" \
-c "SHADEB#757373" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "ARROW#FFFFFF" \
DEF:intMedia=temperatura.rrd:temp_sensore1:AVERAGE \
DEF:intMin=temperatura.rrd:temp_sensore1:MIN \
DEF:intMax=temperatura.rrd:temp_sensore1:MAX \
DEF:intCorrente=temperatura.rrd:temp_sensore1:LAST \
DEF:boilerMedia=temperatura.rrd:temp_sensore2:AVERAGE \
DEF:boilerMin=temperatura.rrd:temp_sensore2:MIN \
DEF:boilerMax=temperatura.rrd:temp_sensore2:MAX \
DEF:boilerCorrente=temperatura.rrd:temp_sensore2:LAST \
DEF:estMedia=temperatura.rrd:temp_sensore3:AVERAGE \
DEF:estMin=temperatura.rrd:temp_sensore3:MIN \
DEF:estMax=temperatura.rrd:temp_sensore3:MAX \
DEF:estCorrente=temperatura.rrd:temp_sensore3:LAST \
DEF:freMedia=temperatura.rrd:temp_sensore4:AVERAGE \
DEF:freMin=temperatura.rrd:temp_sensore4:MIN \
DEF:freMax=temperatura.rrd:temp_sensore4:MAX \
DEF:freCorrente=temperatura.rrd:temp_sensore4:LAST \
COMMENT:"   \n" \
LINE2:intCorrente#0000FF:"Interno" \
GPRINT:intMedia:AVERAGE:"  Media\: %5.2lf%s\t" \
GPRINT:intMax:MAX:"   Max\: %5.2lf%s\t" \
GPRINT:intMin:MIN:"   Min\: %5.2lf%s\t" \
GPRINT:intCorrente:LAST:"   Ultima\: %5.2lf%s\t" \
COMMENT:"   \n" \
LINE2:boilerCorrente#00BC14:"Boiler" \
GPRINT:boilerMedia:AVERAGE:"   Media\: %5.2lf%s\t" \
GPRINT:boilerMax:MAX:"    Max\: %5.2lf%s\t" \
GPRINT:boilerMin:MIN:"    Min\: %5.2lf%s\t" \
GPRINT:boilerCorrente:LAST:"    Ultima\: %5.2lf%s\t" \
COMMENT:"   \n" \
LINE2:estCorrente#FF0000:"Esterno" \
GPRINT:estMedia:AVERAGE:"  Media\: %5.2lf%s\t" \
GPRINT:estMax:MAX:"   Max\: %5.2lf%s\t" \
GPRINT:estMin:MIN:"   Min\: %5.2lf%s\t" \
GPRINT:estCorrente:LAST:"   Ultima\: %5.2lf%s\t" \
COMMENT:"   \n" \
LINE2:freCorrente#FFBC14:"Freezer" \
GPRINT:freMedia:AVERAGE:"  Media\: %5.2lf%s\t" \
GPRINT:freMax:MAX:"   Max\: %5.2lf%s\t" \
GPRINT:freMin:MIN:"   Min\: %5.2lf%s\t" \
GPRINT:freCorrente:LAST:"   Ultima\: %5.2lf%s\t"
;;

Boiler)
rrdtool graph temperature.png \
--start -$start$start1 --slope-mode \
--y-grid 1:1 \
-h 400 -w 700  \
--vertical-label "Temperatura [C°]"  \
-t "${titolo[$3]}" \
-c "BACK#000000" \
-c "SHADEA#000000" \
-c "SHADEB#000000" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "ARROW#FFFFFF" \
DEF:boilerMedia=temperatura.rrd:temp_sensore2:AVERAGE \
DEF:boilerMin=temperatura.rrd:temp_sensore2:MIN \
DEF:boilerMax=temperatura.rrd:temp_sensore2:MAX \
DEF:boilerCorrente=temperatura.rrd:temp_sensore2:LAST \
COMMENT:"   \n" \
LINE2:boilerCorrente#FFBC14:"Boiler" \
GPRINT:boilerMedia:AVERAGE:"   Media\: %5.2lf%s\t" \
GPRINT:boilerMax:MAX:"    Max\: %5.2lf%s\t" \
GPRINT:boilerMin:MIN:"    Min\: %5.2lf%s\t" \
GPRINT:boilerCorrente:LAST:"    Ultima\: %5.2lf%s\t"
;;

Interno)
rrdtool graph temperature.png \
--start -$start$start1  --slope-mode  \
-h 400 -w 700  \
--vertical-label "Temperatura [C°]"  \
-t "${titolo[$3]}" \
-c "BACK#000000" \
-c "SHADEA#000000" \
-c "SHADEB#000000" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "ARROW#FFFFFF" \
DEF:intMedia=temperatura.rrd:temp_sensore1:AVERAGE \
DEF:intMin=temperatura.rrd:temp_sensore1:MIN \
DEF:intMax=temperatura.rrd:temp_sensore1:MAX \
DEF:intCorrente=temperatura.rrd:temp_sensore1:LAST \
COMMENT:"   \n" \
LINE2:intCorrente#FFBC14:"Interna" \
GPRINT:intMedia:AVERAGE:"Media\: %5.2lf%s\t" \
GPRINT:intMax:MAX:" Max\: %5.2lf%s\t" \
GPRINT:intMin:MIN:" Min\: %5.2lf%s\t" \
GPRINT:intCorrente:LAST:" Ultima\: %5.2lf%s\t"
;;

Esterno)
rrdtool graph temperature.png \
--start -$start$start1  --slope-mode  \
-h 400 -w 700 \
--vertical-label "Temperatura [C°]"  \
-t "${titolo[$3]}" \
-c "BACK#000000" \
-c "SHADEA#000000" \
-c "SHADEB#000000" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "ARROW#FFFFFF" \
DEF:estMedia=temperatura.rrd:temp_sensore3:AVERAGE \
DEF:estMin=temperatura.rrd:temp_sensore3:MIN \
DEF:estMax=temperatura.rrd:temp_sensore3:MAX \
DEF:estCorrente=temperatura.rrd:temp_sensore3:LAST \
COMMENT:"   \n" \
LINE2:estCorrente#FFBC14:"Esterno" \
PRINT:estMedia:AVERAGE:"  Media\: %5.2lf%s\t" \
GPRINT:estMax:MAX:"   Max\: %5.2lf%s\t" \
GPRINT:estMin:MIN:"   Min\: %5.2lf%s\t" \
GPRINT:estCorrente:LAST:"   Ultima\: %5.2lf%s\t" \
;;

Freezer)
rrdtool graph temperature.png \
--start -$start$start1 --slope-mode  \
-h 400 -w 700 \
--vertical-label "Temperatura [C°]"  \
-t "${titolo[$3]}" \
-c "BACK#000000" \
-c "SHADEA#000000" \
-c "SHADEB#000000" \
-c "FONT#DDDDDD" \
-c "CANVAS#202020" \
-c "GRID#666666" \
-c "MGRID#AAAAAA" \
-c "FRAME#202020" \
-c "ARROW#FFFFFF" \
DEF:freMedia=temperatura.rrd:temp_sensore4:AVERAGE \
DEF:freMin=temperatura.rrd:temp_sensore4:MIN \
DEF:freMax=temperatura.rrd:temp_sensore4:MAX \
DEF:freCorrente=temperatura.rrd:temp_sensore4:LAST \
COMMENT:"   \n" \
LINE2:freCorrente#FFBC14:"Freezer" \
GPRINT:freMedia:AVERAGE:"  Media\:%5.2lf%s\t" \
GPRINT:freMax:MAX:"   Max\:%5.2lf%s\t" \
GPRINT:freMin:MIN:"   Min\:%5.2lf%s\t" \
GPRINT:freCorrente:LAST:"   Ultima\:%5.2lf%s\t"
esac

ram_hot="$(free | grep "Mem" | awk '{ print $3 }')"
if [ $ram_hot -ge 25000 ];then
     sync; echo 3 > /proc/sys/vm/drop_caches
fi
exit   
A questo punto ho creato la pagina per la webif (proseguo sotto perchè superato il limite di 20000 caratteri spero qualche admin riunisca tutto)





26
Elettronica & AP / Re: Centralina controllo GPIO con wrt54gl e openwrt
« il: Marzo 26, 2012, 03:01:54 pm »
Straordinario!! :-o :-o :-o
Con calma se puoi postare come hai realizzato i grafici e collegato i sensori alla presa RJ12 te ne sarei grato.
Complimenti ancora!
Grazie mille detto da te è veramente un complimento anche se è nulla in confronto a quello che fai tu  :|
Appena avrò un oretta posto tutto ora devo scappare
Comunque per i sensori guarda qua. http://www.hobby-boards.com/catalog/howto_wiring_diagram.php
e qua[link] http://imageshack.us/photo/my-images/594/sensorib.png/[/link]
Puoi omettere la resistenza; questo è uno schema per Arduino

27
Elettronica & AP / Re: Centralina controllo GPIO con wrt54gl e openwrt
« il: Marzo 26, 2012, 02:35:40 pm »
Per il momento non ho tanto tempo (devo fare un po di ordine)e vi posto solo le foto.
La mia esigenza era di monitorare alcune temperature e il consumo di corrente nella mia abitazione.
Molto brevemente, per realizzare il tutto ho utilizzato il bus 1-wire molto affidabile e con cui ? molto facile realizzare i collegamenti.
Per le temperature ho utilizzato i sensori della DALLAS DS18B20 collegati in modalit? parassita (senza alimentazione esterna).
Per monitorare il consumo di energia ho acquistato un contatore elettronico ad impulsi http://www.ebay.it/itm/Contatore-elettrico-elettronico-energia-no-enel-o-vimar-/180850920901?pt=Attrezzature_e_strumentazione&hash=item2a1b8e0dc5 al quale ho interfacciato un contatore d'impulsi che, come dice il nome, conta semplicemente gli impulsi emessi dal contatore di prima http://www.hobby-boards.com/catalog/product_info.php?cPath=24&products_id=42
Quest'ultimo e i sensori di temperatura sono collegati alla porta usb del router tramite un adattatore della Dallas usb-1wire http://www.hobby-boards.com/catalog/product_info.php?products_id=1503
Ecco le foto:http://imageshack.us/photo/my-images/41/potenza.png/ (sono 4)
Appena posso posto il codice e pi? dettagli  :wink:

28
Elettronica & AP / Re: Centralina controllo GPIO con wrt54gl e openwrt
« il: Marzo 25, 2012, 01:07:08 pm »
la prode centralina compie due anni, eh si ? ancora l? che accende, spegne, programma, chiude, apre e non si ? ancora stancata e non ha ancora sbagliato un colpo. Buon complenno...

Grande truthahn, grazie a te anch'io ho una bella centralina funzionante da un anno.
Ho fatto delle modifiche per adattarlo alle mie esigenze e ultimamente ho creato delle nuove pagine alle webif che mi visualizzano i grafici delle temperature (interno, esterno, boiler, freezer) . della potenza elettrica impiegata (kw) e del consumo (kwh).
Appena ho un po' di tempo posto qualcosa.

29
Firmware (di classe WRT) / Re: Consiglio agpf o VS
« il: Marzo 04, 2012, 06:51:58 pm »
Ciao a tutti, visto che non devo fare pi? il collegamento di 100mt, il "piccio" di avere un router openwrt e smanettarci c'? l'ho. Quindi volevo sapere secondo voi ? meglio la VS o il agpf.

Vi dico che lo userei per fare prove, condivisione hdd , torrent e tutte queste cose; e lo devo collegare in wi-fi perch? il router principale non sta nella mia stanza.

Grazie Mille!!!! :D
Come hardware sono simili per? nell'agpf il modem non funziona con openwrt

30
Area Ecologica - Raccolta Differenziata / Re: creare un pacchetto opk e ipk
« il: Febbraio 17, 2012, 10:32:34 pm »
Ho appena letto il post di Truthahn e ho fatto un'altra prova: ho creato un makefile da utilizzare quando si compila OpenWRT. In questo modo, il nostro pacchetto per la centralina pu? essere direttamente integrato nell'immagine compilata.

I passi da seguire sono (assumo che avete gi? scaricato l'SVN di OpenWRT):

1. Aprire la cartella package
2. Nella cartella package creare una cartella chiamata: domotica (o come vi pare)
3. Copiare nella cartella "domotica" il mio makefile (come esempio) e poi modificatelo in base alle esigenze
4. Nella cartella "domotica" creare una nuova cartella chiamata: files
5. Copiare dentro la cartella "files" tutti i file che ci servono per il package
6. Aggiungere nel makefile le voci $(INSTALL_DIR) e $(INSTALL_DATA) o $(INSTALL_BIN) per ogni file da aggiungere nel package (quelli gi? aggiunti nella cartella "files")
7. Compilare il package o l'immagine completa

Il codice del makefile:
Codice: [Seleziona]
#
# Copyright (C) 2010-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=domotica
PKG_VERSION:=1
PKG_RELEASE:=12

include $(INCLUDE_DIR)/package.mk

define Package/domotica
  SUBMENU:=Domotica
  SECTION:=net
  CATEGORY:=Network
  TITLE:=Controllo domotico
  MAINTAINER:=Kylix <fpaliuc@gmail.com>
  PKGARCH:=all
endef

define Package/domotica/description
Gestione luci, prese, sensori di temperatura, SMS, Webcam.
endef

define Build/Compile
endef

define Build/Configure
endef

define Package/domotica/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/allarme.sh $(1)/usr/sbin/allarme.sh
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_DATA) ./files/cancellajpg $(1)/usr/sbin/cancellajpg
$(INSTALL_DIR) $(1)/usr/lib/webif
$(INSTALL_DATA) ./files/categories.awk.dom $(1)/usr/lib/webif/categories.awk.dom
$(INSTALL_DIR) $(1)/usr/lib/webif
$(INSTALL_DATA) ./files/webif.sh.dom $(1)/usr/lib/webif/webif.sh.dom
$(INSTALL_DIR) $(1)/www/images
$(INSTALL_DATA) ./files/cassaforte.jpg $(1)/www/images/cassaforte.jpg
endef

$(eval $(call BuildPackage,domotica))

I file eseguibili devono essere inseriti con $(INSTALL_BIN)

Ottimo prover?  :wink:

Pagine: 1 [2] 3 4 ... 9