Nota
Ciao, benvenuto nella Community di appassionati di SunFounder Raspberry Pi, Arduino e ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.
Perché unirti?
Supporto esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e alle anteprime.
Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni festive e giveaway: Partecipa a promozioni festive e concorsi a premi.
👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!
3. Sistema di Sicurezza tramite @IFTTT
Con questo progetto, creiamo un dispositivo di sicurezza che utilizza un sensore PIR per rilevare quando un ladro o un animale randagio entra nella tua casa. In tal caso, riceverai un’email di avviso.
Il servizio più semplice da utilizzare sarà Webhook. Una richiesta POST viene inviata al servizio IFTTT da Raspberry Pi Pico W. Usando IFTTT, creeremo un Applet che intercetta il webhook e invia un’email.
Avvertimento
la politica dei prezzi di IFTTT è stata aggiornata. L’utilizzo di questo progetto potrebbe comportare costi aggiuntivi. Si prega di prenderne visione in anticipo.
1. Componenti necessari
In questo progetto, abbiamo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
Kit Kepler |
450+ |
Puoi anche acquistarli separatamente dai link qui sotto.
SN |
COMPONENTE |
QUANTITÀ |
LINK |
|---|---|---|---|
1 |
1 |
||
2 |
Cavo Micro USB |
1 |
|
3 |
1 |
||
4 |
Diverse |
||
5 |
1(S8050) |
||
6 |
2(1KΩ, 10KΩ) |
||
7 |
1 |
||
8 |
Cicalino attivo Cicalino |
1 |
|
9 |
1 |
||
10 |
Batteria 18650 |
1 |
|
11 |
Supporto batteria |
1 |
|
12 |
1 |
2. Costruisci il Circuito
Avvertimento
Assicurati che il modulo caricabatterie Li-po sia collegato come mostrato nello schema. Altrimenti, un cortocircuito potrebbe danneggiare la batteria e il circuito.
3. CONFIGURA IFTTT
IFTTT è un servizio gratuito che fornisce vari modi per collegare diversi servizi di dati tra loro.
Creeremo un Applet che reagisce a un webhook (URL personalizzato) che invia dati a IFTTT. IFTTT ti invierà quindi un’email.
Segui i passaggi seguenti su IFTTT.
Visita IFTTT per accedere o creare un account.
Clicca su Crea.
Aggiungi un evento If This.
Cerca Webhooks.
Tocca Ricevi una richiesta web.
Inserisci il nome dell’evento (es. SecurityWarning) e clicca su Crea trigger.
Aggiungi un evento Then That.
Cerca Email.
Clicca su Inviami un’email.
Compila Oggetto e Corpo, quindi clicca su Crea azione.
Clicca su Continua per completare la configurazione.
Modifica il nome del titolo e hai finito.
Ora verrai reindirizzato automaticamente alla pagina dei dettagli dell’Applet, dove puoi vedere che l’Applet è attualmente connesso e puoi attivare o disattivare l’interruttore.
4. Esegui lo Script
Ora che abbiamo creato l’Applet IFTTT, ci serve anche la chiave API che può essere ottenuta da Webhooks Settings per consentire a Pico W di accedere a IFTTT.
Copiala nello script
secrets.pyin Raspberry Pi Pico W.
Nota
Se non hai gli script
do_connect.pyesecrets.pynel tuo Pico W, fai riferimento a 1. Accesso alla Rete per crearli.secrets = { 'ssid': 'SSID', 'password': 'PASSWORD', 'webhooks_key':'WEBHOOKS_API_KEY' }
Apri il file
3_ifttt_mail.pynel percorsokepler-kit-main/iot, quindi clicca su File -> Salva con nome o premiCtrl+Shift+S.
Seleziona Raspberry Pi Pico nella finestra popup che appare.
Imposta il nome del file a
main.py. Apparirà un avviso se esiste già un file con lo stesso nome sul tuo Pico W.
Ora puoi scollegare il cavo USB e utilizzare il modulo caricabatterie Li-po per alimentare il Raspberry Pi Pico W. Sentirai un beep quando lo script sarà in esecuzione. Il cicalino continuerà a suonare se il modulo PIR rileva una persona/creatura di passaggio, e ti verrà inviata un’email di avviso. Lo script può essere riavviato premendo il pulsante.
Come funziona?
Il Raspberry Pi Pico W deve essere connesso a Internet, come descritto in 1. Accesso alla Rete. Per questo progetto, usalo semplicemente.
from do_connect import *
do_connect()
Legge i dati dal modulo PIR e chiama la funzione motion_detected() se rileva qualcuno che passa (dati da 0 a 1).
import machine
sensor=machine.Pin(17,machine.Pin.IN)
sensor.irq(trigger=machine.Pin.IRQ_RISING, handler=motion_detected)
Successivamente il Pico W invia i dati a IFTTT. Come puoi vedere, il messaggio che invii a IFTTT è una stringa di url.
IFTTT identifica il mittente tramite secrets['webhooks_key'], l’evento attivato è identificato da event.
Quindi, assicurati che siano corretti.
import urequests
from secrets import *
event='SecurityWarning'
message=f"https://maker.ifttt.com/trigger/{event}/with/key/{secrets['webhooks_key']}"
def motion_detected(pin):
urequests.post(message)
print(message)
global warn_flag
warn_flag=True
sensor.irq(handler=None)
Quando viene chiamato motion_detected(), la variabile warn_flag viene impostata su True, facendo sì che il cicalino continui a suonare.
while True:
if warn_flag==True:
alarm.toggle()
time.sleep_ms(50)
Lo scopo del pulsante qui è riavviare lo script.
button=machine.Pin(16,machine.Pin.IN)
def reset_device(pin):
machine.reset()
button.irq(trigger=machine.Pin.IRQ_RISING, handler=reset_device)