Sommario:
- Passaggio 1: materiali di consumo
- Passaggio 2: cablaggio
- Passaggio 3: impostare le cose
- Passaggio 4: codice ed esecuzione
- Passaggio 5: test
- Passaggio 6: montaggio
Video: Notificatore porta Raspberry Pi: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Ti sei mai chiesto se o quando le persone accedono alle porte? Vuoi un modo discreto, economico e veloce per monitorare il movimento della porta… e magari un piccolo progetto? Non guardare oltre! Questo dispositivo semplicistico terrà traccia delle vibrazioni emesse dalle porte in movimento e riferirà all'utente con un'e-mail a un indirizzo e-mail specificato.
Questo progetto ti darà un po' di pratica con Flask, Raspberry Pis, sensori GPIO e l'API Mandrill! Non solo è divertente da costruire, ma ha molte utilità. Attenti agli intrusi…
Passaggio 1: materiali di consumo
Hai ancora intenzione di costruire questo aggeggio? Ecco di cosa avrai bisogno:
- Raspberry Pi 3
- Scheda microSD
- 3 fili femmina-femmina
- 1 sensore di vibrazione
- Una banca di potere
- Strisce di comando
Se hai intenzione di realizzare questo progetto per più porte, moltiplica ciascuna delle forniture per quanti dispositivi ti serviranno.
Se stai costruendo/testando questo dispositivo, non è necessario avere quanto segue… tuttavia, sarebbe sicuramente molto utile.
- Un monitor di computer
- Una tastiera USB
- Kit di ricarica micro USB
Passaggio 2: cablaggio
Sebbene il Raspberry Pi sia un dispositivo elegante che viene fornito con molti sensori e periferiche diversi, dobbiamo aggiungere il sensore principale al cablaggio del Pi in modo che possa effettuare le misurazioni di cui abbiamo bisogno. Il sensore principale utilizzato in questo progetto può essere visto nell'immagine sopra: è un sensore di vibrazione ad alta sensibilità. Mentre potremmo usare una breadboard o qualche altro dispositivo di montaggio per posizionare questo sensore e far passare i nostri cavi, lo abbiamo semplicemente collegato tramite cavi da femmina a femmina direttamente ai pin del dispositivo Raspberry Pi.
Uno schema di cablaggio può essere trovato sopra (proveniente da https://www.piddlerintheroot.com/vibration-sensor/). Basta collegare tutti i cavi come mostrato in questa immagine e il sensore di vibrazione dovrebbe essere a posto. Tieni inoltre presente che alla fine avrai bisogno di una batteria per questo progetto, ma se stai testando è probabilmente utile avere il dispositivo collegato a una presa a muro.
Passaggio 3: impostare le cose
Congratulazioni! Sei arrivato fin qui. Andiamo avanti!
Ora inizieremo a lavorare direttamente con il Pi. Tutto quanto segue può essere fatto sul dispositivo con una tastiera e un monitor (o tramite SSH se ti senti a tuo agio).
C'è una grande quantità di impostazioni preliminari per far funzionare qualsiasi sensore GPIO con Pi e Flask. La pazienza è una virtù. Ci sono parecchie librerie Python che dovrai installare prima. Questo può essere fatto con Pip, un gestore di librerie/pacchetti per Python. Per usare, digita `pip install` Per nominare alcune delle librerie di cui avrai bisogno:
- richieste
- RPi. GPIO
- borraccia
- flask_restful
- pallone_wtf
- wtforms
- mandrillo
Potresti voler prendere un caffè mentre aspetti che si installino: potrebbe volerci un po' di tempo.
Ora che tutte le tue librerie sono installate, sei pronto per iniziare il tuo progetto Flask. Flask è un framework leggero che serve pagine dal dispositivo su cui è in esecuzione. In questo caso, il Raspberry Pi diventa un server. Abbastanza elegante, eh? Puoi imparare come configurare un'applicazione Flask molto semplice qui. Si prega di farlo prima di tentare una qualsiasi delle istruzioni successive.
Passaggio 4: codice ed esecuzione
Una volta completato, sei pronto per iniziare a creare i file di progetto. Di seguito ho incluso tutti i file di cui avrai bisogno: probabilmente dovresti riscrivere il codice, tuttavia, e non solo copiare i file (IMPARERAI DI PI!).
Ecco come dovrebbero apparire le organizzazioni di directory:
+-- iotapp | +-- cartella app | +-- modelli | +-- index.html | +-- _init_.py | +-- form.py | +-- mcemail.py | +-- route.py | +-- iotapp.py | +-- vibes.py
Metti tutti questi file in questo ordine corretto e dovresti essere in grado di far funzionare il tuo progetto in pochissimo tempo. Per eseguire quindi il tuo server Flask dovresti navigare nella directory principale. Dovresti quindi digitare:
$ export FLASK_APP=iotapp.py
$ python -m flask run --host 0.0.0.0
Con questo, dovresti ricevere un messaggio che indica che il tuo server è in esecuzione e dovresti essere in grado di servire la pagina dal dispositivo a un altro dispositivo sulla rete.
Ora sarebbe un buon momento per esaminare i tuoi file e provare davvero a capire cosa sta facendo il codice. Naturalmente, nessuno del codice è scolpito nella pietra… tutto può essere aggiornato/modificato per soddisfare le esigenze specifiche del progetto. Ad esempio, a partire da questo momento, quando il dispositivo esegue il POST dopo aver ricevuto l'input dal sensore di vibrazione, invia il timestamp di quando si è verificato l'input. Tuttavia, il server non salva questi dati. Questo può essere fatto se l'utente preferisce conservare le informazioni storiche e desidera mostrarle da qualche parte.
Una cosa che probabilmente noterai è che IL CODICE NON È COMPLETO. Questo progetto utilizza un'API esterna per l'invio di e-mail di notifica in caso di vibrazione (apertura della porta). Per configurarlo, dovrai creare un account Mandrill e creare una chiave API.
Una volta che hai verificato il tuo dominio di invio e hai una chiave API puoi inserire la tua chiave nel file `mcemail.py` (dove è presente) e regolare le informazioni di invio (modificando il parametro predefinito nello stesso file o passando in un'altra email nel file `routes.py` Se desideri più documentazione su Mandrill e su come usarlo, puoi trovarla qui.
Passaggio 5: test
Prima di montare il dispositivo nella sua posizione permanente, è probabilmente una buona idea testare tutto ciò che sta facendo. Ecco come gestisci le cose.
Il dispositivo sta effettivamente eseguendo due programmi: `vibes.py` e il server Flask. Il primo dovrebbe essere eseguito prima in background e poi il server Flask può essere eseguito. `vibes.py` sta semplicemente inviando un POST al server e il server interpreta la richiesta POST.
$ python vibes.py &
$ python -m flask run --host 0.0.0.0
Dovresti quindi essere in grado di navigare verso l'URI/IP corretto e impostare l'indirizzo email a cui desideri inviare tutte le tue notifiche. Dovresti toccare il sensore di vibrazione per provare a inviare alcune e-mail di prova e assicurarti che il progetto funzioni.
Sembra tutto a posto? Ok, siamo pronti per gli affari!
Passaggio 6: montaggio
Il montaggio del dispositivo è abbastanza autoesplicativo. Fondamentalmente, devi solo assicurarti che il dispositivo sia collegato al pacco batteria e utilizzare le strisce di comando per fissare il dispositivo alla porta.
Nota: il dispositivo deve essere posizionato con il sensore di vibrazione perpendicolare alla porta affinché il sensore possa rilevare il movimento della porta
Una volta completato, dovresti essere in grado di eseguire l'SSH nel dispositivo ed eseguire i programmi come menzionato nel passaggio precedente e attendere gli intrusi!
Per ulteriori punti, prova a nascondere i cavi/dispositivo in modo che gli intrusi non sospettino il tuo dispositivo intelligente!… o semplicemente non posizionarlo su una porta di vetro. ¯\_(ツ)_/¯
Consigliato:
Notificatore di chiamata Bluetooth: 5 passaggi (con immagini)
Notificatore di chiamata Bluetooth: introduzione Stavo sfogliando il feed di notizie sulle istruzioni alcuni giorni fa quando mi sono imbattuto in questo progetto. È stato un progetto interessante. Ma ho pensato perché non costruirlo con un Bluetooth invece di complicate cose wifi. Specifiche di questo notificatore di chiamate Bluetooth
Notificatore IoT che utilizza ESP-12E: 7 passaggi (con immagini)
Notificatore IoT che utilizza ESP-12E: bloccato a casa lontano dalla persona amata? In questo momento difficile, questo piccolo progetto divertente cercherà sicuramente di portare un sorriso sui vostri volti. In questo Instructable, ti mostrerò come visualizzare le notifiche dal tuo telefono cellulare sotto forma di
Notificatore di cassette postali e porte del garage: 5 passaggi (con immagini)
Notificatore di cassette postali e porte del garage: questo Instructables è basato su Notificatore di cassette postali di Johan Moberg. Rispetto a questo progetto, ho apportato alcune modifiche: lontano da casa mia non c'è solo la cassetta delle lettere, ma anche il garage. Sono in una posizione vicino alla strada e la casa si trova a circa 5
Blüp: il notificatore di bolle: 11 passaggi (con immagini)
Blüp: il Bubble Notifier: stavo cercando un sistema di notifica più morbido e meno brusco di un avviso basato su vibrazioni, suoni o luci. Non riuscivo a trovare nulla che corrispondesse a quei criteri, quindi ho deciso di crearne uno mio. Inoltre, volevo che la mia soluzione incorporasse il mio personale
Notificatore meteo basato su GSM SIM900: 3 passaggi (con immagini)
Notificatore meteo basato su GSM SIM900: abbiamo sempre bisogno di aggiornamenti meteo sul nostro telefono cellulare. Può provenire dall'app online o dall'app di sistema tramite Internet. Ma qui ti mostrerò un modo per utilizzare la funzione di messaggistica di testo sui nostri cellulari per ottenere gli aggiornamenti di temperatura e umidità, puoi est