Taula de continguts:

Sistema de seguretat domèstic DSC habilitat per Internet: 22 passos
Sistema de seguretat domèstic DSC habilitat per Internet: 22 passos

Vídeo: Sistema de seguretat domèstic DSC habilitat per Internet: 22 passos

Vídeo: Sistema de seguretat domèstic DSC habilitat per Internet: 22 passos
Vídeo: 💻DAHUA CAMARA IP 😱 CONFIGURACION ON FIRE 🔥🔥 2024, Desembre
Anonim

Modifiqueu un sistema de seguretat domèstic DSC existent perquè estigui habilitat a Internet i s'autocontroli.

Aquesta instrucció suposa que teniu un Raspberry Pi en funcionament.

Tingueu en compte que aquesta implementació presenta les següents deficiències:

  • Si un lladre talla el cable DSL entrant o es perd el servei d'Internet, la supervisió des d'Internet es desactivarà

    Futur: la solució d’aquest problema és utilitzar un servei de còpia de seguretat LTE de baix cost

  • Els sensors DSC no indiquen si les portes o finestres estan bloquejades, només que estan tancades

    Futur: afegiu un commutador de polsador que s’activa mitjançant el pern del pany de la porta. Això suposarà un treball important per fer funcionar el cablejat sense destruir el brancal de la porta

  • DSC admet la integració d'alarma d'incendi. Tot i això, l’alarma d’incendi de casa meva no està integrada

    Futur: integrar l'alarma d'incendi al tauler de control DSC

  • El sistema DSC instal·lat no té cap sensor per a la porta aèria del garatge

    Abans, vaig crear un obridor de portes de garatge que podia instruir i puc llegir que la porta està oberta o tancada

Els objectius d’aquest projecte són:

  • Enviar alertes del sistema de seguretat al meu telèfon mòbil
  • Comproveu o configureu l'estat del sistema de seguretat des d'una pàgina web segura
  • Executeu la solució en un raspberry pi segur (https i certs)
  • Utilitzeu el sistema DSC existent per auto-supervisar-vos
  • Afegiu EnvisaLink 3 per afegir compatibilitat Ethernet al sistema DSC
  • Escriviu programari d’autocontrol
  • Creeu un instructiu per a aquest esforç

Nota: en aquest document, el text inclòs entre [claudàtors] s’ha de substituir per un valor real

A la meva família no se’ns ha robat mai la casa i vivim en una zona amb poca criminalitat. No hi ha cap raó convincent per fer aquest projecte, tret que fos interessant i divertit.

Tingueu en compte que hi ha una drecera excel·lent per a aquesta instrucció. Un cop l'Envisalink 3 estigui en funcionament, podeu utilitzar la solució de venda lliure que ofereix Eyes-On, anomenada EnvisAlerts i EnvisAlarm, que envia alertes i supervisa la vostra llar i / o una aplicació mòbil molt divertida anomenada DSC Security Server de Mike P. Em vaig inscriure a EnvisAlerts i vaig comprar el servidor de seguretat DSC de Mike P. Estava molt satisfet amb tots dos, però volia la meva pròpia versió.

Pas 1: resolució de problemes i dades úniques

Hi ha certes dades a les que faig referència sovint i m'agrada incloure aquestes dades a la part frontal.

Alarma: activa i desactiva

Assegureu-vos que totes les portes i finestres estan tancades. Al tauler de control, introduïu el codi mestre:

[codi mestre] = [el vostre codi mestre]

Desactiva la línia telefònica

La meva casa té una línia telefònica de terra, però no tinc servei de línia de terra. Al voltant de les 23:00 cada nit, el sistema emet un so. Si el sistema perd energia, cal tornar-lo a introduir. Per desactivar aquest so, al teclat introduïu el següent:

  • Desactiveu la línia telefònica: * 8 5555 015 7 ##
  • Desactiveu les transmissions de prova de la línia telefònica * 8 5555 371 9999 ##
  • Apagueu el marcador del telèfon: * 8 5555 380 1 ##

Servidor d'alertes Envisalink

Inicieu la sessió a Envisaiink

Obteniu el servidor Envisalerts: 184.106.215.218

Obre enrutador en U: 192.168.1.254

Aneu a Configuració, Tallafoc

Inici de sessió d'Envisalink

