Messaggi: 6,940
Discussioni: 270
Registrato: Mar 2015
Reputazione:
368
[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
Messaggi: 64
Discussioni: 10
Registrato: Jun 2019
Reputazione:
0
09/07/2019, 21:19
(Questo messaggio è stato modificato l'ultima volta il: 11/07/2019, 20:56 da Thedrifter.)
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()