86 lines
1.9 KiB
Text
86 lines
1.9 KiB
Text
|
#!/bin/bash
|
||
|
#set -x
|
||
|
|
||
|
source /etc/nodemecu.conf
|
||
|
source funciones
|
||
|
|
||
|
conteo=$(cat $contador)
|
||
|
uuid="$(uuidgen)"
|
||
|
marca_de_tiempo="$(date +%s)"
|
||
|
|
||
|
case $modo in
|
||
|
test)
|
||
|
funcion_datos_simulados
|
||
|
;;
|
||
|
sensores)
|
||
|
funcion_datos_sensores
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
|
||
|
# ARMADO DE FICHERO JSON
|
||
|
|
||
|
for i in $lecturas;do
|
||
|
case $i in
|
||
|
id*)
|
||
|
sensores="$sensores { $(echo \"id\":\"$(echo $i | cut -d ":" -f 2)\", \"sensores\": [ )"
|
||
|
;;
|
||
|
ts*)
|
||
|
#sensores="$sensores { $(echo \"timestamp\": $(echo $i | cut -d ":" -f 2),)"
|
||
|
sensores="$sensores { $(echo \"timestamp\": $marca_de_tiempo,)"
|
||
|
;;
|
||
|
tp*)
|
||
|
sensores="$sensores $(echo \"type\": \"$(echo $i | cut -d ":" -f 2)\",)"
|
||
|
;;
|
||
|
vl*)
|
||
|
sensores="$sensores $(echo \"value\": $(echo $i | cut -d ":" -f 2),)"
|
||
|
;;
|
||
|
un*)
|
||
|
sensores="$sensores $(echo \"unit\": \"$(echo $i | cut -d ":" -f 2)\",)"
|
||
|
;;
|
||
|
er*)
|
||
|
sensores="$sensores $(echo \"error\": $(echo $i | cut -d ":" -f 2) })"
|
||
|
;;
|
||
|
AD_SENSOR)
|
||
|
sensores="$sensores,"
|
||
|
;;
|
||
|
AD_ARDUINO)
|
||
|
sensores="$sensores]},"
|
||
|
;;
|
||
|
END)
|
||
|
sensores="$sensores]}"
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
json="{\"transaction_uuid\":\"$uuid\",\"controller_id\":\"$name\",\"timestamp\":\"$marca_de_tiempo\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}"
|
||
|
|
||
|
touch $lock
|
||
|
|
||
|
file=$(date +%Y%m%d%H%M%S -d @$marca_de_tiempo)-$uuid
|
||
|
|
||
|
|
||
|
|
||
|
if echo $json | jsonlint-php 2> /dev/null;then
|
||
|
echo $json > $directorio_instalacion/$file && rm $lock && echo $((counter+1)) > $contador
|
||
|
else
|
||
|
echo "$(date +%Y-%m-%d-%H:%M:%S -d @$marca_de_tiempo) - No se pudo obtener información." >> $log
|
||
|
fi
|
||
|
|
||
|
|
||
|
exit
|
||
|
|
||
|
# habia una razon para esto, ya va a saltar
|
||
|
|
||
|
for ((i=1 ; i <=3 ; i++));do
|
||
|
if echo $json | jsonlint-php 2> /dev/null;then
|
||
|
echo $json > $registros/$file && rm /opt/nodemecu/lock && echo $((counter+1)) > $contador && break
|
||
|
else
|
||
|
echo "$(date +%Y-%m-%d-%H:%M:%S) - No se pudo obtener información." >> /opt/nodemecu/errors.log && sleep 1
|
||
|
fi
|
||
|
done
|
||
|
|