Sommario:

Ricevi avvisi e-mail dal tuo sistema di sicurezza domestica utilizzando Arduino: 3 passaggi
Ricevi avvisi e-mail dal tuo sistema di sicurezza domestica utilizzando Arduino: 3 passaggi

Video: Ricevi avvisi e-mail dal tuo sistema di sicurezza domestica utilizzando Arduino: 3 passaggi

Video: Ricevi avvisi e-mail dal tuo sistema di sicurezza domestica utilizzando Arduino: 3 passaggi
Video: Questo COSO da 37€ Protegge CASA tua, ti AVVISA dei LADRI e li INSEGUE pure! 2024, Dicembre
Anonim
Ricevi avvisi e-mail dal tuo sistema di sicurezza domestica utilizzando Arduino
Ricevi avvisi e-mail dal tuo sistema di sicurezza domestica utilizzando Arduino

Utilizzando Arduino, siamo facilmente in grado di aggiornare le funzionalità di posta elettronica di base praticamente in qualsiasi installazione di sistema di sicurezza esistente. Ciò è particolarmente adatto per i sistemi più vecchi che molto probabilmente sono stati a lungo disconnessi da un servizio di monitoraggio e avrebbero altrimenti un'utilità limitata. Questo NON è un sostituto per un servizio di monitoraggio.

Esistono prodotti disponibili in commercio, come l'envisalink, che aggiungono ulteriori funzionalità di comunicazione e controllo, ma non sono economici.

Questo progetto può essere completato per meno di $ 10.

Quello di cui hai bisogno:

  • Arduino - preferibilmente Uno o Mega
  • Schermo Ethernet W5100
  • Sistema di sicurezza - Quello utilizzato qui è un DSC Power 832 PC5010 ma è possibile utilizzare praticamente qualsiasi modello con un pin programmabile (o qualsiasi pin che abbia un cambiamento di stato misurabile).
  • Manuale di installazione e fogli di lavoro di programmazione: sarà necessario anche il codice dell'installatore per apportare le modifiche necessarie.
  • Una lunghezza di cavo a nucleo solido adatto per il collegamento ai pin dell'intestazione di Arduino.
  • Resistore da 10k per mettere a terra il pin di ingresso di Arduino.
  • Resistore da 1,5k per limitare la corrente che va al lato LED del fotoaccoppiatore. Il valore si basa sulla tensione di ingresso e sulla corrente massima del fotoaccoppiatore.
  • Optoaccoppiatore: ho usato un FOD817 ma questo è un circuito molto semplice con requisiti ampi, quindi ce ne sono letteralmente centinaia di altri che funzioneranno con specifiche lontanamente simili.
  • Cavo Ethernet.

Passaggio 1: programmare il sistema di sicurezza

Programma il sistema di sicurezza
Programma il sistema di sicurezza

Parola di cautela:

  • L'accesso al pannello di sicurezza o la modifica della configurazione dell'installazione può attivare un avviso di manomissione se si è attualmente abbonati a un servizio di monitoraggio.
  • Assicurati inoltre di tenere traccia di ogni modifica apportata in modo da poterla ripristinare in seguito, se necessario.

Quello che stiamo cercando di ottenere è leggere un cambiamento di stato dal sistema quando viene attivato l'allarme. La maggior parte dei sistemi ha un pin di uscita programmabile che possiamo usare per segnalare ad Arduino. È anche possibile utilizzare il segnale della sirena (senza dover apportare modifiche al sistema) ma saranno necessari circuiti aggiuntivi e la modifica del codice Arduino - non ho seguito questa strada perché il mio obiettivo principale era risolvere il problema codice, quindi modificherei comunque la configurazione.

Esattamente come programmarlo differisce tra i modelli, ma il concetto di base è lo stesso: fare riferimento al manuale di installazione del sistema per le specifiche. Nel sistema DSC sto usando:

  • Ho impostato il pin PGM1 per l'attivazione quando viene attivato l'allarme. Sezione[009], Opzione[01].
  • In questo sistema si impostano anche gli attributi di come e in quali condizioni funziona il pin - Sezione[141]:

    • Impostare l'attributo 3 su ON in modo che il pin sia normalmente aperto e venga commutato a massa quando viene attivato l'allarme. Fai sempre attenzione che i pin di ingresso di Arduino non ottengano più di 5 V (alcuni sono tolleranti solo a 3,3 V).
    • Tutti gli altri attributi sono impostati su OFF.

La maggior parte dei sistemi di sicurezza dispone di un modem integrato progettato per comunicare principalmente con una stazione di monitoraggio centrale attraverso le linee telefoniche. Se non ricevono costantemente conferma della ricezione dei dati inviati, verrà visualizzato un codice di errore. Alcuni possono essere impostati per inviare messaggi al cercapersone o per chiamare una linea personale senza che il sistema cerchi una risposta (quindi non visualizzando un codice di errore) quindi se il tuo lo fa e hai una linea fissa, puoi programmarlo per chiamare il tuo telefono) oltre a inviare un'e-mail in un evento.

Se non stai utilizzando un servizio di monitoraggio e/o il tuo sistema non può essere programmato per chiamare un numero di telefono normale senza lanciare un codice di errore, disabilitare il comunicatore e il monitor della linea telefonica (tlm) nella configurazione.

Passaggio 2: programma Arduino

Programma Arduino
Programma Arduino

Per prima cosa dobbiamo registrarci per un servizio da cui inviare la nostra email.

Il servizio che ho usato è smtp2go che è gratuito e funziona con Arduino: il codice sorgente utilizzato qui si basa sul codice di installazione dal loro sito.

www.smtp2go.com/

Dopo esserti registrato, devi codificare in base64 il nome utente e la password (che si trovano in "Impostazioni"> "Utenti") affinché possano essere utilizzati nello schizzo.

www.base64encode.org/

Codice sorgente:

github.com/hzmeister/arduino_alarm_email

Configura le sezioni con //commenti alle tue esigenze.

Carica su Arduino.

Aggiornare:

Le e-mail di smtp2go finiscono per andare nella cartella spam dopo un po' (anche se non le hai impostate). Ho provato temboo che era più affidabile (poiché utilizza gmail), ma i profili scadono dopo un mese, quindi anche questa non è un'opzione praticabile. Ho incluso il codice per l'invio da gmail con temboo utilizzando uno scudo w5100 se qualcuno ne ha bisogno (il loro codice richiede di utilizzare lo yun fuori produzione e costoso).

Questa versione utilizza temboo gmailv2 che esegue l'autenticazione utilizzando l'OAuth più affidabile con token di aggiornamento rispetto alla password dell'app utilizzata in gmailv1.

Fonte:

github.com/hzmeister/temboo-gmailv2

Alla fine ho deciso di utilizzare la mia e-mail fornita dall'ISP che ha la porta 25 aperta. È possibile utilizzare qualsiasi server/porta di posta smtp purché non richieda la crittografia della connessione (poiché il w5100 non lo supporta). Il vantaggio di utilizzare l'ISP fornito è che Google non lo contrassegna come spam. Il codice arduino è quasi lo stesso di smtp2go, ma con alcune modifiche/aggiornamenti minori.

Fonte:

github.com/hzmeister/arduino_alarm_emailV2

Passaggio 3: installazione dell'hardware e test

Installa hardware e prova
Installa hardware e prova
Installa hardware e prova
Installa hardware e prova

Installa lo shield w5100 su Arduino e montalo nell'enclosure. Il nastro in velcro funziona bene poiché non è conduttivo e rimovibile.

Ho usato un fotoaccoppiatore per isolare il segnale 13.7v pgm1 dall'ingresso 5v arduino e dalla massa. È un circuito "optoaccoppiatore non invertente".

All'attivazione dell'allarme pgm1 passa da aperto a massa completando il circuito.

Prova il sistema.

Usa il monitor seriale nell'IDE di Arduino per vedere lo stato dell'output.

Controlla la cartella spam se il monitor seriale mostra che l'e-mail è stata inviata con successo ma non la ricevi nella tua casella di posta.

Consigliato: