• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
python ad wifi ogni eseguire disconnessione

Eseguire python ad ogni disconnessione wifi
#1
Ciao a tutti.
Riesco tranquillamente a eseguire un py ad ogni ravvio e con l’intervallo di tempo con crontab.
Chiedo se fosse possibile eseguire un py dopo 2 minuti dall’avvio del sistema (a volte nn riesce ad eserguirlo...credo perche carichi il sistema e vuole un po’ di tempo) e se ci fosse qualche comando che ad ogni disconnessione del Wi-Fi...o meglio che ad ogni riconnessione del Wi-Fi si avvi in automatico.
Esempi: 1)si avvia raspian e dopo 2 minuti si esegue py
             2)si scollega la rete...si riconnette e subito dopo riesegue il py

Grazie mille
Risposta
#2
Puoi semplicemente fare un ping (o comunque contattare) ogni 30 sec verso un sito, tipo Google. Quando l'esito è positivo, eseguire il tuo script, altrimenti, no.
Con dei flag puoi fare on modo che venga eseguito solo dopo un esito negativo (riconnessione dopo una disconnessione) e non a ogni ciclo.
Risposta
#3
(22/09/2019, 08:46)Zzed Ha scritto: Puoi semplicemente fare un ping (o comunque contattare) ogni 30 sec verso un sito, tipo Google. Quando l'esito è positivo, eseguire il tuo script, altrimenti, no.
Con dei flag puoi fare on modo che venga eseguito solo dopo un esito negativo (riconnessione dopo una disconnessione) e non a ogni ciclo.

Bellissima idea...nn ci avevo minimamente pensato...
Grazie tante  Smile Smile
Risposta
#4
(22/09/2019, 08:46)Zzed Ha scritto: Puoi semplicemente fare un ping (o comunque contattare) ogni 30 sec verso un sito, tipo Google. Quando l'esito è positivo, eseguire il tuo script, altrimenti, no.
Con dei flag puoi fare on modo che venga eseguito solo dopo un esito negativo (riconnessione dopo una disconnessione) e non a ogni ciclo.



Scusami ma nn riesco a trovare nessuna guida su ciò che mi hai detto...posteresti aiutarmi grazie
Risposta
#5
bè, una soluzione abbastanza grezza potrebbe essere:

Codice:
#importo le librerie
import urllib2
from time import sleep

#impostazioni
sito = "http://www.google.it/"
stato_prec = "FALSE"
intervallo = 30

#ciclo
while True:
    try:
        sleep(intervallo)                   #attesa
        response = urllib2.urlopen(sito)    #interroga sito
        if response.geturl() == sito:       #se url identico
            raggiunto = "TRUE"
        else:
            raggiunto="FALSE"
    except:
        raggiunto="FALSE"                   #in caso di errore

    if raggiunto == "TRUE" and raggiunto != statoprec:
        statoprec = raggiunto
        # esegui qui il tuo codice o richiama atro script
        print"parte il programma"

    elif raggiunto == "TRUE" and raggiunto == statoprec:
        continue
    else:
        statoprec = "FALSE"

una più raffinata usare la libreria schedule per fare il controllo ogni tot, e se positivo, lanciare la funzione main dello script python che hai già (se non c'è, il programma principale va racchiuso in una funzione main)
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect