Scripts del Servidor
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.