Sommario:

Notificatore porta Raspberry Pi: 6 passaggi (con immagini)
Notificatore porta Raspberry Pi: 6 passaggi (con immagini)

Video: Notificatore porta Raspberry Pi: 6 passaggi (con immagini)

Video: Notificatore porta Raspberry Pi: 6 passaggi (con immagini)
Video: ДОМАШНЯЯ БЕЗОПАСНОСТЬ RASPBERRY PI своими руками | Как создать дверной уведомитель для текстовых сообщений с помощью Raspberry Pi на Python 2024, Dicembre
Anonim
Notificatore porta Raspberry Pi
Notificatore porta Raspberry Pi

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

Forniture
Forniture

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

Cablaggio
Cablaggio
Cablaggio
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
  • e-mail
  • 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

test
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

Montaggio
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: