Update wifi-connect.sh

This commit is contained in:
Script Proyect by HP3ICC 2024-09-16 22:46:32 +00:00
parent a636e2b875
commit 6c151dfe20
1 changed files with 41 additions and 10 deletions

View File

@ -5,12 +5,26 @@ SCRIPT_NAME="wifi-connect.sh"
# Registra el inicio en /opt/curl.txt
echo "Inicio: $SCRIPT_NAME" >> /opt/curl.txt
if [ "$(cat /proc/cpuinfo | grep 'Raspberry')" != "" ]; then
bash -c "$(curl -fsSLk https://gitlab.com/hp3icc/emq-TE1/-/raw/main/install/docker.sh)"
cd /opt
wget https://raw.githubusercontent.com/balena-os/wifi-connect/master/scripts/raspbian-install.sh
sed -i "s/CONFIRMATION=.*/CONFIRMATION=false/" raspbian-install.sh
chmod +x raspbian-install.sh
./raspbian-install.sh
rm raspbian-install.sh
mkdir wc
sudo cat > /opt/wc/docker-compose.yml <<- "EOF"
version: "2.1"
services:
wifi-connect:
image: bh.cr/balenalabs/wifi-connect-rpi
restart: always
network_mode: host
privileged: true
labels:
io.balena.features.dbus: "1"
io.balena.features.firmware: "1"
volumes:
# - "py_wifi_connect_db:/app/db"
- "/run/dbus/system_bus_socket:/host/run/dbus/system_bus_socket" # <-- Montar el socket DBus correctamente
EOF
#auto ap
sudo cat > /usr/local/bin/autoap.sh <<- "EOF"
#!/bin/bash
@ -30,16 +44,33 @@ if ping -c 1 noip.com >/dev/null 2>&1; then
echo "Respuesta de ping recibida. Saliendo del script."
exit 0
else
# Si no recibe respuesta, detener servicios, ejecutar wifi-connect y entrar en ciclo de ping
# Si no recibe respuesta, detener servicios y ejecutar wifi-connect
for servicio in "${SERVICIOS[@]}"; do
if sudo systemctl is-enabled "$servicio" >/dev/null 2>&1 && sudo systemctl is-active "$servicio" >/dev/null 2>&1; then
sudo systemctl stop "$servicio"
fi
done
wifi-connect &
# Ejecutar docker-compose para iniciar wifi-connect
cd /opt/wc
docker-compose up -d
# Ciclo infinito de ping hasta recibir respuesta
# Ciclo infinito para verificar el ping
while true; do
if ping -c 1 noip.com >/dev/null 2>&1; then
# Si recibe respuesta de ping, ejecutar docker-compose down
cd /opt/wc
docker-compose down
# Salir del ciclo y continuar con el script
break
fi
# Esperar antes del siguiente intento de ping
sleep 5
done
# Continuar con el script después de recibir respuesta de ping
# Ciclo infinito de ping hasta recibir respuesta y reiniciar servicios
while true; do
if ping -c 1 noip.com >/dev/null 2>&1; then
# Recibió respuesta de ping, verificar y reiniciar servicios
@ -48,8 +79,9 @@ else
sudo systemctl restart "$servicio"
fi
done
# Finalizar el script
echo "Respuesta de ping recibida. Saliendo del script."
echo "Respuesta de ping recibida. Servicios reiniciados. Saliendo del script."
exit 0
fi
# Esperar antes de realizar el siguiente intento de ping
@ -57,7 +89,6 @@ else
done
fi
EOF
sudo chmod +x /usr/local/bin/autoap.sh
##