diff --git a/bin/nodemecu b/bin/nodemecu index 5e7026b..72fcca0 100755 --- a/bin/nodemecu +++ b/bin/nodemecu @@ -36,7 +36,20 @@ case $com in " ;; - start) + nombre) + funcion_configurar $@ + ;; + servidor) + funcion_configurar $@ + ;; + intervalo) + funcion_configurar $@ + ;; + modo) + funcion_configurar $@ + ;; + + start) if [ -z $interval ]; then echo "Asegurese de haber establecido 'intervalo' de regitro y envio de datos." exit 1 @@ -56,31 +69,11 @@ case $com in echo "" exit ;; - stop) + stop) crontab -u root -r echo "Se detuvo la toma y envio de datos." echo "" ;; - intervalo) - if [[ $1 == intervalo && $2 -ge 1 && $2 -le 60 ]]; then - sed -i 's/interval=[0-9]*/interval='$2'/' $config - echo "intervalo seteado en $2" - exit - else - echo "Establezca un valor entre 1 y 60." - exit 1 - fi - ;; - nombre) - - parametros=$* - nombre=$(echo $parametros | sed 's/nombre //g' | sed 's/ /_/g') - if [[ "$nombre" =~ ^[a-zA-Z0-9_]+$ ]];then - sed -i 's/name=[a-z A-Z 0-9]*/name='"$nombre"'/' $config - else - echo "El nombre solo puede contener carateres alfanumericos." - fi - ;; monitor) $install_dir/monitor.sh ;; diff --git a/funciones b/funciones index fd812bf..7bd92ff 100644 --- a/funciones +++ b/funciones @@ -1,5 +1,5 @@ #!/bin/bash - +#set -x get_stack () { if [[ ! -z $1 && $1 == "wc" ]];then ls /opt/nodemecu/stack | wc -l @@ -19,15 +19,17 @@ 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 + local url_regex='(https?|HTTPS?)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]' + local nuevo_modo='(test|sensores)' + +case $comando in nombre) while :;do - nombre=$(echo $parametros | sed 's/nombre //g' | sed 's/ /_/g') + nuevo_nombre=$(echo $parametros | sed 's/nombre //g' | sed 's/ /_/g') if [[ "$nombre" =~ ^[a-zA-Z0-9_]+$ ]];then - sed -i 's/nombre=*/nombre='$nombre'/' $config + sed -i 's/nombre='$nombre'/nombre='$nuevo_nombre'/' $config + echo "nombre: $nuevo_nombre" break else echo "El nombre solo puede contener carateres alfanumericos." @@ -39,7 +41,7 @@ case $comando in servidor) while :;do if [[ $parametro =~ $url_regex ]]; then - sed -i 's}servidor=*}servidor='"$parametro"'}' $config + sed -i 's}servidor='$servidor'}servidor='"$parametro"'}' $config echo "Servidor $parametro" break else @@ -61,17 +63,18 @@ case $comando in fi done ;; + modo) + while :;do + if [[ $parametro =~ $nuevo_modo ]]; then + sed -i 's/modo='$modo'/modo='$parametro'/' $config + break + else + echo "Los modos posibles son 'test' y 'sensores'" + read -p "modo: " parametro + + fi + + done esac } - - - - - - - - - - - diff --git a/nodemecu.conf.ejemplo b/nodemecu.conf.ejemplo index 911baf6..b8992f6 100644 --- a/nodemecu.conf.ejemplo +++ b/nodemecu.conf.ejemplo @@ -1,5 +1,5 @@ -servidor= nombre= +servidor= intervalo= modo=test