Configurazione di IFTTT

IFTTT (If This Then That o If this happens then that happens) è una piattaforma che consente di riunire servizi in Applet e connessioni. Queste sono cose specifiche che possono accadere quando si collegano i servizi.

Utilizzeremo IFTTT come connettore tra Raspberry Pi (dati del sensore di movimento) e lo smartphone tramite il servizio di notifica IFTTT.

Iniziamo la creazione dell'applet facendo clic sul pulsante Crea:

image-13

La creazione di un'applet consiste nel definire cosa deve accadere prima e, se accade, cosa deve accadere poi. Quindi, per prima cosa, dobbiamo selezionare e configurare ciò che ci aspettiamo si verifichi facendo clic sul pulsante nero If This:

image-14

Cerchiamo e poi facciamo clic sul servizio Webhooks: .

image-15 

Il trigger Receive a web request si attiva ogni volta che il servizio riceve una richiesta web per notificare un evento. Tutto quello che dobbiamo fare è dare un nome all'evento (in questo caso lo chiamiamo motion) e cliccare sul pulsante Create trigger:

image-16

La prima metà della nostra applet è pronta. Ora dobbiamo selezionare ciò che vogliamo che si verifichi facendo clic sul pulsante nero Quindi:

image-17

Cercare e poi cliccare sul servizio Notifiche:

image-18

Selezionare l'opzione Invia una notifica dall'app IFTTT e scrivere il messaggio che si desidera far apparire sullo schermo dello smartphone. Questa azione invierà una notifica ai vostri dispositivi dalla app IFTTT:

image-19

Fare clic sul pulsante Finish. La creazione dell'applet è pronta e funzionante (connessa):

image-20

Modificare il titolo dell'applet in Allarme rilevamento movimento facendo clic su Modifica titolo.

Infine, aggiungere le righe per attivare il webhook IFTTT ogni volta che il sensore rileva un movimento (richiede l'importazione della libreria requests). Sul desktop di Raspberry Pi, aprire l'applicazione Geany in Menu Applicazioni → Programmazione → Geany Programmer's Editor e poi copiare e incollare il seguente codice:

<pre><code data-enlighter-language="Python">#! Motion detection in room #1

import RPi.GPIO as GPIO
import time
import requests

GPIO.setwarnings (False)
GPIO.setmode (GPIO.BOARD )
GPIO.setup (11, GPIO.IN)		#Read output from PIR motion sensor
GPIO.setup (3, GPIO.OUT)		#LED output pin

while True:
	i = GPIO.input (11)
	if i ==0:			# When output from motion sensor is LOW
		print ("No intruders in room #1")
		GPIO.output(3, 0)	#Turn off LED
		time.sleep(15)
	elif i ==1:			#when output from motion sensor is HIGH
		print ("Activity detected in room #1")
		GPIO.output(3, 1)	#Turn on LED
		r = requests.post('https://maker.ifttt.com/trigger/motion/with/key/cjodX8trC3YXPLMrESXb-Y')
		time.sleep(15)


Il seguente codice attiverà il servizio webhook di IFTTT ogni volta che il sensore rileva un movimento:

requests.post('https://maker.ifttt.com/trigger/motion/with/key/cbuaX9trB3YXKDTrENXb-X')


L'URL incluso nella funzione request.post richiede due valori:

https://maker.ifttt.com/trigger/nome-webhook/with/key/chiave-webhook

webhook-name: in questo caso, motion.

webhook-key: una chiave univoca per accedere al webhook (vedi chiave dei webhooks).