From 6c151dfe2083966933e538e58d12f2dd2997cd9e Mon Sep 17 00:00:00 2001 From: Script Proyect by HP3ICC Date: Mon, 16 Sep 2024 22:46:32 +0000 Subject: [PATCH] Update wifi-connect.sh --- install/wifi-connect.sh | 51 +++++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/install/wifi-connect.sh b/install/wifi-connect.sh index 6e7846e..fbc00dd 100644 --- a/install/wifi-connect.sh +++ b/install/wifi-connect.sh @@ -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 ##