Obriu el navegador

Introduïu l'adreça IP d'Envisalink:

[prevalink username] = usuari

[envislink password] = [introduïu la vostra contrasenya]

Adreça IP d’Envisalink

[Adreça IP Envisalink] = 192.168.1.92

Nom d'usuari i contrasenya oculars

[eyes-on username] = [el vostre nom d'usuari prevalink]

[eyes-on password] = [contrasenya prevalink]

Codi de l’instal·lador

[Installer’s Code] = [Introduïu el codi del vostre instal·lador]

5555 és el codi per defecte. Podeu demanar el codi al vostre instal·lador o fer un restabliment de fàbrica, que torna a ser 5555. No recomano fer un restabliment de fàbrica perquè hi ha una possibilitat important de danyar el sistema.

Codi Mestre

[MasterCode] = [introduïu el vostre codi mestre]

IP de Raspberry Pi

[Raspberry Pi IP] = [introduïu la vostra adreça IP de Raspberry Pi, com ara 192.168.1.57]

Inici de sessió de Raspberry Pi des de Mac Book

A Mac Book, obriu el terminal

ssh pi @ [Raspberry Pi IP]

[Contrasenya]

Contrasenya de Raspberry Pi

Contrasenya = [la vostra contrasenya de Raspberry Pi]

Encaminador

Adreça IP del router = [introduïu l'adreça IP del vostre router]

Definiu l’hora i la data de DSC

* 611301hhmmMMDDYY #

hh estan en horari militar, per a la tarda afegiu 12. Per tant, les 16:00 són les 16

Programació de zones

Tipus d'alarma de zona

01 - Alarma després de proporcionar un retard (per defecte 60 segons) en el mode Stay o Away

03 - Alarma de manera instantània si es infringeix quan es troba en mode Estada o Lluny

05 - Sensor de moviment interior. Alarma de manera instantània si només es infringeix quan es passa el mode Away (passa per alt quan es manté)

Al teclat, introduïu:

* 8 [Codi d'instal·lació] 001 01 03 05 05 87 # #

Explicació de la seqüència de codis anterior:

  • * 8 [Codi de l'instal·lador]
  • 001: us introdueix a la programació de zones per a zones
  • 01 03 05 05 87 - Aquesta és la meva seqüència de tipus d'alarma de zona, en ordre de zona de l'1 al 5.
  • Totes les zones s’han d’establir correctament.
  • # #: Això estalvia el que heu fet i us fa sortir del mode de programació.

Pas 2: cerqueu els números del model del teclat i del tauler de control

Cerqueu els números del model del teclat i del tauler de control
Cerqueu els números del model del teclat i del tauler de control
Cerqueu els números del model del teclat i del tauler de control
Cerqueu els números del model del teclat i del tauler de control
Cerqueu els números del model del teclat i del tauler de control
Cerqueu els números del model del teclat i del tauler de control
Cerqueu els números de model del teclat i del tauler de control
Cerqueu els números de model del teclat i del tauler de control

Cerqueu el número de model del teclat. El teclat DSC és a prop d’una porta (imatges 1 i 2). A casa meva, hi ha un teclat a la porta del garatge i un altre a la porta principal.

Cerqueu el número de model del tauler de control. El teclat té un adhesiu a la part superior i el número de model es troba al centre. El meu és un PK5501 (imatges 3 i 4).

Una altra manera de fer-ho és:

  • En un ordinador, obriu un navegador
  • Aneu a

El meu tauler de control es troba en una caixa metàl·lica d’un armari (imatge 3). Obriu la caixa metàl·lica i al centre del tauler de control hi ha un adhesiu amb el número de model. El número del model del meu tauler de control és PC1616 (imatge 4).

Pas 3: comproveu si EnvisaLink 3 és compatible amb el vostre sistema de seguretat

Feu clic a l'enllaç eyeson.com.

Desplaceu-vos cap avall fins a la compatibilitat del tauler i comproveu si apareix la vostra. Si no, consulteu amb EyesOn.

Pas 4: Obteniu la documentació DSC

DSC ofereix un manual d'usuari, però la majoria dels altres documents requereixen que sigueu instal·lador

  • Per al tauler de control, cerqueu el manual de l’instal·lador, el manual de l’usuari, el manual de referència i el full de treball de programació.
  • Per al teclat, busqueu el manual d’instal·lació. El manual que he trobat eren tots fitxers PDF.

Hi ha disponibles diverses fonts de DSC de manuals DSC en línia. No es requereixen manuals DSC per a aquesta instrucció. Aquestes són merament referències si voleu ampliar allò que es pot instruir o si el vostre sistema utilitza diferents parts.

LiveWatch.com és la millor font de manuals DSC. LiveWatch també va ser molt útil per respondre a preguntes i deixar-me desenganxar. No hauria pogut completar aquesta instrucció sense l'ajut de LiveWatch.

Pas 5: comprar o reunir peces i eines

A) Sistema de seguretat DSC amb teclats PK5501, tauler de control PC1616 i múltiples sensors (finestres, portes i moviment). El sistema de seguretat va venir amb la llar.

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

C) AT&T proveïdor d’internet U-verse, DSL Gateway

D) Commutador gestionat de 24 ports NetGear

E) Tanca de gos invisible o filferro de termòstat

F) Cable Ethernet CAT5E

G) Quatre cables AWG de calibre 18-22 d’uns 6 polzades de llarg (vermell, groc negre, verd)

H) Tenalles d'agulla

I) Broca i broca de metall de 3/16”i broca molt petita

J) Cinta d’electricista negre

K) Tornavís pla molt petit (en tinc un per arreglar les ulleres quan cau el cargol)

L) Mini interruptor de polsador momentani SPST, normalment tancat

M) Funda petita de plàstic (fil dental)

N) Ganivet Exacto

Pas 6: Instal·lació d'EnvisaLink 3

Instal·lació d'EnvisaLink 3
Instal·lació d'EnvisaLink 3
Instal·lació d'EnvisaLink 3
Instal·lació d'EnvisaLink 3

No hauria d’haver seguit les instruccions incloses amb l’EnvisLink 3.

El primer pas de les instruccions és desconnectar l’alimentació del PC1616. Vaig suposar que això significava tant l'alimentació de CA com la de còpia de seguretat de la bateria. Vaig desconnectar tots dos i, després, vaig haver de trucar a un tècnic per recuperar els teclats en línia. La trucada de servei va ser de 135 dòlars.

  1. El meu PC1616 està inclòs en una caixa metàl·lica. Localitzeu el tauler PC1616 del vostre sistema de seguretat.
  2. Utilitzeu EV3 per crear una plantilla de paper per als forats de desplaçament. La plantilla s’utilitza per marcar forats a la caixa metàl·lica. Com que era més fàcil cargolar des de l’exterior de la caixa cap a l’interior, vaig haver de revertir la plantilla.
  3. Cinta adhesiva de la plantilla a l’exterior de la caixa metàl·lica que conté el PC1616. Trieu un lloc que tingui prou espai per allotjar l’Envisalink 3.
  4. Molt lentament, amb una broca metàl·lica de 3/16 "i la plantilla, practiqueu 3 forats al costat de la caixa metàl·lica.
  5. Des de l'interior de la caixa metàl·lica, introduïu els desplaçaments de plàstic als forats
  6. Instal·leu la placa EV3 a la caixa metàl·lica de les compensacions de plàstic.
  7. Tireu 1/4 "dels dos extrems dels cables vermells, negres, verds i grocs (o podeu tallar un cable RJ11 i utilitzar-los a l'interior). Tot i que qualsevol dels dos funcionarà, el cable de termòstat sòlid és millor que el cable torçat perquè els connectors de la placa agafen més fermament el filferro sòlid. Si utilitzeu filferro retorçat, torneu els extrems fermament, cosa que facilitarà la instal·lació.
  8. Desconnecteu el cable negre d'alimentació de CA del controlador DSC. Es tracta del segon cable de l'esquerra. Aneu amb compte de no deixar que l'extrem exposat del cable negre toqui res. Vaig embolicar l’extrem amb cinta elèctrica fins que vaig acabar els passos següents. Si el cable negre toca alguna cosa, el transformador s’acortarà i haurà de trucar a una empresa de serveis per substituir-la.
  9. Amb un tornavís de cap pla molt petit, instal·leu cables de colors a les ranures adequades de l’EV3.
  10. Un per un, afluixeu els cargols vermells, verds, grocs i negres del controlador DSC, però NOMÉS el suficient per lliscar els cables nous. Introduïu el cable de color adequat i estrenyeu-lo.
  11. Torneu a inserir l'alimentació de CA (eliminada en G) al controlador DSC.
  12. Mitjançant un cable CAT5e o CAT6 connecteu EnvisaLink 3 al router.

Pas 7: instal·leu el botó d'alimentació momentània

Instal·la el botó de commutació d'alimentació momentània
Instal·la el botó de commutació d'alimentació momentània

Tenia molts problemes en programar el controlador Envisalink i DSC. Vaig trobar que es va apagar i encendre el sistema de nou en un estat conegut. Més endavant, he afegit un commutador momentani de polsador. Hi ha molts tipus de commutació. El normalment tancat és el necessari.

A) Aconsegueix una caixa petita de plàstic. Vaig utilitzar un estoig de seda dental, que és el que us pot donar un dentista després d’una cita. Traieu la seda i els clips metàl·lics.

B) Practicar dos forats petits per al fil de corrent altern

C) Practicar o tallar un forat per a la commutació momentània. Vaig trobar que era més fàcil utilitzar un ganivet exacto i foradar un forat. Obriu la caixa i talleu la meitat del forat d’un costat de l’obertura i l’altra meitat del costat adjacent. Per tant, quan la palanca momentània llisca per un costat i quan la caixa està tancada, la palanca momentània queda fermament fixada.

D) Traieu l'alimentació de CA d'Envisalink. Feu passar el cable d'alimentació de CA a través d'un dels petits forats i connecteu-lo per provocar l'interruptor d'alimentació momentani. Emboliqueu la cinta d’electricista.

E) Tireu els extrems d’un tros de filferro de 3-4 polzades. Passeu un extrem per l’altre petit forat de la caixa i connecteu-lo a l’altre cable amb l’interruptor momentani. Embolicar amb cinta elèctrica.

F) Connecteu el segon cable de l'interruptor momentani a la ranura d'alimentació de CA Envisalink

G) Utilitzeu cinta adhesiva per segellar la caixa

H) Comproveu si la commutació funciona. Normalment, el sistema hauria d’estar activat. Quan es prem el commutador, els llums de l'Envisalink s'apagaran.

Pas 8: Registre d'EnvisaLink 3

Un cop registrat, no es pot donar de baixa. EyesOn recopila les vostres dades i pot actualitzar el programari del tauler en qualsevol moment, sense cap notificació. Si tornés a fer això, no faria aquest pas.

A) Obriu un navegador i aneu a www.eyezon.com, menú desplegable Assistència i seleccioneu EnvisaLink 3 Primer Guide

B) Seguiu les instruccions del manual (Registre, inici de sessió, afegir nou dispositiu, etc.)

C) Nom d'usuari = [nom d'usuari ocult]

D) Contrasenya = [contrasenya visible]

Pas 9: comproveu la instal·lació d’EnvisaLink 3

Obriu un navegador i aneu a la pàgina d'inici del router.

  1. Obriu un navegador
  2. Introduïu [Adreça IP del router]
  3. A la pestanya Inici, desplaceu-vos cap avall fins a Dispositius de xarxa domèstica

El meu Residenial Gateway (o enrutador) en vers en U mostra alguna cosa com la imatge 1.

Desplaceu-vos cap avall fins al dispositiu i hauria de semblar a la imatge 2.

Un estat actiu significa que la placa està instal·lada i funciona.

Feu clic a Detalls per obtenir l'adreça IP de l'EnvisaLink. L'adreça IP pot canviar de tant en tant.

Obriu un navegador i entreu

[Adreça IP d'Envisalink]

Introduïu el nom d'usuari i la contrasenya:

[nom d’usuari de prevalink]

[contrasenya d'enllaç previ]

Introduïu el nom d’usuari i la contrasenya a la guia d’instal·lació. El navegador hauria de mostrar alguna cosa com la imatge 3.

Pas 10: canvieu la contrasenya per defecte a Envisalink 3

A) Obriu el navegador

B) Aneu a [Adreça IP Envisalink] /: 80

Un exemple és 192.168.1.34/:80. El /: 80 és el port.

C) A Canvia la contrasenya d’usuari”canvieu la contrasenya. Nota: el nom d'usuari i la contrasenya per defecte són l'usuari

D) Registre [contrasenya de prevalink]

Pas 11: (drecera) Genera un enllaç mòbil [opcional]

No cal que feu aquest pas ni el següent, però si voleu fer-ho, és una bona opció.

Eyez-On ofereix un servei de monitorització complet. És fàcil d’utilitzar i funciona bé. Si voleu fer servir aquest servei, seguiu les instruccions dels passos 10 i 11. En cas contrari, aneu al pas 12. Si us plau, tingueu en compte que he fet 10 i 11 i després els he hagut de desactivar. Tots dos serveis funcionaven bé i no tenia cap problema, només volia fer-ho jo mateix.

A) Obriu el navegador i aneu a Eyez-On

B) Inici de sessió (en un pas anterior hauríeu d'haver creat un compte)

C) Seleccioneu Enllaç de portal mòbil

D) Feu clic a Genera enllaç mòbil

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

E) L’enllaç és llarg. Envieu-lo per correu electrònic al vostre dispositiu mòbil.

F) Obriu l'enllaç al dispositiu mòbil

G) Obriu una altra finestra o pestanya del navegador i aneu a Eyez-On, seleccioneu suport i seleccioneu EnvisAlarms Monitoring Primer del menú desplegable

H) Seguiu les instruccions per descarregar el programari d’autocontrol EV3

I) Seguiu les instruccions per configurar com voleu controlar

Pas 12: instal·leu l'aplicació DSC Server al vostre telèfon intel·ligent [opcional]

No cal que feu aquest pas ni l’anterior, però si voleu fer-ho, és una bona opció.

A) Aneu a la botiga d'Android o Apple i compreu l'aplicació DSC Security Server de Mike P.

Si heu fet els dos passos anteriors, heu acabat. Hauríeu de poder controlar i controlar el sistema de seguretat de forma remota.

Pas 13: Notes importants sobre Envisalink 3 i PC1616

La comunicació d’Envisalink 3 a EnvisAlerts utilitza UDP. La comunicació d’Envisalink 3 a script utilitza TCP / IP.

El port Ethernet Envisalink 3 només es comunica a 10 Mbps. La majoria dels encaminadors i commutadors Ethernet d’1 Gb o 100 Mb es negociaran automàticament fins a 10 Mbps.

A la secció 022 del PC1616, l'opció 1 no es pot habilitar. Aquesta opció requereix un codi d’accés de l’usuari per accedir a funcions de l’usuari, com passar per zones, etc. L’opció està desactivada per defecte.

La funció d’obstrucció del teclat i la derivació de zones han d’estar desactivades perquè l’Envisalink funcioni.

Pas 14: desfer el treball en els dos passos anteriors

Inicialment, em vaig inscriure a Envisalerts i a l’aplicació de Mike P.

Com que no vull enviar la meva informació de seguretat enviada a Internet i no vull que el programari Envisalink 3 s'actualitzi sense que estigui d'acord, necessitava bloquejar l'accés d'Envisalink 3 a Internet.

A) Obriu el navegador

B) Aneu a la passarel·la AT-T U-verse 3801HGV. Introduïu al quadre URL del navegador: 192.168.1.254

C) Inicieu la sessió a la passarel·la

D) Vés a casa

E) Desplaceu-vos cap avall fins a Envisalink

F) Feu clic a detalls

  • Desa l'adreça MAC (també coneguda com a adreça de maquinari) = [Adreça MAC d'Envisalink]
  • [Adreça MAC d'Envisalink] = 00: 1c: 2a: 00: 9d: 07

G) Aneu a Configuració >> LAN >> Sense fil

H) Desplaceu-vos cap avall per activar el filtratge MAC

I) Feu clic al filtre MAC

  • Feu clic a Edita la llista de dispositius bloquejats / permesos
  • Feu clic a Activa el filtratge MAC
  • Desplaceu-vos cap avall fins a Introduir adreça MAC

J) Enganxa l'adreça MAC d'Envisalink

K) Feu clic a Afegeix a la llista

L) Feu clic a >> per passar a Dispositius bloquejats

M) Desplaceu-vos cap amunt i assegureu-vos que la casella de selecció Filtre MAC estigui marcada

N) I s'hauria de bloquejar Envisalink

