Scripts del Servidor: diferència entre les revisions

De Comissió Energia Can Fugarolas
Salta a la navegació Salta a la cerca
(Cap diferència)

Revisió del 17:41, 20 oct 2015

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
 ESPERA=10
 FUGA="http://emon.canfugarolas.org/input/post.json"
 FUGAKEY="apikey=888888888888888888888888"
   do_start () {
  for j in `seq 1 10`; do 
      vector=(`curl --silent 192.168.130.2`);
      sleep 2;
    done;
  while true; do
      vector=(`curl -m 1 --silent 192.168.130.2`);
      v0=`echo ${vector[0]}`
      while [ -z "$v0" ]; do
         curl --silent "$FUGA?json={Forat:"1"}&node=2&$FUGAKEY";
         curl --silent "$EMON?json={Forat:"1"}&node=2&$EMONKEY";
         Dades=$(date '+%d/%m/%y %H:%M:%S')
         echo $Dades >> /home/enric/Monitoritzacio/DadesArduino2.res
         vector=(`curl -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]}`
      curl --silent "$FUGA?json={voltage:"$v0"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={IL1:"$v2"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={PL1:"$v3"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={SL1:"$v4"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={CosPhiL1:"$v5"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={IL2:"$v7"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={PL2:"$v8"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={SL2:"$v9"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={CosPhiL2:"$v10"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={IL3:"$v12"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={PL3:"$v13"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={SL3:"$v14"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={CosPhiL3:"$v15"}&node=2&$FUGAKEY";
      curl --silent "$FUGA?json={Forat:"0"}&node=2&$FUGAKEY";
      
      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 >> /home/enric/Monitoritzacio/DadesArduino2.res
  sleep $ESPERA 
  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.*;