nodemecu/raspberry/generador_json

71 lines
1.6 KiB
Text
Raw Permalink Normal View History

2022-02-23 14:42:32 +00:00
#!/bin/bash
2022-03-05 18:13:50 +00:00
source /etc/nodemecu.conf
2022-03-15 17:56:47 +00:00
source /opt/nodemecu/envs
2022-03-05 20:09:45 +00:00
source $funciones
2022-03-05 18:13:50 +00:00
2022-03-18 17:18:27 +00:00
test -z $nombre && exit
test -f $public_key || exit
2022-03-17 19:26:50 +00:00
uuid="$(uuid)"
2022-03-05 18:13:50 +00:00
marca_de_tiempo="$(date +%s)"
case $modo in
2022-02-23 14:42:32 +00:00
test)
2022-03-03 22:13:00 +00:00
funcion_datos_simulados
2022-02-23 14:42:32 +00:00
;;
2022-03-05 18:13:50 +00:00
sensores)
funcion_datos_sensores
2022-03-11 17:10:48 +00:00
;;
2022-02-23 14:42:32 +00:00
esac
2022-03-05 18:13:50 +00:00
2022-03-03 22:13:00 +00:00
# ARMADO DE FICHERO JSON
2022-02-23 14:42:32 +00:00
for i in $lecturas;do
case $i in
id*)
sensores="$sensores { $(echo \"id\":\"$(echo $i | cut -d ":" -f 2)\", \"sensores\": [ )"
;;
tp*)
2022-03-11 00:57:16 +00:00
sensores="$sensores { $(echo \"type\": \"$(echo $i | cut -d ":" -f 2)\",)"
2022-02-23 14:42:32 +00:00
;;
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
2022-03-03 22:13:00 +00:00
2022-03-21 18:20:06 +00:00
sensores=$(echo $sensores | tr -d '[:blank:]')
2022-03-03 22:13:00 +00:00
json="{\"transaction_uuid\":\"$uuid\",\"serial_number\":\"$numero_serie\",\"public_key\":\"$(cat $public_key)\",\"controller_id\":\"$nombre\",\"timestamp\":\"$marca_de_tiempo\",\"error_code\":\"10\",\"coordinates\":{\"lat\":1,\"lng\":1},\"battery_status\":\"98\",\"sample\":\"0\",\"storage\":\"uso del almacenamiento\",\"arduinos\":[$sensores]}"
2022-03-05 18:13:50 +00:00
touch $lock
file=$(date +%Y%m%d%H%M%S -d @$marca_de_tiempo)-$uuid
2022-03-17 22:39:06 +00:00
if funcion_validador_json $json ;then
echo $json > $registros/$file && rm $lock
2022-03-05 18:13:50 +00:00
else
2022-03-17 22:39:06 +00:00
echo "$(date +%Y-%m-%d-%H:%M:%S -d @$marca_de_tiempo) - No se pudo generar fichero json:" >> $log
echo $json >> $log
2022-03-05 18:13:50 +00:00
rm $lock
fi