cli
This commit is contained in:
parent
9ebc511ab0
commit
fd4fde4e5c
6 changed files with 80 additions and 6 deletions
20
bin/nodemecu
Normal file → Executable file
20
bin/nodemecu
Normal file → Executable file
|
@ -8,6 +8,7 @@ fi
|
||||||
|
|
||||||
config=/etc/nodemecu.conf
|
config=/etc/nodemecu.conf
|
||||||
source $config
|
source $config
|
||||||
|
source $funciones
|
||||||
|
|
||||||
[ -z $1 ] && exit
|
[ -z $1 ] && exit
|
||||||
|
|
||||||
|
@ -16,6 +17,25 @@ com=$1
|
||||||
|
|
||||||
case $com in
|
case $com in
|
||||||
|
|
||||||
|
configurar)
|
||||||
|
echo "Complete los cambios a continuación:
|
||||||
|
"
|
||||||
|
echo "Nombre del dispositivo."
|
||||||
|
read -p "nombre: " -a entrada_usuario
|
||||||
|
funcion_configurar nombre ${entrada_usuario[@]}
|
||||||
|
echo ""
|
||||||
|
echo "Servidor de entrega de datos."
|
||||||
|
read -p "servidor (ej. https://url.del/servidor): " entrada_usuario
|
||||||
|
funcion_configurar servidor $entrada_usuario
|
||||||
|
echo ""
|
||||||
|
echo "Intervalo de toma de muestras, entre 1 y 60 minutos."
|
||||||
|
read -p "intervalo: " entrada_usuario
|
||||||
|
funcion_configurar intervalo $entrada_usuario
|
||||||
|
echo ""
|
||||||
|
echo "El modo de operación por defecto es 'test' y se envían datos simulados, cambie a 'sensores' con el comando 'sudo nodemecu modo sensores'
|
||||||
|
"
|
||||||
|
;;
|
||||||
|
|
||||||
start)
|
start)
|
||||||
if [ -z $interval ]; then
|
if [ -z $interval ]; then
|
||||||
echo "Asegurese de haber establecido 'intervalo' de regitro y envio de datos."
|
echo "Asegurese de haber establecido 'intervalo' de regitro y envio de datos."
|
||||||
|
|
49
funciones
49
funciones
|
@ -15,7 +15,54 @@ funcion_datos_simulados() {
|
||||||
lecturas="id:dummy_plug-01 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 AD_ARDUINO id:dummy_plug-02 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 AD_ARDUINO id:dummy_plug-03 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 AD_ARDUINO id:dummy_plug-04 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 END"
|
lecturas="id:dummy_plug-01 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 AD_ARDUINO id:dummy_plug-02 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 AD_ARDUINO id:dummy_plug-03 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 AD_ARDUINO id:dummy_plug-04 ts:$(date +%s) tp:temp vl:$(( $RANDOM % 20 + 15 )) un:C er:99 AD_SENSOR ts:$(date +%s) tp:hum vl:$(( $RANDOM % 50 + 35 )) un:percent er:99 END"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
funcion_configurar() {
|
||||||
|
local comando=$1
|
||||||
|
local parametro=$2
|
||||||
|
local parametros=$*
|
||||||
|
local url_regex='(https?)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
|
||||||
|
|
||||||
|
case $comando in
|
||||||
|
nombre)
|
||||||
|
while :;do
|
||||||
|
nombre=$(echo $parametros | sed 's/nombre //g' | sed 's/ /_/g')
|
||||||
|
|
||||||
|
if [[ "$nombre" =~ ^[a-zA-Z0-9_]+$ ]];then
|
||||||
|
sed -i 's/nombre=*/nombre='$nombre'/' $config
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "El nombre solo puede contener carateres alfanumericos."
|
||||||
|
read -p "nombre: " parametro
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
|
||||||
|
servidor)
|
||||||
|
while :;do
|
||||||
|
if [[ $parametro =~ $url_regex ]]; then
|
||||||
|
sed -i 's}servidor=*}servidor='"$parametro"'}' $config
|
||||||
|
echo "Servidor $parametro"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "Intruzca una url válida."
|
||||||
|
read -p "url: " parametro
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
|
||||||
|
intervalo)
|
||||||
|
while :;do
|
||||||
|
if [[ $parametro -ge 1 && $parametro -le 60 ]]; then
|
||||||
|
sed -i 's/intervalo=[0-9]*/intervalo='$parametro'/' $config
|
||||||
|
echo "Intervalo seteado en $parametro"
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "Establezca un valor entre 1 y 60."
|
||||||
|
read -p "Intervalo: " parametro
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#set -x
|
#set -x
|
||||||
|
|
||||||
source /etc/nodemecu.conf
|
source /etc/nodemecu.conf
|
||||||
source funciones
|
source $funciones
|
||||||
|
|
||||||
conteo=$(cat $contador)
|
conteo=$(cat $contador)
|
||||||
uuid="$(uuidgen)"
|
uuid="$(uuidgen)"
|
||||||
|
|
|
@ -46,6 +46,7 @@ cp -v $configuracion /etc/nodemecu.conf
|
||||||
echo "
|
echo "
|
||||||
Enlaces a binarios
|
Enlaces a binarios
|
||||||
"
|
"
|
||||||
|
chmod 755 $directorio_instalacion/bin/nodemecu
|
||||||
ln -vs $directorio_instalacion/bin/nodemecu /usr/bin/nodemecu
|
ln -vs $directorio_instalacion/bin/nodemecu /usr/bin/nodemecu
|
||||||
echo "
|
echo "
|
||||||
Fichero de logs
|
Fichero de logs
|
||||||
|
@ -64,5 +65,9 @@ systemctl start nodemecu.service
|
||||||
systemctl status nodemecu.service
|
systemctl status nodemecu.service
|
||||||
|
|
||||||
|
|
||||||
|
echo "
|
||||||
|
4. Configurar
|
||||||
|
"
|
||||||
|
|
||||||
|
echo "Ejecute 'sudo nodemecu configurar' para comenzar.
|
||||||
|
"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
url=
|
servidor=
|
||||||
name=
|
nombre=
|
||||||
interval=
|
intervalo=
|
||||||
modo=test
|
modo=test
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,3 +18,4 @@ registros_corruptos=$directorio_instalacion/corruptos
|
||||||
envios_fallidos=$directorio_instalacion/fallidos
|
envios_fallidos=$directorio_instalacion/fallidos
|
||||||
contador=$directorio_instalacion/contador
|
contador=$directorio_instalacion/contador
|
||||||
lock=$directorio_instalacion/lock
|
lock=$directorio_instalacion/lock
|
||||||
|
funciones=$directorio_instalacion/funciones
|
||||||
|
|
1
url
Normal file
1
url
Normal file
|
@ -0,0 +1 @@
|
||||||
|
https://ectomobile.sutty.nl/readings
|
Loading…
Reference in a new issue