Pas 15: reuniu la documentació necessària i compreneu com es configura el vostre sistema

Volia entendre com controlar el sistema de seguretat. Les millors fonts són:

Com he de programar un sistema DSC (un tutorial) per entendre el document TPI

EnvisaLink TM TPI Programmer’s Document, versió 1.04: descriu el conjunt d’ordres TPI

Full de treball de programació: un document horrible i mal anomenat, que descriu la configuració del vostre sistema de seguretat

L'anterior propietari no va deixar un full de treball de programació completat. Vaig haver d’omplir-ho jo mateix. Bàsicament, feia servir el teclat per introduir ordres fins que no m’hagués descobert tot. El full de treball és un lloc per enregistrar la configuració del vostre sistema. D’acord, vaig mentir. Utilitzeu el full de treball com a guia, però anoteu la configuració del vostre sistema en un document de mida normal.

Pas 16: document del programador de la interfície de tercers (TPI)

La interfície de tercers (TPI) és un conjunt d’ordres, respostes i codis d’error que permeten que les aplicacions de tercers s’interfacin amb l’EnvisaLink 3 a través d’una connexió TCP / IP. Em va semblar molt confús aquest document. Espero que aquesta explicació ajudi a explicar el document una mica millor.

En general, tots els comandaments, respostes i codis d'error de TPI són de tres dígits:

  • Els ordres són majors o iguals a 500
  • Les respostes són inferiors o iguals a 200
  • Els codis d'error estan entre 000 i 027, però les respostes també es troben en aquest interval

Les dades s’afegeixen al final d’una ordre o resposta. Per exemple, una ordre d'inici de sessió pot ser:

005pswdCS / n / r

on,

pswd = són dades, en aquest cas, la vostra contrasenya

Es requereixen els següents:

  • CS = suma de comprovació
  • n = caràcter de línia nova
  • r = caràcter de retorn de carro

Al web, he trobat moltes implementacions per calcular la suma de comprovació. La suma de comprovació és necessària i moltes implementacions no van funcionar. No estic segur de per què tants no van funcionar per a mi. Pot ser un codi incorrecte o diferents versions de la placa o versions de microprogramari que s’executin a la placa. El meu codi de suma de comprovació funciona per a la meva placa i el meu microprogramari.

L'EnvisaLink actua com a servidor d'una connexió TCP a una aplicació de client. El client només hauria d’executar-se en un servidor segur que pugui comunicar-se amb l’EnvisaLink 3. El servidor del client hauria de ser a la vostra xarxa domèstica, però no hauria d’estar obert a Internet. Es requereix un certificat autofirmat (vegeu la meva altra instrucció per a un obridor de portes de garatge).

L’EnvisaLink escolta al port 4025 i només acceptarà una connexió de client. Les connexions posteriors es denegaran. EnvisaLink tancarà la connexió si el client tanca el seu costat.

Per iniciar una connexió:

  • El client inicia una sessió TCP establint un sòcol TCP.
  • El client envia una ordre d'inici de sessió [005]
  • EnvisaLink respon amb un o més [505]
  • Si les dades de l'ordre [505] són un 3, responen en un termini de 10 segons amb una ordre d'inici de sessió [005]
  • Si les dades [505] contenen un 1, l'inici de sessió és correcte

Les dades de l’ordre d’inici de sessió són una contrasenya de fins a sis caràcters, que és la mateixa contrasenya per iniciar la sessió a la pàgina web local d’EnvisaLink.

Consulteu la descripció de l'ordre 505 al manual TPI per obtenir una descripció de totes les dades.

Un cop acceptada la contrasenya, es crea la sessió i continuarà fins que es deixi de fer la connexió TCP.

Pas 17: Script de control de línia d'ordres

He utilitzat documents del pas anterior per desenvolupar un script interactiu de python que es podria executar des d’una línia d’ordres a una finestra del terminal del llibre de Mac. Aquí hi ha alguns comentaris clarificadors:

  • És possible que m’hagi passat una mica per sobre, però crec que totes les ordres es troben al guió.
  • L'escriptura python de línia d'ordres, ev3.py, es pot descarregar des d'aquest enllaç: GitHub. Descarregueu ev3.py.
  • Copieu l'script a un directori [directori].
  • Obriu una finestra de terminal (feu clic al disc del MacBook, Aplicacions, Utilitats, Terminal).
  • Faig servir una finestra de terminal sovint. Per tant, tinc l’aplicació de terminal fixada al moll.
  • Si s'executa des d'un ordinador, canvieu self.file_log = sys.stderr, tal com s'indica a l'script.
  • A la finestra del terminal, canvieu al directori i executeu l'script:

$ cd [directori]

$ python envisalink.py

  • Escriviu [retorn] per veure ordres vàlides.
  • Escriviu [ctrl-c] per sortir del programa.

Pas 18: breu explicació

Vull configurar o supervisar el sistema de seguretat des d'un telèfon intel·ligent, tauleta o PC. Una solució senzilla és desenvolupar un lloc web.

L'escriptura Python de línia d'ordres controla el sistema de seguretat i pot canviar l'estat del sistema. Tot i això, no proporciona una bona visualització remota.

Un lloc web proporciona una interfície excel·lent per controlar i canviar el sistema de seguretat. Tanmateix, el lloc web només "funciona" quan es visualitza. Mentre que, l'script de línia d'ordres s'hauria d'executar tot el temps. Quan s’executa el guió, és possible que ningú estigui mirant el lloc web. Per tant, les dades recopilades per l'script s'han d'emmagatzemar en una base de dades fins que algú vulgui veure-les.

A més, l’usuari hauria de poder canviar l’estat del sistema de seguretat (activar, desarmar). Quan es produeixen canvis d'estat, els canvis s'han de fer ràpidament.

Tant l'script com la base de dades són possibles punts d'error, es necessita un altre script que periòdicament comprovi si tot funciona i reinicia l'script si cal.

Passos saltats

Haureu de fer aquests passos (consulteu l'Obridor de portes del garatge per a alguns d'aquests passos)

A) Configureu Raspberry Pi: de fet, podeu executar-lo en qualsevol servidor

B) Instal·leu python

C) Creeu un certificat autofirmat i instal·leu-lo al Raspberry Pi i a qualsevol dispositiu que vulgueu accedir al lloc web

D) Bloquejar l'accés al vostre sistema de seguretat a persones sense el vostre certificat autofirmat

Pas 19: instal·leu SQLite

Les opcions habituals de base de dades són MySQL o postgres. Aquesta aplicació necessita quelcom senzill, com ara un fitxer. Sabia que SQLite era l’elecció correcta quan vaig llegir,

  • https://sqlite.org/ és més petit que MySQL o postgres
  • SQLite competeix amb fopen. i
  • SQLite no és directament comparable a MySQL o postgres perquè intenta resoldre un problema diferent.

Aquí teniu una font fantàstica per configurar SQLite: instal·leu SQLite en un Raspberry Pi

Inicieu la sessió al raspberry i executeu l'ordre:

$ sudo apt-get install sqlite3

$ sudo apt-get install php5-sqlite

Creeu la base de dades:

$ sqlite3 security.db

Crea una taula

sqlite> COMENÇA;

sqlite> estat CREATE TABLE (data TATE Data, hora TIME, nom TEXT, valor TEXT);

sqlite> COMMIT;

Comproveu que la taula s'hagi creat correctament:

sqlite> estat de l'esquema

L'estat de la taula contindrà:

sistema: armat, desarmat

alarma: cap, foc, pànic, alerta

zones [1-6]: oberta, tancada

script: connectat, connectat, en execució

Inseriu algunes dades a la taula

sqlite> COMENÇA;

sqlite> INSERT INTO valors d'estat (data ('ara'), hora ('ara'), "sistema", "desarmat");

sqlite> INSERT INTO valors d'estat (data ('ara'), hora ('ara'), "alarma", "cap");

sqlite> INSERT INTO valors d'estat (data ('ara'), hora ('ara'), "zona", "tancada");

sqlite> INSERT INTO valors d'estat (data ('ara'), hora ('ara'), "script", "en execució");

sqlite> INSERT INTO valors d'estat (data ('ara'), hora ('ara'), "ordre", "");

sqlite> COMMIT;

Comproveu els valors on s'han introduït correctament

sqlite> SELECT * FROM estat WHERE nom = "zona";

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

Sortiu de SQLite

sqlite>.quit

Mou el db i canvia l'accés:

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

$ chmod og + rw / var / www /

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

Pas 20: instal·leu SQLite al MacBook [opcional]

M’agrada desenvolupar-me al Mac i després traslladar els resultats al Raspberry Pi.

Aneu a la pàgina de descàrrega a sqlite.org i descarregueu sqlite-autoconf - *. Tar.gz des de la secció de codi font

Al MacBook obriu les baixades del vostre compte

Feu clic al fitxer tar.gx descarregat

Obre la finestra del terminal

$ cd Descàrregues

$ cd sqlite-autoconf- [número de darrera versió]

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

$ make

La marca dura uns minuts, tingueu paciència.

$ sudo make install

[Contrasenya del MacBook]

Confirmeu que funcioni:

$ sqlite3

sqlite>

O proveu-ho

$ que sqlite3

Torneu a fer els passos del pas anterior per configurar la base de dades, taula i introduir dades al MacBook (o utilitzeu l'script. Si no existeix db, es crearà i es completarà).

Pas 21: per comunicar-vos entre EnvisaLink 3 i Raspberry Pi Load Mod_wsgi

Necessiteu mod_wsgi perquè funcioni a Raspberry Pi.

Inicieu la sessió a Raspberry Pi:

$ ssh pi @ [Adreça IP de Raspberry Pi]

introduir la contrasenya

després obtingueu mod-wsgi

$ sudo apt-get install libapache2-mod-wsgi

Per executar ev3pi.py a la línia d'ordres de Raspberry Pi:

$ sudo python ev3pi.py

Pas 22: baixeu el programari des de GitHub

Modifiqueu l'script de línia d'ordres per escriure al DB.

Aquestes són bones explicacions per connectar un script Python a SQLite:

  • SQLite de python.org
  • SQLite de Python

He modificat el codi per parlar amb SQLite. Podeu descarregar el codi aquí: GitHub. Descarregueu ev3pi.py.

Obriu una finestra de terminal i copieu l’escriptura python de la línia d’ordres a raspberry pi

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

Inicieu la sessió a pi

$ ssh pi @

introduir la contrasenya

Moveu l'script a / usr / local / bin i canvieu els privilegis

$ ssh pi @

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

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

o bé

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

Canvieu l'script perquè s'executi a Raspberry Pi. Veure comentaris al codi. Assegureu-vos d’utilitzar el db a /var/www/db/security.db

Actualitzeu el lloc web per escriure ordres a DB

En fer clic a una ordre de seguretat del lloc web, l’escriu a la base de dades.

Al següent pas pel bucle principal, s’hauria de llegir i executar l’ordre.

Baixeu-vos el codi security.php aquí: GitHub. Descarregueu security.php.

script bash que comprova si s'executa o no ev3pi.py

Si ev3pi.py deixa d’executar-se per algun motiu, hauria de començar a funcionar automàticament. Aquest script intenta reiniciar-lo.

Descarregueu el codi ev3chk.sh aquí: GitHub. Descarregueu ev3chk.sh.

Script Python que arma i desarma automàticament el sistema de seguretat mitjançant una planificació

Aquest script utilitza un horari per armar i desarmar el sistema de seguretat en funció de l'hora introduïda per l'usuari del dia i del dia de la setmana. Si el camp de vacances està configurat, s'ignoraran l'armament i el desarmament.

Baixeu-vos el codi ev3auto.py aquí: GitHub. Descarregueu ev3auto.py.

Pàgina web per mostrar l'estat i Armar i desarmar el sistema

Aquesta és una pàgina web bastant senzilla, connectada a un sistema domòtic més gran. Canvieu el nom d’aquest script per indexar-lo i col·loqueu-lo a / var / www al vostre Raspberry Pi.

Baixeu-vos el codi security.php aquí: GitHub. Descarregueu security.php.

crontab per comprovar si s'executa l'script

Editeu el Crontab per assegurar-vos que els scripts s'estan executant.

Inicieu la sessió a Raspberry Pi

$ sudo crontab -e

#

# comproveu cada 5 minuts si el sistema de seguretat s'està executant

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

#

# comproveu cada 15 minuts si el sistema de seguretat està en bon estat

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

Podeu descarregar el crontab aquí: GitHub. Descarrega crontab.

Recomanat: