Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • 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