Scripts del Servidor: diferència entre les revisions
Salta a la navegació
Salta a la cerca
m (Enric ha mogut ScriptServidor a Scripts del Servidor) |
|||
| Línia 2: | Línia 2: | ||
En aquest cas, només posem pel del Shield II. | En aquest cas, només posem pel del Shield II. | ||
#! /bin/bash | |||
### BEGIN INIT INFO | |||
# Provides: getdata 192.168.130.2 | |||
# Required-Start: | |||
# Required-Stop: | |||
# Default-Start: S | |||
# Default-Stop: | |||
# Short-Description: Monitoritzacio | |||
# Description: Envia les dades de monitoritzacio que pregunta a l'arduino al propi | |||
# servidor de monitoritzacio i a emoncms. Tambe guarda les dades en | |||
# un fitxer local. | |||
### END INIT INFO | |||
=10 | |||
VOLTATGEMAXIM=500 | |||
for j in `seq 1 10`; do | INTENSITATMAXIMA=50 | ||
FUGA="https://emon.canfugarolas.org/input/post.json" | |||
FUGAKEY="apikey=55df16d9e3adc40bb3257810b16db9" | |||
while true; do | EMON="http://emoncms.org/input/post.json" | ||
EMONKEY="apikey=a289ee44c3a91f00896c99dfb1ebbd" | |||
do_start () { | |||
for j in `seq 1 10`; do | |||
vector=(`curl -k --silent 192.168.130.2`); | |||
sleep 2; | |||
done; | |||
while true; do | |||
vector=(`curl -k -m 1 --silent 192.168.130.2`); | |||
v0=`echo ${vector[0]}` | |||
while [ -z "$v0" ]; do | |||
curl --silent -k "$FUGA?json={Forat:"1"}&node=2&$FUGAKEY"; | |||
curl --silent -k "$EMON?json={Forat:"1"}&node=2&$EMONKEY"; | |||
Dades=$(date '+%d/%m/%y %H:%M:%S') | |||
echo $Dades >> /var/www/emon/Dades/DadesArduino2.res | |||
vector=(`curl -k -m 1 --silent 192.168.130.2`); | |||
v0=`echo ${vector[0]}` | |||
done; | |||
v2=`echo ${vector[2]}` | |||
v3=`echo ${vector[3]}` | |||
v4=`echo ${vector[4]}` | |||
v5=`echo ${vector[5]}` | |||
v7=`echo ${vector[7]}` | |||
v8=`echo ${vector[8]}` | |||
v9=`echo ${vector[9]}` | |||
v10=`echo ${vector[10]}` | |||
v12=`echo ${vector[12]}` | |||
v13=`echo ${vector[13]}` | |||
v14=`echo ${vector[14]}` | |||
v15=`echo ${vector[15]}` | |||
#Comprovem si el voltatge es passa en valor absolut de 500V | |||
#Comprovem si les intensitats es passen en valor absolut de 50A | |||
#Si aquests valors es passen escriurem igualment al fitxer peròamb valors 0 i marcarem el voltatge com valor 3.1416 | |||
absv0=`echo "$v0" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'` | |||
absv2=`echo "$v2" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'` | |||
absv7=`echo "$v7" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'` | |||
absv12=`echo "$v12" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'` | |||
if (( $(echo "$absv0 > $VOLTATGEMAXIM" | bc -l) )) || | |||
(( $(echo "$absv2 > $INTENSITATMAXIMA" | bc -l) )) || | |||
(( $(echo "$absv7 > $INTENSITATMAXIMA" | bc -l) )) || | |||
(( $(echo "$absv12 > $INTENSITATMAXIMA" | bc -l) )) | |||
then | |||
v0="1.31416" | |||
v2=0 | |||
v2=0 | |||
v3=0 | |||
v4=0 | |||
v5=0 | |||
v7=0 | |||
v8=0 | |||
v9=0 | |||
v10=0 | |||
v12=0 | |||
v13=0 | |||
v14=0 | |||
v15=0 | |||
fi | |||
curl -k --silent "$FUGA?json={voltage:"$v0"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={IL1:"$v2"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={PL1:"$v3"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={SL1:"$v4"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={CosPhiL1:"$v5"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={IL2:"$v7"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={PL2:"$v8"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={SL2:"$v9"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={CosPhiL2:"$v10"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={IL3:"$v12"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={PL3:"$v13"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={SL3:"$v14"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={CosPhiL3:"$v15"}&node=2&$FUGAKEY"; | |||
curl -k --silent "$FUGA?json={Forat:"0"}&node=2&$FUGAKEY"; | |||
#curl --silent "$EMON?json={voltage:"$v0"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={IL1:"$v2"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={PL1:"$v3"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={SL1:"$v4"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={CosPhiL1:"$v5"}1&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={IL2:"$v7"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={PL2:"$v8"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={SL2:"$v9"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={CosPhiL2:"$v10"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={IL3:"$v12"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={PL3:"$v13"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={SL3:"$v14"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={CosPhiL3:"$v15"}&node=2&$EMONKEY"; | |||
#curl --silent "$EMON?json={Forat:"0"}&node=2&$EMONKEY"; | |||
Dades=$(date '+%d/%m/%y %H:%M:%S') | |||
Dades+=" " | |||
for index in 0 2 3 4 5 7 8 9 10 12 13 14 15 ; do | |||
aux="v$index" | |||
Dades+=${!aux} | |||
Dades+=" " | |||
done; | done; | ||
echo $Dades >> /var/www/emon/Dades/DadesArduino2.res | |||
sleep $ | |||
done; | |||
} | |||
case "$1" in | |||
start|"") | |||
do_start | |||
;; | |||
restart|reload|force-reload) | |||
echo "Error: argument '$1' not supported" >&2 | |||
exit 3 | |||
;; | |||
stop) | |||
# No-op | |||
;; | |||
*) | |||
echo "Usage: getdata.sh start|stop" >&2 | |||
exit 3 | |||
;; | |||
esac | |||
: | |||
sleep $ | |||
=Script per copiar scripts= | =Script per copiar scripts= | ||
Revisió del 17:57, 10 abr 2016
Script per cada Arduino
En aquest cas, només posem pel del Shield II.
#! /bin/bash
### BEGIN INIT INFO
# Provides: getdata 192.168.130.2
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Monitoritzacio
# Description: Envia les dades de monitoritzacio que pregunta a l'arduino al propi
# servidor de monitoritzacio i a emoncms. Tambe guarda les dades en
# un fitxer local.
### END INIT INFO
=10
VOLTATGEMAXIM=500
INTENSITATMAXIMA=50
FUGA="https://emon.canfugarolas.org/input/post.json"
FUGAKEY="apikey=55df16d9e3adc40bb3257810b16db9"
EMON="http://emoncms.org/input/post.json"
EMONKEY="apikey=a289ee44c3a91f00896c99dfb1ebbd"
do_start () {
for j in `seq 1 10`; do
vector=(`curl -k --silent 192.168.130.2`);
sleep 2;
done;
while true; do
vector=(`curl -k -m 1 --silent 192.168.130.2`);
v0=`echo ${vector[0]}`
while [ -z "$v0" ]; do
curl --silent -k "$FUGA?json={Forat:"1"}&node=2&$FUGAKEY";
curl --silent -k "$EMON?json={Forat:"1"}&node=2&$EMONKEY";
Dades=$(date '+%d/%m/%y %H:%M:%S')
echo $Dades >> /var/www/emon/Dades/DadesArduino2.res
vector=(`curl -k -m 1 --silent 192.168.130.2`);
v0=`echo ${vector[0]}`
done;
v2=`echo ${vector[2]}`
v3=`echo ${vector[3]}`
v4=`echo ${vector[4]}`
v5=`echo ${vector[5]}`
v7=`echo ${vector[7]}`
v8=`echo ${vector[8]}`
v9=`echo ${vector[9]}`
v10=`echo ${vector[10]}`
v12=`echo ${vector[12]}`
v13=`echo ${vector[13]}`
v14=`echo ${vector[14]}`
v15=`echo ${vector[15]}`
#Comprovem si el voltatge es passa en valor absolut de 500V
#Comprovem si les intensitats es passen en valor absolut de 50A
#Si aquests valors es passen escriurem igualment al fitxer peròamb valors 0 i marcarem el voltatge com valor 3.1416
absv0=`echo "$v0" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'`
absv2=`echo "$v2" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'`
absv7=`echo "$v7" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'`
absv12=`echo "$v12" | awk '{if($1>=0) { print $1} else {print $1*-1 }}'`
if (( $(echo "$absv0 > $VOLTATGEMAXIM" | bc -l) )) ||
(( $(echo "$absv2 > $INTENSITATMAXIMA" | bc -l) )) ||
(( $(echo "$absv7 > $INTENSITATMAXIMA" | bc -l) )) ||
(( $(echo "$absv12 > $INTENSITATMAXIMA" | bc -l) ))
then
v0="1.31416"
v2=0
v2=0
v3=0
v4=0
v5=0
v7=0
v8=0
v9=0
v10=0
v12=0
v13=0
v14=0
v15=0
fi
curl -k --silent "$FUGA?json={voltage:"$v0"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={IL1:"$v2"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={PL1:"$v3"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={SL1:"$v4"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={CosPhiL1:"$v5"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={IL2:"$v7"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={PL2:"$v8"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={SL2:"$v9"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={CosPhiL2:"$v10"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={IL3:"$v12"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={PL3:"$v13"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={SL3:"$v14"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={CosPhiL3:"$v15"}&node=2&$FUGAKEY";
curl -k --silent "$FUGA?json={Forat:"0"}&node=2&$FUGAKEY";
#curl --silent "$EMON?json={voltage:"$v0"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={IL1:"$v2"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={PL1:"$v3"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={SL1:"$v4"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={CosPhiL1:"$v5"}1&node=2&$EMONKEY";
#curl --silent "$EMON?json={IL2:"$v7"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={PL2:"$v8"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={SL2:"$v9"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={CosPhiL2:"$v10"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={IL3:"$v12"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={PL3:"$v13"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={SL3:"$v14"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={CosPhiL3:"$v15"}&node=2&$EMONKEY";
#curl --silent "$EMON?json={Forat:"0"}&node=2&$EMONKEY";
Dades=$(date '+%d/%m/%y %H:%M:%S')
Dades+=" "
for index in 0 2 3 4 5 7 8 9 10 12 13 14 15 ; do
aux="v$index"
Dades+=${!aux}
Dades+=" "
done;
echo $Dades >> /var/www/emon/Dades/DadesArduino2.res
sleep $
done;
}
case "$1" in
start|"")
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
# No-op
;;
*)
echo "Usage: getdata.sh start|stop" >&2
exit 3
;;
esac
:
Script per copiar scripts
Aquest segon script, ens serveix per copiar el primer amb la configuració dels altres, només modificant les ip's i l'identificador per pujar al programari emoncms.
#!/bin/bash
#########################################################################
# Script que copia el fitxer getdata.2.sh a la restar de getdates de
# 3 a 7. Canvia la ip 192.168.130.2 per la corresponent i canvia el node=2
# per el node corresponent.
#########################################################################
for i in `seq 3 7`;
do cp /etc/init.d/getdata.2.sh /etc/init.d/getdata.$i.sh;
sed -e "s/192.168.130.2/192.168.130.$i/g" /etc/init.d/getdata.$i.sh > /tmp/res.sh;
mv /tmp/res.sh /etc/init.d/getdata.$i.sh
sed -e "s/DadesArduino2/DadesArduino$i/g" /etc/init.d/getdata.$i.sh > /tmp/res.sh;
mv /tmp/res.sh /etc/init.d/getdata.$i.sh
sed -e "s/node=2/node=$i/g" /etc/init.d/getdata.$i.sh > /tmp/res.sh;
mv /tmp/res.sh /etc/init.d/getdata.$i.sh
done;
chmod u+x /etc/init.d/getdata.*;