Sommario:

Sistema di sicurezza domestica DSC abilitato per Internet: 22 passaggi
Sistema di sicurezza domestica DSC abilitato per Internet: 22 passaggi

Video: Sistema di sicurezza domestica DSC abilitato per Internet: 22 passaggi

Video: Sistema di sicurezza domestica DSC abilitato per Internet: 22 passaggi
Video: Ecco come i LADRI entrano a casa tua - Sensore da esterno - Versione migliorata 2024, Dicembre
Anonim

Modificare un sistema di sicurezza domestica DSC esistente per essere abilitato a Internet e automonitorato.

Questa istruzione presuppone che tu abbia un Raspberry Pi funzionante.

Si prega di notare che questa implementazione presenta i seguenti difetti:

  • Se un ladro taglia il cavo DSL in ingresso o il servizio Internet viene perso, il monitoraggio da Internet è disabilitato

    Futuro: la soluzione a questo problema consiste nell'utilizzare un servizio di solo backup LTE a basso costo

  • I sensori DSC non indicano se le porte o le finestre sono bloccate, solo che sono chiuse

    Futuro: aggiungi un pulsante a levetta attivato dal chiavistello della serratura della porta. Ciò richiederà un lavoro significativo per eseguire il cablaggio senza distruggere lo stipite della porta

  • DSC supporta l'integrazione dell'allarme antincendio. Tuttavia, l'allarme antincendio di casa mia non è integrato

    Futuro: integra l'allarme antincendio nel pannello di controllo DSC

  • Il sistema DSC installato non dispone di un sensore per la porta basculante

    In precedenza, ho creato un apriporta per garage istruibile e posso leggere che la porta è aperta o chiusa

Gli obiettivi di questo progetto sono:

  • Invia avvisi del sistema di sicurezza al mio cellulare
  • Controlla o imposta lo stato del sistema di sicurezza da una pagina web sicura
  • Esegui la soluzione su un raspberry pi sicuro (https e certificati)
  • Utilizzare il sistema DSC esistente per l'automonitoraggio
  • Aggiungi EnvisaLink 3 per aggiungere il supporto Ethernet al sistema DSC
  • Scrivere software di automonitoraggio
  • Crea un istruibile per questo sforzo

Nota: in questo documento, il testo racchiuso tra [parentesi quadre] deve essere sostituito con un valore effettivo

La mia famiglia non è mai stata derubata della nostra casa e viviamo in una zona a bassa criminalità. Non c'è una ragione convincente per fare questo progetto, tranne che è stato interessante e divertente.

Si prega di notare che c'è un'eccellente scorciatoia per questo istruibile. Una volta che Envisalink 3 è attivo e funzionante, puoi utilizzare la soluzione standard fornita da Eyes-On chiamata EnvisAlerts e EnvisAlarm, che invia avvisi e monitora la tua casa e/o un'app mobile molto interessante chiamata DSC Security Server di Mike P. Mi sono iscritto a EnvisAlerts e ho acquistato DSC Security Server di Mike P. Sono rimasto molto soddisfatto di entrambi, ma volevo la mia versione.

Passaggio 1: risoluzione dei problemi e dati univoci

Ci sono alcuni dati a cui mi riferisco spesso e mi piace includere questi dati in primo piano.

Allarme – abilita e disabilita

Assicurati che tutte le porte e le finestre siano chiuse. Sul pannello di controllo, inserisci il codice principale:

[codice principale] = [il tuo codice principale]

Disabilita la linea telefonica

La mia casa ha una linea telefonica fissa, ma non ho un servizio di linea fissa. Intorno alle 23:00 ogni notte il sistema emette un segnale acustico. Se il sistema perde potenza, è necessario reinserirlo. Per disabilitare questo segnale acustico, sulla tastiera digitare quanto segue:

  • Disabilita la linea telefonica: *8 5555 015 7 ##
  • Disattiva le trasmissioni di prova della linea telefonica *8 5555 371 9999 ##
  • Disattiva il combinatore telefonico: *8 5555 380 1 ##

Server avvisi Envisalink

Accedi a Envisaiink

Ottieni Envisalerts Server: 184.106.215.218

Router aperto U-verse: 192.168.1.254

Vai su Impostazioni, Firewall

Accesso a Envisalink

Apri browser

Inserisci l'indirizzo IP di Envisalink:

[envisalink nome utente] = utente

[envislink password] = [inserisci la tua password]

Indirizzo IP Envisalink

[Indirizzo IP Envisalink] = 192.168.1.92

Nome utente e password visibili

[nome utente eyes-on] = [il tuo nome utente envisalink]

[password visibile] = [password di envisalink]

Codice installatore

[Codice Installatore] = [Inserisci il tuo Codice Installatore]

5555 è il codice predefinito. Puoi chiedere il codice al tuo installatore oppure puoi eseguire un ripristino delle impostazioni di fabbrica, che lo riporta a 5555. Non consiglio di eseguire un ripristino delle impostazioni di fabbrica perché esiste una significativa possibilità di danneggiare il sistema.

Codice principale

[MasterCode] = [inserisci il tuo codice principale]

IP Raspberry Pi

[Raspberry Pi IP] = [inserisci il tuo indirizzo IP Raspberry Pi, qualcosa come 192.168.1.57]

Accesso a Raspberry Pi da Mac Book

Su Mac Book, apri il terminale

ssh pi@[IP Raspberry Pi]

[Parola d'ordine]

Password Raspberry Pi

Password = [la tua password Raspberry Pi]

Router

Indirizzo IP del router =[inserisci l'indirizzo IP del tuo router]

Imposta ora e data DSC

*611301hhmmMMGGAA#

hh sono in tempo militare, per il pomeriggio aggiungi 12. Quindi, le 16:00 sono le 16

Programmazione zona

Tipo di allarme di zona

01 - Allarme dopo aver fornito un ritardo (predefinito 60 secondi) in modalità Stay o Away

03 – Allarme istantaneo se violato in modalità Stay o Away

05 – Sensore di movimento interno. Allarme istantaneo se violato solo in modalità Away (bypassa in Stay)

Sulla tastiera, inserire:

*8 [Codice Installatore] 001 01 03 05 05 87 # #

Spiegazione della sequenza di codice sopra:

  • *8 [Codice Installatore]
  • 001 – Questo ti porta nella programmazione delle zone per le zone
  • 01 03 05 05 87 – Questa è la mia sequenza di tipi di allarme di zona, nell'ordine di zona da 1 a 5.
  • Tutte le zone devono essere impostate correttamente.
  • # # – Questo salva ciò che hai fatto e ti fa uscire dalla modalità di programmazione.

Passaggio 2: trova i numeri di modello della tastiera e del pannello di controllo

Trova i numeri di modello della tastiera e del pannello di controllo
Trova i numeri di modello della tastiera e del pannello di controllo
Trova i numeri di modello della tastiera e del pannello di controllo
Trova i numeri di modello della tastiera e del pannello di controllo
Trova i numeri di modello della tastiera e del pannello di controllo
Trova i numeri di modello della tastiera e del pannello di controllo
Trova i numeri di modello della tastiera e del pannello di controllo
Trova i numeri di modello della tastiera e del pannello di controllo

Trova il numero di modello della tastiera. La tastiera DSC è vicino a una porta (immagine 1 e 2). A casa mia c'è una tastiera vicino alla porta del garage e una vicino alla porta d'ingresso.

Trova il numero di modello del pannello di controllo. La tastiera ha un adesivo sulla parte superiore e il numero del modello è al centro. Il mio è un PK5501 (immagine 3 e 4).

Un altro modo per farlo è:

  • Su un computer, apri un browser
  • Vai a

Il mio pannello di controllo si trova in una scatola di metallo in un armadio (immagine 3). Apri la scatola di metallo e al centro del pannello di controllo c'è un adesivo con il numero del modello. Il numero di modello del mio pannello di controllo è PC1616 (immagine 4).

Passaggio 3: verifica se EnvisaLink 3 è compatibile con il tuo sistema di sicurezza

Fare clic sul collegamento eyeson.com.

Scorri verso il basso fino alla compatibilità del pannello e verifica se il tuo è elencato. In caso contrario, controlla con EyesOn.

Passaggio 4: ottenere la documentazione DSC

DSC offre un manuale utente, ma la maggior parte degli altri documenti richiede che tu sia un installatore

  • Per la centrale, trovare il Manuale dell'installatore, il Manuale dell'utente, il Manuale di riferimento e il Foglio di lavoro di programmazione.
  • Per la tastiera, trovare il Manuale di installazione. I manuali che ho trovato erano tutti file PDF.

Diverse fonti non DSC di manuali DSC sono disponibili on-line. I manuali DSC non sono necessari per questa istruzione. Questi sono solo riferimenti se si desidera estendere l'istruzione o se il sistema utilizza parti diverse.

LiveWatch.com è la migliore fonte di manuali DSC. LiveWatch è stato anche molto utile nel rispondere alle domande e nel farmi sbloccare. Non avrei potuto completare questo istruibile senza l'aiuto di LiveWatch.

Passaggio 5: acquistare o raccogliere parti e strumenti

A) Sistema di sicurezza DSC con tastiere PK5501, centrale PC1616 e sensori multipli (finestre, porte e movimento). Il sistema di sicurezza è arrivato con la casa.

B) Ordina EnvisaLink 3 - $ 119 + S&H. www.eyezon.com

