Cuprins:

Sistem de securitate la domiciliu DSC activat pe internet: 22 de pași
Sistem de securitate la domiciliu DSC activat pe internet: 22 de pași

Video: Sistem de securitate la domiciliu DSC activat pe internet: 22 de pași

Video: Sistem de securitate la domiciliu DSC activat pe internet: 22 de pași
Video: Instalare / mentenanță sisteme de securitate 2024, Iulie
Anonim

Modificați un sistem DSC Home Security existent pentru a fi activat și auto-monitorizat pe internet.

Acest lucru instructiv presupune că aveți un Raspberry Pi funcțional.

Vă rugăm să rețineți că această implementare are următoarele neajunsuri:

  • Dacă un hoț întrerupe cablul DSL care vine sau serviciul de internet se pierde, monitorizarea de pe Internet este dezactivată

    Viitor: soluția pentru această problemă este de a utiliza un serviciu de backup LTE low-cost

  • Senzorii DSC nu indică dacă ușile sau ferestrele sunt blocate, ci doar că sunt închise

    Viitor: adăugați un buton de comutare care este activat de șurubul încuietorii ușii. Acest lucru va necesita o muncă semnificativă pentru a rula cablajul fără a distruge jambonul ușii

  • DSC acceptă integrarea alarmelor de incendiu. Cu toate acestea, alarma de incendiu a casei mele nu este integrată

    Viitor: integrați alarma de incendiu în panoul de control DSC

  • Sistemul DSC instalat nu are senzor pentru ușa de garaj aeriană

    Anterior, am creat un deschizător de uși pentru garaj care poate fi instruit și pot citi că ușa este deschisă sau închisă

Obiectivele acestui proiect sunt:

  • Trimiteți alerte de sistem de securitate pe telefonul meu mobil
  • Verificați sau setați starea sistemului de securitate dintr-o pagină web securizată
  • Rulați soluția pe un raspberry pi sigur (https și certs)
  • Utilizați sistemul DSC existent pentru a vă auto-monitoriza
  • Adăugați EnvisaLink 3 pentru a adăuga suport Ethernet la sistemul DSC
  • Scrieți software de auto-monitorizare
  • Creați un instructiv pentru acest efort

Vă rugăm să rețineți: În acest document, textul cuprins între [paranteze drepte] trebuie înlocuit cu o valoare reală

Familia mea nu ne-a fost niciodată jefuită, iar noi locuim într-o zonă cu un nivel scăzut de criminalitate. Nu există niciun motiv convingător pentru a face acest proiect, cu excepția faptului că a fost interesant și distractiv.

Vă rugăm să rețineți că există o scurtătură excelentă la acest instructable. Odată ce Envisalink 3 este în funcțiune, puteți utiliza soluția oferită de Eyes-On, numită EnvisAlerts și EnvisAlarm, care vă trimite alerte și vă monitorizează casa și / sau o aplicație mobilă de telefon mobil foarte interesant numită DSC Security Server de Mike P. M-am înscris la EnvisAlerts și am cumpărat DSC Security Server al lui Mike P. Am fost foarte mulțumit de amândouă, dar am vrut propria versiune.

Pasul 1: Depanare și date unice

Există anumite date la care mă refer des și îmi place să includ aceste date în față.

Alarmă - activați și dezactivați

Asigurați-vă că toate ușile și ferestrele sunt închise. Pe panoul de control, introduceți codul principal:

[cod master] = [codul dvs. principal]

Dezactivați linia telefonică

Casa mea are o linie telefonică fixă, dar nu am servicii de telefonie fixă. În jurul orei 23:00 în fiecare seară, sistemul sună. Dacă sistemul își pierde puterea, atunci acesta trebuie reintrodus. Pentru a dezactiva acest bip, pe tastatură introduceți următoarele:

  • Dezactivați linia telefonică: * 8 5555 015 7 ##
  • Opriți transmisiile de testare a liniei telefonice * 8 5555 371 9999 ##
  • Opriți apelatorul telefonic: * 8 5555 380 1 ##

Server de alertă Envisalink

Conectați-vă la Envisaiink

Obțineți serverul Envisalerts: 184.106.215.218

Deschideți routerul U-verse: 192.168.1.254

Accesați Setări, Firewall

Conectare Envisalink

Deschideți browserul

Introduceți adresa IP Envisalink:

[prevalink username] = utilizator

[envislink password] = [introduceți parola]

Adresa IP Envisalink

[Adresa IP Envisalink] = 192.168.1.92

Nume utilizator și parolă Eyes-on

[eyes-on username] = [numele dvs. de utilizator prevalink]

[parola privirii] = [parola dvs. de prevalink]

Codul instalatorului

[Codul instalatorului] = [Introduceți codul instalatorului]

5555 este codul implicit. Puteți solicita instalatorului codul sau puteți efectua o resetare din fabrică, care îl readuce la 5555. Nu recomand să efectuați o resetare din fabrică, deoarece există o posibilitate semnificativă de a deteriora sistemul.

Cod Master

[MasterCode] = [introduceți codul master]

Raspberry Pi IP

[Raspberry Pi IP] = [introduceți adresa dvs. Raspberry Pi, ceva de genul 192.168.1.57]

Conectare Raspberry Pi din Mac Book

Pe Mac Book, deschideți terminalul

ssh pi @ [Raspberry Pi IP]

[Parola]

Parola Raspberry Pi

Parolă = [parola dvs. Raspberry Pi]

Router

Router IP Address = [introduceți adresa IP a routerului]

Setați ora și data DSC

* 611301hhmmMMDDYY #

hh sunt în timpul militar, pentru pm adăugați 12. Deci, 16:00 este 16

Programarea zonei

Tip de alarmă de zonă

01 - Alarma după furnizarea unei întârzieri (implicit 60 de secunde) în modul Stay sau Away

03 - Alarma instantaneu dacă este încălcată atunci când este în modul Stay sau Away

05 - Senzor de mișcare interior. Alarma instantaneu dacă este încălcată numai atunci când modul de deplasare (se trece prin starea)

Pe tastatură, introduceți:

* 8 [Cod instalator] 001 01 03 05 05 87 # #

Explicația secvenței de cod de mai sus:

  • * 8 [Cod instalator]
  • 001 - Acest lucru vă duce în programarea zonelor pentru zone
  • 01 03 05 05 87 - Aceasta este secvența mea de tipuri de alarme de zonă, în ordinea zonei de la 1 la 5.
  • Toate zonele trebuie setate corect.
  • # # - Aceasta salvează ceea ce ați făcut și vă scoate din nou din modul de programare.

Pasul 2: Găsiți numerele de model ale tastaturii și panoului de control

Găsiți numerele de model ale tastaturii și panoului de control
Găsiți numerele de model ale tastaturii și panoului de control
Găsiți numerele de model ale tastaturii și panoului de control
Găsiți numerele de model ale tastaturii și panoului de control
Găsiți numerele de model ale tastaturii și panoului de control
Găsiți numerele de model ale tastaturii și panoului de control
Găsiți numerele de model ale tastaturii și panoului de control
Găsiți numerele de model ale tastaturii și panoului de control

Găsiți numărul modelului tastaturii. Tastatura DSC este lângă o ușă (imaginea 1 și 2). În casa mea, există o tastatură lângă ușa garajului și una lângă ușa din față.

Găsiți numărul modelului panoului de control. Tastatura are un autocolant în partea de sus, iar numărul modelului este în mijloc. Al meu este un PK5501 (imaginea 3 și 4).

O altă modalitate de a face acest lucru este:

  • Pe un computer, deschideți un browser
  • Accesați

Panoul meu de control este situat într-o cutie metalică dintr-un dulap (imaginea 3). Deschideți cutia metalică și în centrul panoului de control este un autocolant cu numărul modelului. Numărul modelului panoului meu de control este PC1616 (imaginea 4).

Pasul 3: Verificați dacă EnvisaLink 3 este compatibil cu sistemul dvs. de securitate

Faceți clic pe linkul eyeson.com.

Derulați în jos până la compatibilitatea panoului și vedeți dacă a dvs. este listată. Dacă nu, verificați cu EyesOn.

Pasul 4: obțineți documentația DSC

DSC oferă un manual de utilizare, dar majoritatea celorlalte documente necesită să fiți instalator

  • Pentru panoul de control, găsiți manualul de instalare, manualul de utilizare, manualul de referință și foaia de lucru de programare.
  • Pentru tastatură, găsiți manualul de instalare. Manualul pe care l-am găsit erau toate fișiere PDF.

Mai multe surse non-DSC de manuale DSC sunt disponibile on-line. Nu sunt necesare manuale DSC pentru acest instructable. Acestea sunt doar referințe dacă doriți să extindeți instructivul sau dacă sistemul dvs. folosește diferite părți.

LiveWatch.com este cea mai bună sursă de manuale DSC. LiveWatch a fost, de asemenea, foarte util pentru a răspunde la întrebări și pentru a mă descurca. Nu aș fi putut finaliza acest instructable fără ajutorul LiveWatch.

Pasul 5: Cumpărați sau strângeți piese și instrumente

A) Sistem de securitate DSC cu tastaturi PK5501, panou de comandă PC1616 și senzori multipli (ferestre, uși și mișcare). Sistemul de securitate a venit odată cu casa.

B) Comandați EnvisaLink 3 - 119 USD + S&H. www.eyezon.com

C) AT&T U-verse furnizor de internet, DSL Gateway

D) Comutator gestionat NetGear cu 24 de porturi

E) Gard de câine invizibil sau fir de termostat

F) Cablu Ethernet CAT5E

G) Patru fire AWG de calibru 18-22 de aproximativ 6 inci lungime (roșu, negru galben, verde)

H) Cleste pentru nas

I) Burghiu și burghie metalică de 3/16”și burghie foarte mică

J) Banda electricianului negru

K) Șurubelniță cu cap plat foarte mică (am una care să-mi fixeze ochelarii atunci când șurubul cade)

L) Mini comutator cu buton momentan SPST, normal închis

M) Cutie mică din plastic (ata dentară)

N) Cuțit Exacto

Pasul 6: Instalarea EnvisaLink 3

Instalare EnvisaLink 3
Instalare EnvisaLink 3
Instalare EnvisaLink 3
Instalare EnvisaLink 3

Nu ar fi trebuit să urmez instrucțiunile furnizate împreună cu EnvisLink 3.

Primul pas din instrucțiuni este să deconectați alimentarea de la PC1616. Am presupus că acest lucru înseamnă atât puterea CA, cât și puterea de rezervă a bateriei. Le-am deconectat pe amândouă și apoi a trebuit să apelez la un tehnician pentru a recupera tastaturile on-line. Apelul de serviciu a fost de 135 USD.

  1. PC-ul meu 1616 este închis într-o carcasă metalică. Localizați placa PC1616 a sistemului dvs. de securitate.
  2. Utilizați EV3 pentru a crea un șablon de hârtie pentru găurile offset. Șablonul este folosit pentru a marca găurile de pe carcasa metalică. Deoarece a fost mai ușor să înșurub din exteriorul cutiei spre interior, a trebuit să inversez șablonul.
  3. Scoateți cu bandă șablonul în exteriorul cutiei metalice care conține PC1616. Alegeți un loc care are suficient spațiu pentru a găzdui Envisalink 3.
  4. Foarte încet, folosind un burghiu metalic de 3/16 "și șablonul, găuriți 3 găuri în partea laterală a cutiei metalice.
  5. Din interiorul carcasei metalice, împingeți decalajele din plastic în găuri
  6. Instalați placa EV3 în cutia metalică a decalajelor din plastic.
  7. Îndepărtați 1/4 "de la ambele capete ale firelor roșii, negre, verzi și galbene (sau puteți tăia un cablu RJ11 și puteți folosi firele din interior). În timp ce oricare dintre acestea va funcționa, firul solid al termostatului este mai bun decât firul răsucit, deoarece conectorii plăcii prind firul solid mai ferm. Dacă folosiți fir răsucit, răsuciți capetele strâns, ceea ce va facilita instalarea.
  8. Deconectați firul negru de alimentare de la controlerul DSC. Acesta este al doilea fir din partea stângă. Aveți grijă să nu lăsați capătul expus al firelor negre să atingă nimic. Am înfășurat capătul cu bandă electrică până am terminat pașii următori. Dacă firul (cablurile) negru atinge ceva, transformatorul va fi scurt și va trebui să apelați o companie de servicii pentru a o înlocui.
  9. Folosind o șurubelniță cu cap plat foarte mică, instalați fire colorate în sloturile corespunzătoare de pe EV3.
  10. Unul câte unul, slăbiți șuruburile roșii, verzi, galbene și negre de pe controlerul DSC, dar DOAR suficient pentru a glisa firele noi. Introduceți firul colorat corespunzător și strângeți-l.
  11. Reintroduceți alimentarea de curent alternativ (eliminată în G) la controlerul DSC.
  12. Folosind un cablu CAT5e sau CAT6 conectați EnvisaLink 3 la router.

Pasul 7: Instalați comutarea momentană a butonului de alimentare

Instalați comutatorul de apăsare a butonului de alimentare momentan
Instalați comutatorul de apăsare a butonului de alimentare momentan

Am avut multe probleme la programarea controlerului Envisalink și DSC. Am descoperit că oprirea și pornirea au readus sistemul la o stare bună cunoscută. Mai târziu, am adăugat o comutare momentană a butonului. Există multe tipuri de comutare. Cel normal închis este cel necesar.

A) Obțineți o cutie mică de plastic. Am folosit o carcasă cu ață dentară, care este genul pe care ți l-ar putea oferi un dentist după o programare. Scoateți ata dentară și clemele metalice.

B) Găsește două găuri mici pentru firul de curent alternativ

C) Găuriți sau tăiați o gaură pentru comutarea momentană. Am găsit că este mai ușor să folosesc un cuțit exact, apoi să găuriți o gaură. Deschideți carcasa și tăiați jumătate din gaură pe o parte a deschiderii și cealaltă jumătate pe partea adiacentă. Deci, când comutatorul momentan alunecă într-o parte și când carcasa este închisă, comutatorul momentan este ferm atașat.

D) Scoateți alimentarea CA de la Envisalink. Rulați cablul de alimentare CA printr-unul din orificiile mici și conectați-l pentru a conduce comutatorul de alimentare momentan. Înfășurați banda de electrician.

E) Îndepărtați capetele unei bucăți de sârmă de 3-4 inci. Treceți un capăt prin cealaltă gaură mică din carcasă și conectați-vă la celălalt cablu de pe întrerupătorul momentan. Înfășurați bandă electrică.

F) Conectați al doilea fir de la comutatorul momentan la slotul de alimentare CA Envisalink

G) Folosiți bandă scotch pentru a sigila carcasa

H) Verificați dacă comutarea funcționează. Sistemul ar trebui să fie în mod normal pornit. Când comutatorul este apăsat, luminile de pe Envisalink se vor stinge.

Pasul 8: Înregistrați EnvisaLink 3

Odată înregistrat, nu vă puteți anula înregistrarea. EyesOn colectează datele dvs. și poate actualiza software-ul plăcii dvs. în orice moment, fără nicio notificare. Dacă aș face din nou acest lucru, nu aș face acest pas.

A) Deschideți un browser și accesați www.eyezon.com, meniul derulant Suport și selectați EnvisaLink 3 Primer Guide

B) Urmați instrucțiunile din Primer (Înregistrare, autentificare, Adăugare dispozitiv nou etc.)

C) Nume utilizator = [nume utilizator vizibil]

D) Parolă = [parolă privită]

Pasul 9: Verificați instalarea EnvisaLink 3

Deschideți un browser și accesați pagina de pornire a routerului.

  1. Deschideți un browser
  2. Introduceți [Adresa IP a routerului]
  3. În fila Acasă derulați în jos până la Dispozitive de rețea acasă

Gateway-ul meu Residenial (sau router) în versuri U arată ceva de genul Imaginii 1.

Derulați în jos până la dispozitiv și ar trebui să arate ca imaginea 2.

O stare activă înseamnă că placa este instalată și funcționează.

Faceți clic pe Detalii pentru a obține adresa IP a EnvisaLink. Adresa IP se poate schimba din când în când.

Deschideți un browser și introduceți

[Adresa IP Envisalink]

Introduceți numele de utilizator și parola:

[nume de utilizator prevalink]

[parola de prevedere

Introduceți numele de utilizator și parola din ghidul de instalare. Browserul ar trebui să afișeze ceva de genul imaginii 3.

Pasul 10: Schimbați parola implicită pe Envisalink 3

A) Deschideți browserul

B) Accesați [Adresa IP Envisalink] /: 80

Un exemplu este 192.168.1.34/:80. /: 80 este portul.

C) În Modificare parolă utilizator”modificați parola. Notă: numele de utilizator și parola implicite sunt utilizator

D) Înregistrați [parola prevalink]

Pasul 11: (scurtătură) Generați un link mobil [opțional]

Nu trebuie să faceți acest pas sau următorul, dar dacă doriți să fiți terminat, atunci aceasta este o opțiune bună.

Eyez-On oferă un serviciu complet de monitorizare. Este ușor de utilizat și funcționează bine. Dacă doriți să utilizați acest serviciu, urmați instrucțiunile de la pasul 10 și 11. În caz contrar, treceți la pasul 12. Vă rugăm să rețineți, am făcut atât 10 cât și 11 și apoi a trebuit să le dezactivez. Ambele servicii au funcționat bine și nu am avut probleme, am vrut doar să o fac singur.

A) Deschideți browserul și accesați Eyez-On

B) Autentificare (într-un pas anterior ar fi trebuit să creați un cont)

C) Selectați Mobile Portal Link

D) Faceți clic pe generați link mobil

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

E) Legătura este lungă. Trimiteți-l prin e-mail la dispozitivul dvs. mobil.

F) Deschideți linkul de pe dispozitivul dvs. mobil

G) Deschideți o altă fereastră sau filă a browserului și accesați Eyez-On, selectați suport și selectați EnvisAlarms Monitoring Primer din meniul derulant

H) Urmați instrucțiunile pentru a descărca software-ul de auto-monitorizare EV3

I) Urmați instrucțiunile pentru a configura modul în care doriți să monitorizați

Pasul 12: Instalați aplicația DSC Server pe telefonul dvs. inteligent [opțional]

Nu trebuie să faceți acest pas sau cel anterior, dar dacă doriți să fiți terminat, atunci aceasta este o opțiune bună.

A) Accesați magazinul Android sau Apple și cumpărați aplicația DSC Security Server de la Mike P.

Dacă ai făcut cei doi pași anteriori, atunci ai terminat! Ar trebui să puteți monitoriza și controla sistemul de securitate de la distanță.

Pasul 13: Note importante despre Envisalink 3 și PC1616

Comunicarea de la Envisalink 3 la EnvisAlerts utilizează UDP. Comunicarea de la Envisalink 3 la script utilizează TCP / IP.

Portul Ethernet Envisalink 3 comunică numai la 10 Mbps. Majoritatea routerelor și comutatoarelor Ethernet de 1 Gb sau 100 Mb vor negocia automat până la 10 Mbps.

În secțiunea 022 din PC1616, opțiunea 1 nu poate fi activată. Această opțiune necesită un cod de acces al utilizatorului pentru a accesa funcțiile utilizatorului, cum ar fi ocolirea zonelor, etc. Opțiunea este dezactivată în mod implicit.

Blanking-ul tastaturii și Bypass-ul zonei trebuie să fie dezactivate pentru ca Envisalink să funcționeze.

Pasul 14: Anulați lucrarea în cei doi pași anteriori

Inițial, m-am înscris la Envisalerts și la aplicația lui Mike P.

Întrucât nu vreau să trimit informațiile mele de securitate trimise pe internet și nu vreau ca software-ul Envisalink 3 să fie actualizat fără a fi în regulă, a trebuit să blochez accesul Envisalink 3 la internet.

A) Deschideți browserul

B) Accesați AT&T U-verse 3801HGV gateway. Introduceți în caseta URL a browserului: 192.168.1.254

C) Conectați-vă la gateway

D) Mergeți acasă

E) Derulați în jos până la Envisalink

F) Faceți clic pe detalii

  • Salvați adresa MAC (cunoscută și ca adresa hardware) = [Adresa MAC Envisalink]
  • [Adresa MAC Envisalink] = 00: 1c: 2a: 00: 9d: 07

G) Accesați Setări >> LAN >> Wireless

H) Derulați în jos pentru a activa filtrarea MAC

I) Faceți clic pe filtrarea MAC

  • Faceți clic pe Editați lista dispozitivelor blocate / permise
  • Faceți clic pe Activați filtrarea MAC
  • Derulați în jos până la Introduceți adresa MAC

J) Lipiți adresa MAC a Envisalink

K) Faceți clic pe adăugare la listă

L) Faceți clic pe >> pentru a trece la Dispozitive blocate

M) Derulați în sus și asigurați-vă că este bifată caseta de selectare Filtrare MAC

N) Și Envisalink ar trebui să fie blocat

Pasul 15: Adunați documentația necesară și înțelegeți cum este configurat sistemul dvs

Am vrut să înțeleg cum să controlez sistemul de securitate. Cele mai bune surse sunt:

Cum să programez un sistem DSC - Un tutorial - necesar pentru a înțelege documentul TPI

Documentul programatorului EnvisaLink TM TPI, versiunea 1.04 - descrie setul de comenzi TPI

Foaie de lucru de programare - un document oribil, slab denumit, care descrie configurația sistemului dvs. de securitate

Proprietarul anterior nu a lăsat o foaie de lucru de programare completată. A trebuit să completez asta eu însumi. Practic, am folosit tastatura pentru a introduce comenzi până când am aflat totul. Foaia de lucru este un loc pentru înregistrarea configurației sistemului dvs. Bine, am mințit. Folosiți foaia de lucru ca ghid, dar înregistrați configurația sistemului într-un document de dimensiuni normale.

Pasul 16: Documentul programatorului interfeței terților (TPI)

Interfața terță parte (TPI) este un set de comenzi, răspunsuri și coduri de eroare care permit aplicațiilor terțe să interfețe cu EnvisaLink 3 printr-o conexiune TCP / IP. Am găsit acest document foarte confuz. Sper că această explicație vă va ajuta să explicați documentul puțin mai bine.

În general, toate comenzile TPI, răspunsurile și codurile de eroare sunt formate din trei cifre:

  • Comenzile sunt mai mari sau egale cu 500
  • Răspunsurile sunt mai mici sau egale cu 200
  • Codurile de eroare sunt cuprinse între 000 și 027, dar răspunsurile sunt, de asemenea, în acest interval

Datele sunt adăugate la sfârșitul unei comenzi sau răspunsuri. De exemplu, o comandă de conectare ar putea fi:

005pswdCS / n / r

Unde,

pswd = sunt date, în acest caz, parola dvs

Sunt necesare următoarele:

  • CS = suma de control
  • n = caracter de linie nouă
  • r = caracter de returnare a trăsurii

Pe web, am găsit multe implementări pentru calcularea sumei de control. Suma de control este necesară și multe implementări nu au funcționat. Nu sunt sigur de ce atât de mulți nu au funcționat pentru mine. Poate fi un cod greșit sau pot fi versiuni diferite ale plăcii sau versiuni de firmware care rulează pe placă. Codul meu de sumă de verificare funcționează pentru placa și firmware-ul meu.

EnvisaLink acționează ca un server pentru o conexiune TCP la o aplicație Client. Clientul ar trebui să ruleze numai pe un server sigur care poate comunica cu EnvisaLink 3. Serverul clientului ar trebui să se afle în rețeaua dvs. de domiciliu, dar nu ar trebui să fie deschis la internet. Este necesar un certificat auto-semnat (consultați celălalt instructable pentru un deschizător de uși de garaj).

EnvisaLink ascultă pe portul 4025 și va accepta o singură conexiune client. Conexiunile ulterioare vor fi refuzate. EnvisaLink va închide conexiunea dacă clientul își închide partea.

Pentru a iniția o conexiune:

  • Clientul începe o sesiune TCP prin stabilirea unui socket TCP.
  • Clientul trimite o comandă de conectare [005]
  • EnvisaLink răspunde cu unul sau mai multe [505]
  • Dacă datele comenzii [505] sunt 3, atunci în 10 secunde răspundeți cu o comandă de conectare [005]
  • Dacă datele [505] conțin un 1, atunci autentificarea are succes

Datele comenzii de conectare sunt o parolă de până la șase caractere, care este aceeași parolă pentru a vă conecta la pagina web locală a EnvisaLink.

Consultați descrierea comenzii 505 din manualul TPI pentru o descriere a tuturor datelor.

Odată ce parola este acceptată, sesiunea este creată și va continua până când se renunță la conexiunea TCP.

Pasul 17: Script de control al liniei de comandă

Am folosit documente din pasul anterior pentru a dezvolta un script interactiv python care ar putea fi rulat dintr-o linie de comandă pe o fereastră Terminal Mac Book. Iată câteva comentarii clarificatoare:

  • Poate că am trecut puțin peste bord, dar cred că toate comenzile sunt în script.
  • Scriptul python din linia de comandă, ev3.py, poate fi descărcat de pe acest link: GitHub. Descărcați ev3.py.
  • Copiați scriptul într-un director [director].
  • Deschideți o fereastră de terminal (Faceți clic pe discul MacBook, Aplicații, Utilitare, Terminal).
  • Folosesc des fereastra terminalului. Deci, am aplicația terminal fixată pe doc.
  • Dacă rulați de pe un computer, schimbați self.file_log = sys.stderr, așa cum este indicat în script.
  • În fereastra terminalului, treceți la director și executați scriptul:

$ cd [director]

$ python envisalink.py

  • Tastați [return] pentru a vedea comenzile valide.
  • Tastați [ctrl-c] pentru a ieși din program.

Pasul 18: scurtă explicație

Vreau să setez sau să monitorizez sistemul de securitate de pe un telefon inteligent, tabletă sau PC. O soluție simplă este dezvoltarea unui site web.

Scriptul Python din linia de comandă monitorizează sistemul de securitate și poate schimba starea sistemului. Cu toate acestea, nu oferă o bună capacitate de vizionare la distanță.

Un site web oferă o interfață excelentă pentru monitorizarea și schimbarea sistemului de securitate. Cu toate acestea, site-ul web „rulează” doar atunci când este vizionat. În timp ce, scriptul liniei de comandă ar trebui să ruleze tot timpul. Când scriptul rulează, este posibil ca nimeni să nu se uite la site-ul web. Deci, datele colectate de script ar trebui stocate într-o bază de date până când cineva dorește să le vizualizeze.

De asemenea, un utilizator ar trebui să poată schimba starea sistemului de securitate (armare, dezarmare). Când apar modificări de stare, modificările trebuie făcute rapid.

Atât scriptul, cât și baza de date sunt potențiale puncte de eșec, este necesar un alt script care să verifice periodic dacă totul funcționează și repornește scriptul, dacă este necesar.

S-au sărit pașii

Va trebui să efectuați acești pași (consultați Deschiderea ușii de garaj care poate fi descrisă pentru unii dintre acești pași)

A) Configurați Raspberry Pi - puteți rula acest lucru pe orice server

B) Instalați python

C) Creați un certificat autosemnat și instalați pe Raspberry Pi și pe orice dispozitiv pe care doriți să îl accesați pe site

D) Blocați persoanele fără certificatul dvs. autosemnat să vă acceseze sistemul de securitate

Pasul 19: Instalați SQLite

Alegerile obișnuite ale DB sunt MySQL sau postgres. Această aplicație are nevoie de ceva simplu, cum ar fi un fișier. Știam că SQLite este alegerea corectă când citesc,

  • https://sqlite.org/ este mai mic decât MySQL sau postgres
  • SQLite concurează cu fopen. și
  • SQLite nu este direct comparabil cu MySQL sau postgres, deoarece încearcă să rezolve o altă problemă.

Iată o sursă excelentă pentru configurarea SQLite: Instalați SQLite pe un Raspberry Pi

Conectați-vă la zmeură și rulați comanda:

$ sudo apt-get install sqlite3

$ sudo apt-get install php5-sqlite

Creați baza de date:

$ sqlite3 security.db

Creați un tabel

sqlite> BEGIN;

sqlite> starea CREATE TABLE (tdate DATE, ttime TIME, nume TEXT, valoare TEXT);

sqlite> COMMIT;

Verificați dacă tabelul a fost creat corect:

sqlite>.schema status

Starea tabelului va conține:

sistem: armat, dezarmat

alarmă: niciuna, incendiu, panică, alertă

zone [1-6]: deschise, închise

script: conectat, conectat, rulează

Introduceți câteva date în tabel

sqlite> BEGIN;

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;

Verificați valorile unde au fost introduse corect

sqlite> SELECT * FROM status WHERE name = "zone";

06-06-2015 | 17: 39: 52 | zona1 | închisă

Ieșiți din SQLite

sqlite>.quit

Mutați db-ul și schimbați accesul:

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

$ chmod og + rw / var / www /

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

Pasul 20: Instalați SQLite pe MacBook [opțional]

Îmi place să mă dezvolt pe Mac și apoi să mut rezultatele pe Raspberry Pi.

Accesați pagina de descărcare de pe sqlite.org și descărcați sqlite-autoconf - *. Tar.gz din secțiunea cod sursă

Pe MacBook deschideți descărcări din contul dvs.

Faceți clic pe fișierul descărcat tar.gx

Deschideți fereastra terminalului

$ cd Descărcări

$ cd sqlite-autoconf- [ultimul număr de versiune]

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

$ make

Marca durează câteva minute, aveți răbdare.

$ sudo make install

[Parola MacBook]

Confirmați că funcționează:

$ sqlite3

sqlite>

Sau încercați

$ care sqlite3

Refaceți pașii din pasul anterior pentru a configura baza de date, a tabela și a introduce date pe MacBook (sau utilizați scriptul. Dacă db nu există, se va crea și va completa).

Pasul 21: Pentru a comunica între EnvisaLink 3 și Raspberry Pi Load Mod_wsgi

Aveți nevoie de mod_wsgi pentru a funcționa pe Raspberry Pi.

Conectați-vă la Raspberry Pi:

$ ssh pi @ [Adresă IP Raspberry Pi]

Introdu parola

apoi obțineți mod-wsgi

$ sudo apt-get install libapache2-mod-wsgi

Pentru a rula ev3pi.py pe linia de comandă Raspberry Pi:

$ sudo python ev3pi.py

Pasul 22: Descărcați software-ul de pe GitHub

Modificați scriptul liniei de comandă pentru a scrie pe DB.

Acestea sunt explicații bune pentru conectarea unui script python la SQLite:

  • SQLite din python.org
  • SQLite din python

Am modificat codul pentru a vorbi cu SQLite. Puteți descărca codul aici: GitHub. Descărcați ev3pi.py.

Deschideți o fereastră terminal și copiați scriptul python din linia de comandă în raspberry pi

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

Conectați-vă la pi

$ ssh pi @

Introdu parola

Mutați scriptul în / usr / local / bin și modificați privilegiile

$ ssh pi @

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

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

sau

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

Schimbați scriptul astfel încât să ruleze pe Raspberry Pi. Vedeți comentariile în cod. Asigurați-vă că utilizați db în /var/www/db/security.db

Actualizați site-ul web pentru a scrie comenzi în DB

Dând clic pe o comandă de securitate de pe site, se scrie comanda în baza de date.

La următoarea trecere prin bucla principală, comanda ar trebui citită și executată.

Descărcați codul security.php aici: GitHub. Descărcați security.php.

script bash care verifică dacă se execută sau nu ev3pi.py

Dacă ev3pi.py încetează să ruleze din anumite motive, atunci ar trebui să înceapă să ruleze automat. Acest script încearcă să repornească scriptul.

Descărcați codul ev3chk.sh aici: GitHub. Descărcați ev3chk.sh.

Script Python care armează și dezarmează automat sistemul de securitate utilizând un program

Acest script folosește un program pentru armarea și dezarmarea sistemului de securitate pe baza orei introduse de utilizator din ziua și din ziua săptămânii. Dacă este setat câmpul de vacanță, atunci armarea și dezarmarea vor fi ignorate.

Descărcați codul ev3auto.py aici: GitHub. Descărcați ev3auto.py.

Pagina Web pentru a afișa starea și Armarea și dezarmarea sistemului

Aceasta este o pagină web destul de simplă, conectată la un sistem de automatizare la domiciliu mai mare. Redenumiți acest script pentru a indexa și plasați în / var / www pe Raspberry Pi.

Descărcați codul security.php aici: GitHub. Descărcați security.php.

crontab pentru a verifica dacă scriptul rulează

Editați Crontab pentru a vă asigura că scripturile rulează.

Conectați-vă la Raspberry Pi

$ sudo crontab -e

#

# verificați la fiecare 5 minute dacă sistemul de securitate rulează

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

#

# verificați la fiecare 15 minute dacă sistemul de securitate este în stare bună

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

Puteți descărca crontabul aici: GitHub. Descărcați crontab.

Recomandat: