• 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 script avvio all accensione

(Risolto) Avvio script Python all'accensione
#11
Ciao,
grazie per le dritte, sei sempre disponibile, però sono troppo acerbo, ho provato yagmail, ma non mi funziona, sicuramente sbaglio qualcosa, per ora lascio smtplib, mi serve fra una settimana questa cosa, poi vedrò con calma...
Volevo fare la lettura del pulsante tramite interrupt, ma cavolo, è tutto il pomeriggio cerco un esempio con gpiozero, e non li trovo, sembra che tutti usino rpi, non è che seguo guide vecchie Tongue è proprio che non ce ne sono con roba più aggiornata Tongue Trovo tutti esempi col led, e ok, ma non saprei come fare la parte invio mail dopo la lettura del pulsante... Se hai un link tu, me lo passeresti?
Grazie Smile
Risposta
#12
[code]
from gpiozero import Button
from signal import pause

def azione():
#fai qualcosa
print("Hai premuto il tasto !")

button = Button(2) button.when_pressed = azione

pause()
[/quote]

Ecco qui un esempio basico. Usando pause() e when_pressed usi un funzionamento a interrupt invece di un ciclo infinito per Controllare un tasto. Nella funzione (qui chiamata azione) metti quel che deve fare (nel tuo caso l'invio mail). Le funzioni sono in metodo un po' più avanzato (te le propongo a scopo didattico) ma permettono di scrivere software mantenendo semplice il programma principale, e di essere riutilizzate in software futuro in ottica modulare. (Ps le eventuali variabili che metti in una funzione valgono solo dentro la funzione).
gpiozero.readthedocs.io/en/stable/recipes.html

Inviato dal mio A0001 utilizzando Tapatalk
Risposta
#13
Se lo scopo è solo ricevere una notifica alla pressione do un tasto, ti andrebbe bene anche un messaggio Telegram? https://www.raspberryitaly.com/rpinotify/

Inviato dal mio A0001 utilizzando Tapatalk
Risposta
#14
Ciao,
aggiorno la situazione, ho risolto gli errori, mancava la libreria requests, ora il codice viene eseguito, la scritta prova viene stampata, quindi funziona la parte del pulsante e la parte programma, però di notifiche su telegram non ne arrivano, ho usato queste 2 stringhe per la richiesta GET, ma con entrambe non ricevo notificheù, sbaglio qualcosa? Questo il codice:

token="XXX"
testonoti="PROVA INVIO MESSAGGIO"
pin=17

# importazione librerie:
from gpiozero import Button
from signal import pause
import requests

def premuto():
requests.get('http://api.rpinotify.it/notification/token/text/testonoti')
print ("prova")

#programma:

button = Button(pin)
button.when_pressed=premuto
pause()

questa l'altra richiesta che ho provato:

requests.get('http://api.rpinotify.it/notification/{}/text/{}'.format(token, testonoti))

Grazie per gli eventuali aiuti Smile
Risposta
#15
Ciao,
vi aggiorno, ora funziona tutto, il problema era la stringa, ho trovato la descrizione nel sito ufficiale rpinotify.it
In pratica quindi ho gpiozero che lavora come interrupt e telegram che invia messaggi, sembra tutto perfetto...
Un piccolo dettaglio c'è, ho inserito oltre a me, per il messaggio in telegram, un'altra persona, accade che quando premo il tasto arrivano 2 messaggi insieme; sul pulsante c'è resistenza e condensatore per fare da antirimbalzo, però non sembrerebbe quello il problema, vi rimetto comunque il codice:

TOKEN1 = "xxxxx"
TOKEN2 = "xxxxx"

MSG1 = "Un sensore esterno ha rilevato un movimento"
MSG2 = "Rilevata mancanza rete 220"
MSG3 = "Pompa acqua accesa da troppo tempo"
MSG4 = "Disponibile"

# importazione librerie:
from gpiozero import Button
from signal import pause
import requests

def mail1():
   req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG1})
   req = requests.post('https://api.rpinotify.it/message/' + TOKEN2 + '/', data={'text': MSG1})
def mail2():
   req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG2})
def mail3():
   req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG3})
def mail4():
   req = requests.post('https://api.rpinotify.it/message/' + TOKEN1 + '/', data={'text': MSG4})

#programma:
ingr1 = Button (17)
ingr2 = Button (27)
ingr3 = Button (22)
ingr4 = Button (5)
ingr1.when_pressed=mail1
ingr2.when_pressed=mail2
ingr3.when_pressed=mail3
ingr4.when_pressed=mail4
pause()
Risposta
  


Vai al forum:


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