Ciao thruthan ho un problemino ho installato il tuo opk per la VS per il controllo dei gpio con la scheda rel? e funziona alla grande, adesso vorrei far funzionare la webcam LifeCam VX-5500 per la videosorveglianza.
Installato motion e funziona tutto bene ma non riesco ad integrare il tutto nella tua webif.In sostanza ho i problemi che hai riscontrato tu inizialmente: se lancio motion da console mi funziona lo streaming nella video.sh (puntando con il browser all'indirizzo), invece se lo lancio da webif ho la schermata grigia che mi dice che non pu? connetere il device.(ps mi dice che motion ? attivo)
Allora nella pagina comandi.sh della webif ho questo:
#!/usr/bin/webif-page
<?
. /usr/lib/webif/webif.sh
############################################################################
#
# truthahn - Nabuk Family - vonkosta@gmail.com
#############################################################################
header "Info" "System" "<img src=\"/images/telecomando.jpg\" alt=\"@TR<<>>\"/>@TR<< Comandi >>"
ngpio1="$(cat /etc/centralina/device | sed -n '/Device1/p'| awk '{ print $3 }')"
ngpio2="$(cat /etc/centralina/device | sed -n '/Device2/p'| awk '{ print $3 }')"
ngpio3="$(cat /etc/centralina/device | sed -n '/Device3/p'| awk '{ print $3 }')"
ngpio4="$(cat /etc/centralina/device | sed -n '/Device4/p'| awk '{ print $3 }')"
periferica2="Apriporta"
for n in $ngpio2 $ngpio3 $ngpio4 ;do
gpio=FORM_gpio$n
eval gpio=\$$gpio
if equal $gpio "ACCENDI" ; then
gpioctl dirout $n > /dev/null
fi
if equal $gpio "SPEGNI" ; then
gpioctl dirin $n > /dev/null
fi
done
if equal $FORM_gpio1 "APRI" ; then
echo "<img src=\"../../../images/clessidra.gif\">"
echo "Attendi... sto aprendo la porta..."
gpioctl dirout $ngpio1 > /dev/null
sleep 1
gpioctl dirin $ngpio1 > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/comandi.sh\"',"100")
</script>
EOF
exit
fi
if equal $FORM_internet "ABILITA";then
echo "<img src=\"../../../images/clessidra.gif\">"
echo "Attendi... sto abilitando l'accesso a Internet"
uci set network.eth0.vlan0="0 1 2 3 5*"
/etc/init.d/network restart > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/comandi.sh\"',"3")
</script>
EOF
exit
fi
if equal $FORM_internet "DISABILITA";then
echo "<img src=\"../../../images/clessidra.gif\">"
echo "Attendi... sto disabilitando l'accesso a Internet"
uci set network.eth0.vlan0="2 3 5*"
/etc/init.d/network restart > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/comandi.sh\"',"3")
</script>
EOF
exit
fi
if equal $FORM_generale "SPEGNI_TUTTO" ; then
echo "Attendi... sto chiudendo tutto..."
echo "<img src=\"../../../images/clessidra.gif\">"
for n in $ngpio1 $ngpio2 $ngpio3 $ngpio4;do
gpioctl dirin $n > /dev/null
done
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/comandi.sh\"',"300")
</script>
EOF
exit
fi
if equal $FORM_motion "ATTIVA" ; then
/usr/sbin/gsmotion.sh start > /dev/null
sleep 5
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/comandi.sh\"',"1000")
</script>
EOF
exit
fi
if equal $FORM_motion "DISATTIVA" ; then
/etc/init.d/gesmotion stop > /dev/null
sleep 5
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/comandi.sh\"',"100")
</script>
EOF
exit
fi
###########################################
#
#display_form <<EOF
# start_form|@TR<< >>
# end_form
#EOF
cat <<EOF
<form method="get" action="comandi.sh">
<p><p>
<center>
<table width="40%">
<tr><td><strong></td><td><strong><center>STATO</td>
<td><strong><center>COMANDO</strong></td></tr>
EOF
for n in $ngpio2 $ngpio3 $ngpio4;do
gp="$(gpioctl get $n | sed -n '/Pin/p'| awk '{ print $4 }')"
per="$(cat /etc/centralina/device | sed -n '/ '$n'/p'| awk '{ print $2 }')"
per="$(echo "$per" | sed '/_/s// /g')"
# echo $n
if equal $gp "LOW"; then
cat <<EOF
<tr><td>$per:</td><td><center><img src="/images/lamp.jpg"></td>
<td><center><input type="submit" name="gpio$n" value=SPEGNI ></td></tr>
EOF
else
cat <<EOF
<tr><td>$per :</td><td><center><img src="/images/lamp1.jpg"></td>
<td><center><input type="submit" name="gpio$n" value=ACCENDI ></td></tr>
EOF
fi
done
cat <<EOF
<tr><td>$periferica2 :</td><td><center><center><img src="/images/chiave.jpg"></td>
<td><center><input type="submit" name="gpio1" value=APRI
onClick="javascript:return confirm('Vuoi veramente aprire la porta?');"></td></tr>
EOF
#accesso="$(echo "$(uci get network.eth0.vlan0)" | awk '{ print $1 }' )"
#if equal $accesso "2";then
#cat <<EOF
#<tr><td>Internet :</td><td><center><img src="/images/internet1.jpg"></td>
#<td><center><input type="submit" name="internet" value="ABILITA"
#onClick="javascript:return confirm('Vuoi veramente abilitare Internet?');"><td></tr>
#EOF
#else
#cat <<EOF
#<tr><td>Internet :</td><td><center><img src="/images/internet.jpg"></td>
#<td><center><input type="submit" name="internet" value="DISABILITA"
#onClick="javascript:return confirm('Vuoi veramente dasabilitare Internet?');"></td></tr>
#EOF
#fi
cat <<EOF
<tr><td>Generale :</td><td></td><td><center><input type="submit" name="generale" value="SPEGNI_TUTTO" ></td></tr>
</table></form>
<p> <p>
EOF
pidmotion=`pidof motion`
lamp="lamp1.jpg"
valore="ATTIVA"
if ! equal $pidmotion ""; then
lamp="lamp.jpg"
valore="DISATTIVA"
fi
cat <<EOF
<td><strong>Videocontrollo:</strong></td><td><center><center><img src="/images/$lamp"></td>
<td><center><input type="submit" name="motion" value="$valore"></td></tr>
EOF
display_form <<EOF
start_form|@TR<< >>
end_form
EOF
presenza="$(cat /etc/centralina/presenza)"
if ! equal $presenza "" ; then
echo "Il centro ? attualmente utilizzato da:<strong> $presenza </strong>"
fi
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/comandi.sh\"',"30000")
</script>
EOF
footer
?>
nella video.sh ho questo:
root@OpenWrt:~# cat /www/cgi-bin/webif/centralina/video.sh
#!/usr/bin/webif-page
<?
. /usr/lib/webif/webif.sh
############################################################################
#
# Descrizione:
# Mostra lo streaming video
#
#
# truthahn - Nabuk Family - vonkosta@gmail.com
#############################################################################
header "Info" "System" "<img src=\"/images/telecamera.jpg\">@TR<< Telecamera>>"
indirizzo="$(uci get network.lan.ipaddr)"
if equal $FORM_motion "DISATTIVA" ; then
elinks http://$indirizzo:8080/0/detection/pause > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/video.sh\"',"100")
</script>
EOF
fi
if equal $FORM_motion "ATTIVA" ; then
elinks http://$indirizzo:8080/0/detection/start > /dev/null
cat <<EOF
<script language="JavaScript" type="text/javascript">
setTimeout('top.location.href=\"/cgi-bin/webif/centralina/video.sh\"',"100")
</script>
EOF
exit
fi
pidmotion=`pidof motion`
if ! equal $pidmotion "";then
cat <<EOF
<form method="get" action="video.sh">
<center><img src="http://$indirizzo:8081" ><br>
EOF
status=$(elinks http://$indirizzo:8080/0/detection/status)
stato="$(echo $status | sed -n '/status/p'| awk '{ print $7 }')"
if equal $stato "ACTIVE"; then
cat <<EOF
<center>
Il videocontrollo ? attivo.<p>
<input type="submit" name="motion" value=DISATTIVA></form>
EOF
else
cat <<EOF
<center>
Il videocontrollo funziona solo in streaming.<br>
Per attivare la cattura delle immagini clicca sotto.<p>
<input type="submit" name="motion" value=ATTIVA></form>
EOF
fi
else
cat <<EOF
<center>
Nessuna videocamera collegata.<br>
Per attivare la videocamera vai alla pagina COMANDI.<p>
EOF
fi
footer
?>
e nel gsmotion.sh ho questo (sto trascurando tutta la parte relativa ad asterisk)
root@OpenWrt:~# cat /usr/sbin/gsmotion.sh
#!/bin/sh
case $1 in
start)
/usr/bin/motion &
;;
stop)
PID=`pidof motion`
kill $PID
;;
esac
Sto impazzendo perch? non capisco il problema.
Help me