Instalador y traduccion al español

This commit is contained in:
Sergio Pernas 2022-03-03 19:13:00 -03:00
parent fb78ca2ae6
commit 48062b3f1e
14 changed files with 130 additions and 71 deletions

View file

View file

30
funciones Normal file
View file

@ -0,0 +1,30 @@
#!/bin/bash
get_stack () {
if [[ ! -z $1 && $1 == "wc" ]];then
ls /opt/nodemecu/stack | wc -l
else
ls /opt/nodemecu/stack | tail -1
fi
}
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"
}

View file

@ -1,10 +0,0 @@
get_stack () {
if [[ ! -z $1 && $1 == "wc" ]];then
ls /opt/nodemecu/stack | wc -l
else
ls /opt/nodemecu/stack | tail -1
fi
}

View file

@ -1,12 +1,17 @@
#!/bin/bash #!/bin/bash
source /etc/nodemecu.conf #source /etc/nodemecu.conf
source funciones
funcion_datos_simulados
echo $lecturas
exit
case $mode in case $mode in
test) test)
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_datos_simulados
;; ;;
esac esac
# ARMADO DE FICHERO JSON
for i in $lecturas;do for i in $lecturas;do
case $i in case $i in
id*) id*)
@ -38,6 +43,10 @@ case $i in
;; ;;
esac esac
done done
counter=$(cat $install_dir/counter) counter=$(cat $install_dir/counter)
uuid="$(uuidgen)" uuid="$(uuidgen)"
timestamp="$(date +%s)" timestamp="$(date +%s)"

67
instalador Executable file
View file

@ -0,0 +1,67 @@
#!/bin/bash
set -x
configuracion=nodemecu.conf.ejemplo
source $configuracion
if [ $UID -ne 0 ]; then
echo "Ejecute 'sudo $0'"
exit
fi
test -d $directorio_instalacion && $(echo "nodemec ya se encuentra instalado"; date)
exit
ficheros="bin arduinos.py contador generador_json funciones instalador monitor monitor_web nodemecu.conf.ejemplo nodemecu.service enviar desinstalar"
# Dependencias
echo "1. Instalando dependencias
"
#pip install pyserial
#apt update && apt install -y jsonlint
echo ""
# Directorio de instalación
echo "2. Creando directorios y copiando archivos"
echo "
Creación de directorios
"
mkdir -vp $directorio_instalacion/archives/historical
mkdir -v $directorio_instalacion/archives/logs
mkdir -v $registros_corruptos
mkdir -v $envios_fallidos
mkdir -v $historicos
mkdir -v $registros
echo "
Copiado de archivos
"
cp -vr $ficheros $directorio_instalacion
cp -v $configuracion /etc/nodemecu.conf
echo "
Enlaces a binarios
"
ln -vs $directorio_instalacion/bin/nodemecu /usr/bin/nodemecu
echo "
Fichero de logs
"
touch $log
ls $log
echo "3. Configurando systemd
"
cp nodemecu.service /lib/systemd/system/
systemctl daemon-reload
systemctl enable nodemecu.service
systemctl start nodemecu.service
systemctl status nodemecu.service

View file

@ -1,42 +0,0 @@
#!/bin/bash
files="data_gen.sh monitor.sh register.sh uninstall.sh monitor.web bin functions counter"
config=nodemecu.conf.sample
source $config
echo -e "1. Instalando dependencias"
#sudo apt update && sudo apt install -y jq uuid-runtime dnsmasq dnsutils
sudo pip install pyserial
echo ""
# Estructura de directorios
echo -e "2. Creando directorios y copiando archivos"
sudo mkdir -vp $install_dir/archives/historical
sudo mkdir -vp $install_dir/archives/logs
sudo mkdir $historical
sudo mkdir $stack
echo ""
sudo cp -vr $files $install_dir
sudo cp -v $config /etc/nodemecu.conf
sudo ln -s $install_dir/bin/nodemecu /usr/bin/nodemecu
sudo touch $log
echo ""
echo "3. Configurando systemd"
sudo cp nodemecu.service /lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable nodemecu.service
sudo systemctl start nodemecu.service
sudo systemctl status nodemecu.service
echo ""
echo ". Alias de comandos."
echo "alias nodemecu='sudo nodemecu'" >> $HOME/.bashrc
echo ""
echo "Ejecute 'source ~/.bashrc' para aplicar los cambios."
echo ""

View file

19
nodemecu.conf.ejemplo Normal file
View file

@ -0,0 +1,19 @@
url=
name=
interval=
mode=test
# AJUSTES GENERALES
# SE RECOMIENDA NO MODIFICAR ESTAS LINEAS
curl_err=/tmp/curl_err
historical_file_size=1440
logs_file_size=1440
directorio_instalacion=/opt/nodemecu
registros=$directorio_instalacion/registros
historicos=$directorio_instalacion/historicos
log=/var/log/nodemecu_errors.log
registros_corruptos=$directorio_instalacion/corruptos
envios_fallidos=$directorio_instalacion/fallidos

View file

@ -1,16 +0,0 @@
url=https://ectomobile.sutty.nl/transactions
name=
interval=
mode=test
# AJUSTES GENERALES
# SE RECOMIENDA NO MODIFICAR ESTAS LINEAS
curl_err=/tmp/curl_err
historical_file_size=1440
logs_file_size=1440
install_dir=/opt/nodemecu
stack=$install_dir/stack
historical=$install_dir/historical
log=$install_dir/errors.log
corrupt=$install_dir/corrupt

View file

@ -2,6 +2,8 @@
Description=Procesador de pila y transmisor de datos Nodemecu. Description=Procesador de pila y transmisor de datos Nodemecu.
[Service] [Service]
Restart=on-failure
RestartSec=5s
ExecStart=/opt/nodemecu/register.sh ExecStart=/opt/nodemecu/register.sh
[Install] [Install]