C) Provider Internet AT&T U-verse, gateway DSL

D) Switch gestito da NetGear a 24 porte

E) Recinto invisibile per cani o filo del termostato

F) Cavo Ethernet CAT5E

G) Quattro cavi AWG calibro 18-22 lunghi circa 6 pollici (rosso, nero giallo, verde)

H) Pinze ad ago

I) Trapano e punta da trapano in metallo da 3/16 e punta da trapano molto piccola

J) Nastro da elettricista nero

K) Cacciavite a testa piatta molto piccolo (ne ho uno per fissare gli occhiali quando cade la vite)

L) Mini interruttore a pulsante momentaneo SPST, normalmente chiuso

M) Custodia in plastica piccola (filo interdentale)

N) Coltello esatto

Passaggio 6: installazione di EnvisaLink 3

Installazione di EnvisaLink 3
Installazione di EnvisaLink 3
Installazione di EnvisaLink 3
Installazione di EnvisaLink 3

Non avrei dovuto seguire le istruzioni fornite con EnvisLink 3.

Il primo passo nelle istruzioni è quello di scollegare l'alimentazione dal PC1616. Ho pensato che questo significasse sia l'alimentazione CA che l'alimentazione di backup della batteria. Ho disconnesso entrambi, quindi ho dovuto chiamare un tecnico per riattivare le tastiere. La chiamata di servizio era di $ 135.

  1. Il mio PC1616 è racchiuso in una custodia di metallo. Individua la scheda PC1616 del tuo sistema di sicurezza.
  2. Usa l'EV3 per creare un modello di carta per i fori offset. Il modello viene utilizzato per contrassegnare i fori sulla custodia in metallo. Poiché era più facile avvitare dall'esterno della scatola verso l'interno, ho dovuto invertire il modello.
  3. Scotch la sagoma all'esterno della scatola di metallo contenente il PC1616. Scegli un posto che abbia abbastanza spazio per ospitare Envisalink 3.
  4. Molto lentamente, utilizzando una punta da trapano in metallo da 3/16" e la sagoma, praticare 3 fori sul lato della scatola di metallo.
  5. Dall'interno della custodia in metallo, inserire gli offset in plastica nei fori
  6. Installare la scheda EV3 nella scatola di metallo sugli offset in plastica.
  7. Spelare 1/4 "da entrambe le estremità dei fili rosso, nero, verde e giallo (oppure è possibile tagliare un cavo RJ11 e utilizzare i fili all'interno). Anche se entrambi funzioneranno, il filo del termostato solido è meglio del filo intrecciato perché il i connettori della scheda aderiscono più saldamente al cavo solido. Se si utilizza un cavo attorcigliato, attorcigliare saldamente le estremità, il che renderà più facile l'installazione.
  8. Scollegare il cavo nero dell'alimentazione CA dal controller DSC. Questo è il secondo filo da sinistra. Fare attenzione a non lasciare che l'estremità esposta del filo nero tocchi nulla. Ho avvolto l'estremità in nastro isolante fino a quando non ho finito i passaggi successivi. Se il filo nero tocca qualcosa, il trasformatore andrà in cortocircuito e dovrai chiamare una società di servizi per la sostituzione.
  9. Usando un cacciavite a testa piatta molto piccolo, installa i fili colorati nelle fessure appropriate su EV3.
  10. Una alla volta, allentare le viti rosse, verdi, gialle e nere sul controller DSC, ma SOLO quanto basta per far scorrere i nuovi cavi. Inserire il cavo del colore appropriato e serrare.
  11. Reinserire l'alimentazione CA (rimossa in G) al controller DSC.
  12. Utilizzando un cavo CAT5e o CAT6, collegare EnvisaLink 3 al router.

Passaggio 7: installare l'interruttore a pulsante di alimentazione momentanea

Installa il pulsante di accensione momentanea Toggle
Installa il pulsante di accensione momentanea Toggle

Ho avuto molti problemi con la programmazione di Envisalink e del controller DSC. Ho scoperto che spegnere e riaccendere il sistema ha riportato il sistema a un buono stato noto. Successivamente, ho aggiunto un interruttore a pulsante momentaneo. Esistono molti tipi di interruttore. Il normalmente chiuso è quello necessario.

A) Procurati una piccola scatola di plastica. Ho usato una custodia per il filo interdentale, che è il tipo che potrebbe darti un dentista dopo un appuntamento. Rimuovere il filo interdentale e le clip metalliche.

B) Praticare due piccoli fori per il cavo CA

C) Praticare o praticare un foro per l'interruttore momentaneo. Ho scoperto che era più facile usare un coltello esatto e poi praticare un foro. Aprire la custodia e tagliare metà del foro su un lato dell'apertura e l'altra metà sul lato adiacente. Quindi, quando la levetta momentanea scorre su un lato e quando la custodia è chiusa, la levetta momentanea è saldamente fissata.

D) Rimuovere l'alimentazione CA da Envisalink. Far passare il cavo di alimentazione CA attraverso uno dei piccoli fori e collegarlo al cavo dell'interruttore di alimentazione momentaneo. Avvolgere nel nastro dell'elettricista.

E) Spellare le estremità di un pezzo di filo di 3-4 pollici. Fai passare un'estremità attraverso l'altro piccolo foro nella custodia e collegalo all'altro cavo sull'interruttore momentaneo. Avvolgere in nastro isolante.

F) Collegare il secondo filo dall'interruttore momentaneo allo slot di alimentazione CA Envisalink

G) Usa lo scotch per sigillare la custodia

H) Controlla se l'interruttore funziona. Il sistema dovrebbe essere normalmente acceso. Quando si preme l'interruttore, le luci di Envisalink si spengono.

Passaggio 8: registra EnvisaLink 3

Una volta registrato, non puoi cancellarti. EyesOn raccoglie i tuoi dati e può aggiornare il software della tua scheda in qualsiasi momento, senza alcuna notifica. Se dovessi farlo di nuovo, non farei questo passaggio.

A) Aprire un browser e andare su www.eyezon.com, menu a discesa Supporto e selezionare EnvisaLink 3 Primer Guide

B) Seguire le indicazioni nel Primer (Registrati, Accedi, Aggiungi nuovo dispositivo, ecc.)

C) Nome utente = [nome utente visibile]

D) Password = [password visibile]

Passaggio 9: controllare l'installazione di EnvisaLink 3

Apri un browser e vai alla home page del tuo router.

  1. Apri un browser
  2. Immettere [Indirizzo IP del router]
  3. Nella scheda Home scorrere verso il basso fino a Dispositivi di rete domestica

Il mio U-verse Residenial Gateway (o router) mostra qualcosa come l'immagine 1.

Scorri verso il basso fino al dispositivo e dovrebbe assomigliare all'immagine 2.

Uno stato attivo significa che la scheda è installata e funzionante.

Fare clic su Dettagli per ottenere l'indirizzo IP di EnvisaLink. L'indirizzo IP può cambiare di volta in volta.

Apri un browser ed entra

[Indirizzo IP di Envisalink]

Inserisci nome utente e password:

[nome utente envisalink]

[visualizza la password del collegamento]

Inserisci nome utente e password dalla guida all'installazione. Il browser dovrebbe mostrare qualcosa come l'immagine 3.

Passaggio 10: modifica della password predefinita su Envisalink 3

A) Apri il browser

B) Vai a [Indirizzo IP Envisalink] /:80

Un esempio è 192.168.1.34/:80. Il /:80 è la porta.

C) In Modifica Password Utente” cambia password. Nota: il nome utente e la password predefiniti sono utente

D) Registra [password envisalink]

Passaggio 11: (scorciatoia) Genera Mobile Link [opzionale]

Non è necessario eseguire questo passaggio o il successivo, ma se vuoi farlo, questa è una buona opzione.

Eyez-On offre un servizio di monitoraggio completo. È facile da usare e funziona bene. Se si desidera utilizzare questo servizio, seguire le istruzioni nei passaggi 10 e 11. In caso contrario, passare al passaggio 12. Si prega di notare che ho eseguito sia 10 che 11 e quindi ho dovuto disabilitarli. Entrambi i servizi hanno funzionato bene e non ho avuto problemi, volevo solo farlo da solo.

A) Apri il browser e vai su Eyez-On

B) Login (in un passaggio precedente avresti dovuto creare un account)

C) Seleziona il collegamento al portale mobile

D) Fare clic su Genera collegamento mobile

www.eyez-on.com/EZMOBILE/index.php?mid=13b7d2f4e95b7d62dbcfb801a835064ee4406c79

E) Il collegamento è lungo. Invialo via email al tuo dispositivo mobile.

F) Apri il link sul tuo dispositivo mobile

G) Aprire un'altra finestra o scheda del browser e andare su Eyez-On, selezionare supporto e selezionare EnvisAlarms Monitoring Primer dal menu a discesa

H) Seguire le indicazioni per scaricare il software di automonitoraggio EV3

I) Seguire le indicazioni per impostare come si desidera monitorare

Passaggio 12: installa l'app DSC Server sul tuo smartphone [opzionale]

Non è necessario eseguire questo passaggio o il precedente, ma se si desidera farlo, questa è una buona opzione.

A) Vai su Android o Apple Store e acquista l'app DSC Security Server da Mike P.

Se hai eseguito i due passaggi precedenti, hai finito! Dovresti essere in grado di monitorare e controllare il tuo sistema di sicurezza da remoto.

Passaggio 13: note importanti su Envisalink 3 e PC1616

La comunicazione da Envisalink 3 a EnvisAlerts utilizza UDP. La comunicazione da Envisalink 3 allo script utilizza TCP/IP.

La porta Ethernet di Envisalink 3 comunica solo a 10Mbps. La maggior parte dei router e degli switch Ethernet da 1 Gb o 100 Mb negozia automaticamente fino a 10 Mbps.

Nella sezione 022 del PC1616, l'opzione 1 non può essere abilitata. Questa opzione richiede un codice di accesso utente per accedere alle funzioni utente come l'esclusione delle zone, ecc. L'opzione è disattivata per impostazione predefinita.

La soppressione della tastiera e l'esclusione della zona devono essere disattivate affinché Envisalink funzioni.

Passaggio 14: annullare il lavoro nei due passaggi precedenti

Inizialmente, mi sono iscritto a Envisalerts e all'app di Mike P.

Dal momento che non voglio inviare le mie informazioni di sicurezza inviate a Internet e non voglio che il software Envisalink 3 venga aggiornato senza il mio consenso, avevo bisogno di bloccare l'accesso a Internet di Envisalink 3.

A) Apri il browser

B) Vai al gateway AT&T U-verse 3801HGV. Inserisci nella casella URL del browser: 192.168.1.254

C) Accedi al gateway

D) Vai a Home

E) Scorri verso il basso fino a Envisalink

F) Clicca sui dettagli

  • Salva indirizzo MAC (noto anche come indirizzo hardware) = [Indirizzo MAC Envisalink]
  • [Indirizzo MAC Envisalink] = 00:1c:2a:00:9d:07

G) Vai su Impostazioni >> LAN >> Wireless

H) Scorri verso il basso per abilitare il filtro MAC

I) Fare clic su Filtro MAC

  • Fare clic su Modifica elenco dispositivi bloccati/consentiti
  • Fare clic su Abilita filtro MAC
  • Scorri verso il basso per inserire l'indirizzo MAC

J) Incolla l'indirizzo MAC di Envisalink

K) Fare clic su aggiungi alla lista

L) Fare clic su >> per passare a Dispositivi bloccati

M) Scorri verso l'alto e assicurati che la casella di controllo Filtro MAC sia selezionata

N) E Envisalink dovrebbe essere bloccato

Passaggio 15: raccogliere la documentazione necessaria e comprendere come è configurato il sistema

Volevo capire come controllare il sistema di sicurezza. Le migliori fonti sono:

Come programmare un sistema DSC - Un tutorial - richiesto per me per comprendere il documento TPI

EnvisaLink TM TPI Programmer's Document, versione 1.04 – descrive il set di comandi TPI

Foglio di lavoro di programmazione: un documento orribile, con un nome scadente, che descrive la configurazione del sistema di sicurezza

Il precedente proprietario non ha lasciato un foglio di lavoro di programmazione completato. Ho dovuto compilarlo da solo. Fondamentalmente, ho usato la tastiera per inserire i comandi finché non ho capito tutto. Il foglio di lavoro è un luogo in cui registrare la configurazione del sistema. Ok, ho mentito. Usa il foglio di lavoro come guida, ma registra la configurazione del tuo sistema in un documento di dimensioni normali.

Passaggio 16: Documento del programmatore dell'interfaccia di terze parti (TPI)

L'interfaccia di terze parti (TPI) è un insieme di comandi, risposte e codici di errore che consentono alle applicazioni di terze parti di interfacciarsi con EnvisaLink 3 tramite una connessione TCP/IP. Ho trovato questo documento molto confuso. Spero che questa spiegazione aiuti a spiegare un po' meglio il documento.

In generale, tutti i comandi, le risposte e i codici di errore TPI sono di tre cifre:

  • I comandi sono maggiori o uguali a 500
  • Le risposte sono inferiori o uguali a 200
  • I codici di errore sono compresi tra 000 e 027, ma anche le risposte sono in questo intervallo

I dati vengono aggiunti alla fine di un comando o di una risposta. Ad esempio, un comando di accesso potrebbe essere:

005pswdCS\n\r

dove,

pswd = sono dati, in questo caso, la tua password

Sono richiesti:

  • CS = checksum
  • n = carattere di nuova riga
  • r = carattere di ritorno a capo

In rete ho trovato molte implementazioni per il calcolo del checksum. Il checksum è richiesto e molte implementazioni non hanno funzionato. Non sono sicuro del motivo per cui così tanti non hanno funzionato per me. Potrebbe essere un codice errato o potrebbero essere diverse versioni della scheda o versioni del firmware in esecuzione sulla scheda. Il mio codice di checksum funziona per la mia scheda e il firmware.

EnvisaLink funge da server per una connessione TCP a un'applicazione client. Il client deve essere eseguito solo su un server sicuro in grado di comunicare con EnvisaLink 3. Il server del client deve essere sulla rete domestica, ma non deve essere aperto a Internet. È richiesto un certificato autofirmato (vedi il mio altro istruibile per un apriporta da garage).

EnvisaLink è in ascolto sulla porta 4025 e accetterà solo una connessione client. Le connessioni successive verranno negate. EnvisaLink chiuderà la connessione se il client chiude il suo lato.

Per avviare una connessione:

  • Il client avvia una sessione TCP stabilendo un socket TCP.
  • Il cliente invia un comando di accesso [005]
  • EnvisaLink risponde con uno o più [505]
  • Se i dati del comando [505] sono 3, entro 10 secondi rispondi con un comando di accesso [005]
  • Se i dati [505] contengono un 1, l'accesso ha esito positivo

I dati del comando di accesso sono una password lunga fino a sei caratteri, che è la stessa password per accedere alla pagina Web locale di EnvisaLink.

Vedere la descrizione del comando 505 nel manuale TPI per una descrizione di tutti i dati.

Una volta accettata la password, la sessione viene creata e continuerà fino all'interruzione della connessione TCP.

Passaggio 17: script di controllo della riga di comando

Ho usato i documenti del passaggio precedente per sviluppare uno script Python interattivo che potesse essere eseguito da una riga di comando su una finestra di Mac Book Terminal. Ecco alcuni commenti chiarificatori:

  • Potrei aver esagerato un po', ma penso che tutti i comandi siano nello script.
  • Lo script Python da riga di comando, ev3.py, può essere scaricato da questo link: GitHub. Scarica ev3.py.
  • Copia lo script in una directory [directory].
  • Apri una finestra del terminale (fai clic su Disco MacBook, Applicazioni, Utilità, Terminale).
  • Uso spesso una finestra di terminale. Quindi, ho l'app del terminale bloccata sul dock.
  • Se eseguito da un computer, modificare self.file_log = sys.stderr, come indicato nello script.
  • Nella finestra del terminale, passare alla directory ed eseguire lo script:

$ cd [cartella]

$ python envisalink.py

  • Digita [return] per vedere i comandi validi.
  • Digita [ctrl-c] per uscire dal programma.

Passaggio 18: breve spiegazione

Voglio impostare o monitorare il sistema di sicurezza da uno smartphone, tablet o PC. Una soluzione semplice è sviluppare un sito web.

Lo script Python della riga di comando monitora il sistema di sicurezza e può modificare lo stato del sistema. Tuttavia, non fornisce una buona capacità di visualizzazione remota.

Un sito Web fornisce un'interfaccia eccellente per il monitoraggio e la modifica del sistema di sicurezza. Tuttavia, il sito Web è "in esecuzione" solo quando viene visualizzato. Considerando che lo script della riga di comando dovrebbe essere sempre in esecuzione. Quando lo script è in esecuzione, nessuno potrebbe guardare il sito web. Quindi, i dati raccolti dallo script dovrebbero essere archiviati in un database fino a quando qualcuno non vorrà visualizzarli.

Inoltre, un utente dovrebbe essere in grado di modificare lo stato del sistema di sicurezza (inserimento, disinserimento). Quando si verificano cambiamenti di stato, le modifiche dovrebbero essere apportate rapidamente.

Sia lo script che il database sono potenziali punti di errore, è necessario un altro script che controlli periodicamente se tutto funziona e riavvia lo script se necessario.

Passi saltati

Dovrai eseguire questi passaggi (vedi l'istruzione per l'apertura della porta del garage per alcuni di questi passaggi)

A) Imposta Raspberry Pi: in realtà puoi eseguirlo su qualsiasi server

B) Installa Python

C) Creare un certificato autofirmato e installarlo sul Raspberry Pi e su tutti i dispositivi a cui si desidera accedere al sito web

D) Impedisci alle persone senza il tuo certificato autofirmato di accedere al tuo sistema di sicurezza

Passaggio 19: installare SQLite

Le solite scelte del DB sono MySQL o Postgres. Questa app ha bisogno di qualcosa di semplice come un file. Sapevo che SQLite era la scelta corretta quando ho letto,

  • https://sqlite.org/ è più piccolo di MySQL o postgres
  • SQLite compete con fopen. e
  • SQLite non è direttamente paragonabile a MySQL oa Postgres perché sta cercando di risolvere un problema diverso.

Ecco un'ottima fonte per configurare SQLite: Installa SQLite su un Raspberry Pi

Accedi al lampone ed esegui il comando:

$ sudo apt-get install sqlite3

$ sudo apt-get install php5-sqlite

Crea la banca dati:

$ sqlite3 security.db

Crea una tabella

sqlite > INIZIO;

sqlite > CREATE TABLE status (tdate DATE, ttime TIME, nome TEXT, valore TEXT);

sqlite > COMMIT;

Verifica che la tabella sia stata creata correttamente:

sqlite >.stato dello schema

Lo stato della tabella conterrà:

sistema: armato, disarmato

allarme: nessuno, incendio, panico, avviso

zone[1-6]: aperto, chiuso

script: connesso, connesso, in esecuzione

Inserisci alcuni dati nella tabella

sqlite > INIZIO;

sqlite > INSERT INTO status values(date('now'), time('now'), "system", "disarmed");

sqlite > INSERT INTO status values(date('now'), time('now'), "alarm", "none");

sqlite > INSERT INTO status values(date('now'), time('now'), "zone", "closed");

sqlite > INSERT INTO status values(date('now'), time('now'), "script", "running");

sqlite > INSERT INTO status values(date('now'), time('now'), "command", "");

sqlite > COMMIT;

Controlla i valori se inseriti correttamente

sqlite > SELECT * FROM stato WHERE nome="zona";

06-06-2015|17:39:52|zona1|chiusa

Esci da SQLite

sqlite >.quit

Sposta il db e modifica l'accesso:

$ mv security.db /var/www/db/security.db

$ chmod og+rw /var/www/

$ chmod og+rw /var/www/db/security.db

Passaggio 20: installa SQLite su MacBook [opzionale]

Mi piace sviluppare su Mac e poi spostare i risultati sul Raspberry Pi.

Vai alla pagina di download su sqlite.org e scarica sqlite-autoconf-*.tar.gz dalla sezione del codice sorgente

Su MacBook apri i download dal tuo account

Fare clic sul file tar.gx scaricato

Apri la finestra del terminale

Download di $ cd

$ cd sqlite-autoconf-[ultimo numero di versione]

$./configure --prefix=/usr/local

$ make

Il make richiede pochi minuti, sii paziente.

$ sudo make install

[Password MacBook]

Conferma che funziona:

$ sqlite3

sqlite>

Oppure prova

$ che sqlite3

Ripeti i passaggi nel passaggio precedente per configurare il database, la tabella e inserire i dati su MacBook (o utilizzare lo script. Se db non esiste, verrà creato e popolato).

Passaggio 21: per comunicare tra EnvisaLink 3 e Raspberry Pi Carica Mod_wsgi

Hai bisogno di mod_wsgi per farlo funzionare su Raspberry Pi.

Accedi a Raspberry Pi:

$ ssh pi@[Indirizzo IP Raspberry Pi]

inserire la password

quindi ottieni mod-wsgi

$ sudo apt-get install libapache2-mod-wsgi

Per eseguire ev3pi.py sulla riga di comando di Raspberry Pi:

$ sudo python ev3pi.py

Passaggio 22: scarica il software da GitHub

Modifica lo script della riga di comando per scrivere nel DB.

Queste sono buone spiegazioni per connettere uno script Python a SQLite:

  • SQLite da python.org
  • SQLite da python

Ho modificato il codice per parlare con SQLite. Puoi scaricare il codice qui: GitHub. Scarica ev3pi.py.

Apri una finestra del terminale e copia lo script python della riga di comando su raspberry pi

$ scp ev3pi.py pi@:/home/pi

Accedi a pi

$ ssh pi@

inserire la password

Sposta lo script in /usr/local/bin e cambia i privilegi

$ ssh pi@

$ sudo mv ev3pi.py /usr/local/bin

$ sudo chmod ug+x /usr/local/bin/ev3pi.py

o

$ sudo chmod 0755 /usr/local/bin/ ev3pi.py

Modifica lo script in modo che venga eseguito su Raspberry Pi. Vedi i commenti nel codice. Assicurati di usare il db in /var/www/db/security.db

Aggiorna il sito Web per scrivere comandi su DB

Facendo clic su un comando di sicurezza sul sito Web, scrive il comando nel database.

Al passaggio successivo del ciclo principale, il comando dovrebbe essere letto ed eseguito.

Scarica il codice security.php qui: GitHub. Scarica security.php.

script bash che controlla se ev3pi.py è in esecuzione o meno

Se ev3pi.py smette di funzionare per qualche motivo, dovrebbe iniziare a funzionare automaticamente. Questo script tenta di riavviare lo script.

Scarica il codice ev3chk.sh qui: GitHub. Scarica ev3chk.sh.

Script Python che arma e disarma automaticamente il sistema di sicurezza utilizzando una pianificazione

Questo script utilizza una pianificazione per inserire e disinserire il sistema di sicurezza in base all'ora del giorno e al giorno della settimana inseriti dall'utente. Se il campo ferie è impostato, l'inserimento e il disinserimento verranno ignorati.

Scarica il codice ev3auto.py qui: GitHub. Scarica ev3auto.py.

Pagina Web per visualizzare lo stato e inserire e disinserire il sistema

Questa è una pagina web piuttosto semplice, collegata a un sistema di automazione domestica più grande. Rinomina questo script in index e inseriscilo in /var/www sul tuo Raspberry Pi.

Scarica il codice security.php qui: GitHub. Scarica security.php.

crontab per verificare se lo script è in esecuzione

Modifica il Crontab per assicurarti che gli script siano in esecuzione.

Accedi a Raspberry Pi

$ sudo crontab -e

#

# controlla ogni 5 minuti se il sistema di sicurezza è in funzione

*/5 * * * * /usr/local/bin/ev3chk.sh >/dev/null 2>&1

#

# controlla ogni 15 minuti se il sistema di sicurezza è in buono stato

*/15 * * * * /usr/local/bin/ev3auto.chk >/dev/null 2>&1

Puoi scaricare il crontab qui: GitHub. Scarica crontab.

Consigliato: