Inhoudsopgave:

Internet-enabled DSC Home Security-systeem - Ajarnpa
Internet-enabled DSC Home Security-systeem - Ajarnpa

Video: Internet-enabled DSC Home Security-systeem - Ajarnpa

Video: Internet-enabled DSC Home Security-systeem - Ajarnpa
Video: How to Use Your DSC Security System 2024, December
Anonim

Pas een bestaand DSC Home Security-systeem aan zodat het internet ingeschakeld en zelfbewaakt is.

Deze instructable gaat ervan uit dat je een werkende Raspberry Pi hebt.

Let op: deze implementatie heeft de volgende tekortkomingen:

  • Als een dief de inkomende DSL-kabel doorsnijdt of als de internetservice wegvalt, wordt de bewaking vanaf internet uitgeschakeld

    Toekomst: de oplossing voor dit probleem is het gebruik van een goedkope LTE-service voor alleen back-up

  • DSC-sensoren geven niet aan of de deuren of ramen op slot zijn, alleen dat ze gesloten zijn

    Toekomst: voeg een drukknop toe die wordt geactiveerd door de bout van het deurslot. Dit zal veel werk vergen om de bedrading te laten lopen zonder de deurpost te vernietigen

  • DSC ondersteunt integratie van brandalarm. Het brandalarm van mijn huis is echter niet geïntegreerd

    Toekomst: brandalarm integreren in DSC-bedieningspaneel

  • Het geïnstalleerde DSC-systeem heeft geen sensor voor de overhead garagedeur

    Eerder heb ik een instructable voor garagedeuropener gemaakt en ik kan lezen dat de deur open of gesloten is

De doelen van dit project zijn:

  • Stuur beveiligingssysteemwaarschuwingen naar mijn mobiele telefoon
  • Controleer of stel de status van het beveiligingssysteem in vanaf een beveiligde webpagina
  • Voer de oplossing uit op een veilige Raspberry pi (https en certs)
  • Gebruik het bestaande DSC-systeem voor zelfcontrole
  • Voeg EnvisaLink 3 toe om Ethernet-ondersteuning toe te voegen aan het DSC-systeem
  • Zelfcontrolesoftware schrijven
  • Maak een instructable voor deze inspanning

Let op: in dit document moet tekst tussen [vierkante haken] worden vervangen door een werkelijke waarde

Mijn familie is nog nooit in ons huis beroofd en we wonen in een gebied met weinig criminaliteit. Er is geen dwingende reden om dit project te doen, behalve dat het interessant en leuk was.

Let op: er is een uitstekende kortere weg naar dit instructable. Zodra de Envisalink 3 in gebruik is, kunt u de kant-en-klare oplossing van Eyes-On genaamd EnvisAlerts en EnvisAlarm gebruiken, die waarschuwingen verzendt en uw huis bewaakt en/of een zeer coole mobiele app voor mobiele telefoons genaamd DSC Security Server door Mike P. Ik heb me aangemeld voor EnvisAlerts en de DSC Security Server van Mike P gekocht. Ik was erg blij met beide, maar wilde mijn eigen versie.

Stap 1: Problemen oplossen en unieke gegevens

Er zijn bepaalde gegevens waar ik vaak naar verwijs en deze gegevens zet ik graag voorop.

Alarm - in- en uitschakelen

Zorg ervoor dat alle deuren en ramen gesloten zijn. Voer op het bedieningspaneel de mastercode in:

[mastercode] = [uw mastercode]

Telefoonlijn uitschakelen

Mijn huis heeft een vaste telefoonlijn, maar ik heb geen vaste lijn. Elke nacht rond 23.00 uur piept het systeem. Als het systeem stroom verliest, moet dit opnieuw worden ingevoerd. Om deze pieptoon uit te schakelen, voert u op het toetsenbord het volgende in:

  • Schakel de telefoonlijn uit: *8 5555 015 7 ##
  • Schakel testtransmissies via de telefoonlijn uit *8 5555 371 9999 ##
  • Schakel de telefoonkiezer uit: *8 5555 380 1 ##

Envisalink-waarschuwingsserver

Inloggen op Envisaiink

Download Envisalerts-server: 184.106.215.218

Open U-verse router: 192.168.1.254

Ga naar Instellingen, Firewall

Envisalink-login

Open browser

Voer het Envisalink IP-adres in:

[envisalink gebruikersnaam] = gebruiker

[envislink wachtwoord] = [vul uw wachtwoord in]

Envisalink IP-adres

[Envisalink IP-adres] = 192.168.1.92

Eyes-on gebruikersnaam en wachtwoord

[eyes-on gebruikersnaam] = [uw envisalink gebruikersnaam]

[eyes-on wachtwoord] = [uw envisalink wachtwoord]

Installateurscode

[Installateurscode] = [Voer uw installateurscode in]

5555 is de standaardcode. U kunt uw installateur om de code vragen, of u kunt een fabrieksreset uitvoeren, waardoor deze teruggaat naar 5555. Ik raad af om een fabrieksreset uit te voeren omdat er een grote kans is dat het systeem beschadigd raakt.

Master Code

[MasterCode] = [voer uw mastercode in]

Raspberry Pi IP

[Raspberry Pi IP] = [voer je Raspberry Pi IP-adres in, zoiets als 192.168.1.57]

Raspberry Pi inloggen vanaf Mac Book

Op Mac Book, open terminal

ssh pi@[Raspberry Pi IP]

[Wachtwoord]

Raspberry Pi-wachtwoord

Wachtwoord = [uw Raspberry Pi-wachtwoord]

Router

Router IP-adres =[voer het IP-adres van uw router in]

DSC-tijd en datum instellen

*611301uummMMDDYY#

hh zijn in militaire tijd, voor pm 12 toevoegen. Dus 16.00 uur is 16

Zoneprogrammering

Zonealarmtype:

01 - Alarm na het verstrekken van een vertraging (standaard 60 seconden) in de modus Aanwezig of Afwezig

03 – Alarm onmiddellijk indien geschonden in de modus Aanwezig of Afwezig

05 – Bewegingssensor binnen. Alarm onmiddellijk indien geschonden alleen in de Afwezig-modus (overbrugt wanneer in Aanwezig)

Voer op het toetsenbord in:

*8 [Installateurcode] 001 01 03 05 05 87 # #

Verklaring van bovenstaande codereeks:

  • *8 [Installateurscode]
  • 001 – Hiermee kom je in zoneprogrammering voor zones
  • 01 03 05 05 87 – Dit is mijn reeks zonealarmtypes, in zonevolgorde van 1 tot 5.
  • Alle zones moeten correct zijn ingesteld.
  • # # – Dit slaat op wat je hebt gedaan en haalt je weer uit de programmeermodus.

Stap 2: Zoek de modelnummers van uw toetsenbord en bedieningspaneel

Vind de modelnummers van uw toetsenbord en bedieningspaneel
Vind de modelnummers van uw toetsenbord en bedieningspaneel
Vind de modelnummers van uw toetsenbord en bedieningspaneel
Vind de modelnummers van uw toetsenbord en bedieningspaneel
Vind de modelnummers van uw toetsenbord en bedieningspaneel
Vind de modelnummers van uw toetsenbord en bedieningspaneel
Vind de modelnummers van uw toetsenbord en bedieningspaneel
Vind de modelnummers van uw toetsenbord en bedieningspaneel

Zoek het modelnummer van het toetsenbord. Het DSC-toetsenbord bevindt zich in de buurt van een deur (afbeelding 1 & 2). In mijn huis is er een toetsenbord bij de garagedeur en een bij de voordeur.

Zoek het modelnummer van het bedieningspaneel. Het toetsenbord heeft een sticker aan de bovenkant en het modelnummer staat in het midden. De mijne is een PK5501 (afbeelding 3 & 4).

Een andere manier om dit te doen is:

  • Open een browser op een computer
  • Ga naar

Mijn bedieningspaneel bevindt zich in een metalen doos in een kast (afbeelding 3). Open de metalen doos en in het midden van het bedieningspaneel zit een sticker met het modelnummer. Het modelnummer van mijn bedieningspaneel is PC1616 (afbeelding 4).

Stap 3: Controleer of EnvisaLink 3 compatibel is met uw beveiligingssysteem

Klik op de eyeson.com-link.

Scrol omlaag naar paneelcompatibiliteit en kijk of de jouwe in de lijst staat. Zo niet, controleer dan met EyesOn.

Stap 4: DSC-documentatie ophalen

DSC biedt een gebruikershandleiding, maar voor de meeste andere documenten moet u een installateur zijn

  • Voor het bedieningspaneel vindt u de installatiehandleiding, de gebruikershandleiding, de referentiehandleiding en het programmeerwerkblad.
  • Voor het toetsenbord vindt u de installatiehandleiding. De handleidingen die ik vond waren allemaal pdf-bestanden.

Er zijn verschillende niet-DSC-bronnen van DSC-handleidingen online beschikbaar. DSC-handleidingen zijn niet vereist voor deze instructable. Dit zijn slechts referenties als u de instructable wilt uitbreiden of als uw systeem verschillende onderdelen gebruikt.

LiveWatch.com is de beste bron voor DSC-handleidingen. LiveWatch was ook erg behulpzaam bij het beantwoorden van vragen en om me los te maken. Ik had deze instructable niet kunnen voltooien zonder de hulp van LiveWatch.

Stap 5: Koop of verzamel onderdelen en gereedschappen

A) DSC-beveiligingssysteem met PK5501-toetsenborden, PC1616-bedieningspaneel en meerdere sensoren (ramen, deuren en beweging). Het beveiligingssysteem kwam met het huis.

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

C) AT&T U-verse internetprovider, DSL Gateway

D) 24-poorts NetGear Managed switch

E) Onzichtbare hondenomheining of thermostaatdraad

F) CAT5E Ethernet-kabel

G) Vier 18-22 gauge AWG-draden van ongeveer 6 inch lang (rood, zwart, geel, groen)

H) Punttang

I) Boor en 3/16 metaalboor en zeer kleine boor

J) Zwarte elektricienstape

K) Zeer kleine platte schroevendraaier (ik heb er een om mijn bril op te zetten als de schroef eruit valt)

L) SPST Mini Momentary Pushbutton Switch, normaal gesloten

M) Klein plastic doosje (tandzijde)

N) Exacto mes

Stap 6: EnvisaLink 3 Installatie

EnvisaLink 3 Installatie
EnvisaLink 3 Installatie
EnvisaLink 3 Installatie
EnvisaLink 3 Installatie

Ik had de instructies van de EnvisLink 3 niet moeten volgen.

De eerste stap in de instructies is het loskoppelen van de stroom naar de PC1616. Ik nam aan dat dit zowel de wisselstroom als de reservevoeding van de batterij betekende. Ik heb de verbinding met beide verbroken en moest toen een technicus bellen om de toetsenborden weer online te krijgen. De servicebeurt was $ 135.

  1. Mijn PC1616 zit in een metalen behuizing. Zoek uw beveiligingssysteem PC1616-kaart.
  2. Gebruik de EV3 om een papieren sjabloon voor de offsetgaten te maken. De sjabloon wordt gebruikt om gaten in de metalen behuizing te markeren. Omdat het makkelijker was om van de buitenkant van de doos naar de binnenkant te schroeven, moest ik de sjabloon omdraaien.
  3. Plak de sjabloon met plakband op de buitenkant van de metalen doos met de PC1616. Kies een plek met voldoende ruimte voor de Envisalink 3.
  4. Boor heel langzaam, met behulp van een 3/16" metalen boor en de sjabloon, 3 gaten in de zijkant van de metalen doos.
  5. Duw vanaf de binnenkant van de metalen behuizing de plastic offsets in de gaten
  6. Installeer het EV3-bord in de metalen doos op de plastic offsets.
  7. Strip 1/4 "van beide uiteinden van de rode, zwarte, groene en gele draden (of u kunt een RJ11-kabel doorknippen en de draden erin gebruiken). Hoewel beide zullen werken, is een stevige thermostaatdraad beter dan een getwiste draad omdat de aan- kaartconnectoren grijpen de massieve draad steviger vast. Als u gedraaide draad gebruikt, draai dan de uiteinden stevig vast, waardoor het gemakkelijker te installeren is.
  8. Koppel de zwarte AC-stroomdraad los van de DSC-controller. Dit is de tweede draad(en) van links. Zorg ervoor dat het blootliggende uiteinde van de zwarte draad(en) niets raakt. Ik wikkelde het uiteinde in isolatietape totdat ik klaar was met de volgende stappen. Als de zwarte draad(en) iets raken, zal de transformator kortsluiten en moet u een servicebedrijf bellen om te vervangen.
  9. Gebruik een zeer kleine platte schroevendraaier om gekleurde draden in de juiste sleuven op EV3 te installeren.
  10. Draai de rode, groene, gele en zwarte schroeven op de DSC-controller één voor één los, maar ALLEEN genoeg om nieuwe draden erin te schuiven. Steek de juiste gekleurde draad erin en draai vast.
  11. Sluit de wisselstroom (verwijderd in G) weer aan op de DSC-controller.
  12. Gebruik een CAT5e- of CAT6-kabel om EnvisaLink 3 op de router aan te sluiten.

Stap 7: Installeer Momentary Power Push Button Toggle

Momentary Power Push Button Toggle installeren
Momentary Power Push Button Toggle installeren

Ik had veel problemen met het programmeren van de Envisalink en DSC Controller. Ik merkte dat door de stroom uit en aan te zetten, het systeem weer in een bekende goede staat verkeerde. Later heb ik een tijdelijke drukknopschakelaar toegevoegd. Er zijn veel soorten schakelaars. De normaal gesloten is degene die nodig is.

A) Pak een kleine plastic doos. Ik gebruikte een flosdoosje, het soort dat een tandarts je kan geven na een afspraak. Verwijder de floss en de metalen clips.

B) Boor twee kleine gaatjes voor de AC-draad

C) Boor of snij een gat voor de tijdelijke tuimelschakelaar. Ik ontdekte dat het gemakkelijker was om een exacto mes te gebruiken dan een gat te boren. Open de behuizing en snijd de helft van het gat aan de ene kant van de opening en de andere helft aan de aangrenzende kant. Dus wanneer de tijdelijke tuimelschakelaar naar één kant schuift en wanneer de behuizing is gesloten, zit de tijdelijke tuimelschakelaar stevig vast.

D) Haal de wisselstroom uit Envisalink. Leid de AC-stroomkabel door een van de kleine gaatjes en sluit deze aan op de kabel van de tijdelijke aan/uit-schakelaar. Wikkel in elektricienstape.

E) Strip de uiteinden van een stuk draad van 3-4 inch. Steek het ene uiteinde door het andere kleine gaatje in de behuizing en sluit het aan op de andere kabel van de momentschakelaar. Wikkel in elektrische tape.

F) Sluit de 2e draad van de momentschakelaar aan op de Envisalink AC-stroomaansluiting

G) Gebruik plakband om de behuizing af te sluiten

H) Controleer of de schakelaar werkt. Het systeem zou normaal aan moeten staan. Wanneer de schakelaar wordt ingedrukt, gaan de lampjes op de Envisalink uit.

Stap 8: Registreer EnvisaLink 3

Eenmaal geregistreerd, kunt u zich niet uitschrijven. EyesOn verzamelt uw gegevens en kan de software van uw bord op elk moment upgraden, zonder enige kennisgeving. Als ik dit opnieuw zou doen, zou ik deze stap niet doen.

A) Open een browser en ga naar www.eyezon.com, vervolgkeuzelijst Ondersteuning en selecteer EnvisaLink 3 Primer Guide

B) Volg de aanwijzingen in de Primer (Registreren, Inloggen, Nieuw apparaat toevoegen, enz.)

C) Gebruikersnaam = [eyes-on gebruikersnaam]

D) Wachtwoord = [wachtwoord in de gaten]

Stap 9: Controleer de installatie van EnvisaLink 3

Open een browser en ga naar de startpagina van uw router.

  1. Open een browser
  2. Voer [IP-adres router] in
  3. Scrol op het tabblad Start omlaag naar Thuisnetwerkapparaten

Mijn U-verse Residenial Gateway (of router) toont zoiets als Afbeelding 1.

Scroll naar beneden naar het apparaat en het zou eruit moeten zien als afbeelding 2.

Een actieve status betekent dat het bord is geïnstalleerd en werkt.

Klik op Details om het IP-adres van de EnvisaLink te krijgen. Het IP-adres kan van tijd tot tijd veranderen.

Open een browser en voer in

[Envisalink IP-adres]

Voer gebruikersnaam en wachtwoord in:

[envisalink gebruikersnaam]

[envislink wachtwoord]

Voer gebruikersnaam en wachtwoord uit de installatiehandleiding in. De browser zou iets als afbeelding 3 moeten tonen.

Stap 10: Wijzig het standaardwachtwoord op Envisalink 3

A) Browser openen

B) Ga naar [Envisalink IP-adres] /:80

Een voorbeeld is 192.168.1.34/:80. De /:80 is de poort.

C) Wijzig het wachtwoord in Gebruikerswachtwoord wijzigen”. Opmerking: standaard gebruikersnaam en wachtwoord is gebruiker

D) Noteer [envisalink wachtwoord]

Stap 11: (snelkoppeling) Mobiele link genereren [optioneel]

U hoeft deze of de volgende stap niet te doen, maar als u klaar wilt zijn, is dit een goede optie.

Eyez-On biedt een complete monitoringservice. Het is makkelijk in gebruik en werkt goed. Als je deze service wilt gebruiken, volg dan de instructies in stap 10 en 11. Ga anders verder met stap 12. Let op, ik heb zowel 10 als 11 gedaan en moest ze vervolgens uitschakelen. Beide diensten werkten prima en ik had geen problemen, ik wilde het gewoon zelf doen.

A) Open de browser en ga naar Eyez-On

B) Inloggen (in een eerdere stap had u een account moeten aanmaken)

C) Selecteer Mobile Portal Link

D) Klik op mobiele link genereren

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

E) De link is lang. E-mail het naar uw mobiele apparaat.

F) Open de link op uw mobiele apparaat

G) Open een ander browservenster of tabblad en ga naar Eyez-On, selecteer ondersteuning en selecteer EnvisAlarms Monitoring Primer in de vervolgkeuzelijst

H) Volg de aanwijzingen om EV3-zelfcontrolesoftware te downloaden

I) Volg de aanwijzingen om in te stellen hoe u wilt monitoren

Stap 12: Installeer de DSC Server-app op uw smartphone [optioneel]

U hoeft deze stap of de vorige niet te doen, maar als u klaar wilt zijn, dan is dit een goede optie.

A) Ga naar de Android- of Apple Store en koop de DSC Security Server-app van Mike P.

Als je de twee vorige stappen hebt gedaan, dan ben je klaar! U moet uw beveiligingssysteem op afstand kunnen bewaken en bedienen.

Stap 13: Belangrijke opmerkingen over Envisalink 3 en PC1616

Communicatie van Envisalink 3 naar EnvisAlerts maakt gebruik van UDP. Communicatie van Envisalink 3 naar script maakt gebruik van TCP/IP.

De Envisalink 3 Ethernet-poort communiceert alleen met 10 Mbps. De meeste 1Gb of 100Mb Ethernet-routers en switches zullen automatisch onderhandelen tot 10Mbps.

In sectie 022 van de PC1616 kan optie 1 niet worden ingeschakeld. Deze optie vereist een gebruikerstoegangscode voor toegang tot gebruikersfuncties zoals het overbruggen van zones, enz. De optie is standaard uitgeschakeld.

Keypad Blanking en Zone Bypassing moeten uitgeschakeld zijn om de Envisalink te laten werken.

Stap 14: Maak het werk in de vorige twee stappen ongedaan

Aanvankelijk heb ik me aangemeld voor Envisalerts en voor de app van Mike P.

Omdat ik mijn beveiligingsinformatie niet naar internet wil sturen en ik niet wil dat de Envisalink 3-software wordt bijgewerkt zonder mijn toestemming, moest ik de toegang van de Envisalink 3 tot internet blokkeren.

A) Browser openen

B) Ga naar AT&T U-verse 3801HGV-gateway. Voer in het URL-vak van de browser in: 192.168.1.254

C) Log in op gateway

D) Ga naar Home

E) Scroll naar beneden naar Envisalink

F) Klik op details

  • MAC-adres opslaan (ook bekend als hardware-adres) = [Envisalink MAC-adres]
  • [Envisalink MAC-adres] = 00:1c:2a:00:9d:07

G) Ga naar Instellingen >> LAN >> Draadloos

H) Scroll naar beneden om MAC-filtering in te schakelen

I) Klik op MAC-filtering

  • Klik op Lijst met geblokkeerde/toegestane apparaten bewerken
  • Klik op MAC-filtering inschakelen
  • Scroll naar beneden om MAC-adres in te voeren

J) Plak het MAC-adres van Envisalink

K) Klik op toevoegen aan lijst

L) Klik op >> om naar Geblokkeerde apparaten te gaan

M) Scroll naar boven en zorg ervoor dat het selectievakje MAC-filtering is aangevinkt

N) En Envisalink moet worden geblokkeerd

Stap 15: Verzamel de benodigde documentatie en begrijp hoe uw systeem is geconfigureerd

Ik wilde begrijpen hoe ik het beveiligingssysteem kon bedienen. De beste bronnen zijn:

Hoe een DSC-systeem te programmeren - een zelfstudie - vereist om het TPI-document te begrijpen

EnvisaLink TM TPI Programmer's Document, versie 1.04 – beschrijft de TPI-commandoset

Programmeerwerkblad - een vreselijk document met een slechte naam, dat de configuratie van uw beveiligingssysteem beschrijft

De vorige eigenaar heeft geen ingevuld programmeerwerkblad achtergelaten. Dit moest ik zelf invullen. Kortom, ik gebruikte het toetsenbord om opdrachten in te voeren totdat ik alles doorhad. Het werkblad is een plaats om de configuratie van uw systeem vast te leggen. Oké, ik heb gelogen. Gebruik het werkblad als richtlijn, maar noteer de configuratie van uw systeem in een document van normaal formaat.

Stap 16: Third Party Interface (TPI) Programmer's Document

De Third Party Interface (TPI) is een reeks opdrachten, antwoorden en foutcodes waarmee toepassingen van derden via een TCP/IP-verbinding met de EnvisaLink 3 kunnen communiceren. Ik vond dit document erg verwarrend. Ik hoop dat deze uitleg helpt om het document wat beter uit te leggen.

Over het algemeen bestaan alle TPI-opdrachten, antwoorden en foutcodes uit drie cijfers:

  • Commando's zijn groter dan of gelijk aan 500
  • Reacties zijn kleiner dan of gelijk aan 200
  • Foutcodes liggen tussen 000 en 027, maar reacties vallen ook binnen dit bereik

Gegevens worden toegevoegd aan het einde van een opdracht of antwoord. Een login-opdracht kan bijvoorbeeld zijn:

005pswdCS\n\r

waar,

pswd = zijn gegevens, in dit geval uw wachtwoord

Het volgende is vereist:

  • CS = controlesom
  • n = teken van een nieuwe regel
  • r = terugloopteken

Op het web vond ik veel implementaties voor het berekenen van de checksum. De controlesom is vereist en veel implementaties werkten niet. Ik weet niet zeker waarom zoveel niet voor mij werkten. Het kan een slechte code zijn, of het kunnen verschillende versies van het bord zijn of firmwareversies die op het bord draaien. Mijn checksum-code werkt voor mijn bord en firmware.

De EnvisaLink fungeert als server voor een TCP-verbinding met een Client-applicatie. De client mag alleen draaien op een beveiligde server die kan communiceren met de EnvisaLink 3. De server van de client moet zich in uw thuisnetwerk bevinden, maar mag niet open zijn voor internet. Een zelfondertekend certificaat is vereist (zie mijn andere instructable voor een garagedeuropener).

De EnvisaLink luistert op poort 4025 en accepteert slechts één clientverbinding. Volgende verbindingen worden geweigerd. De EnvisaLink sluit de verbinding als de client zijn kant sluit.

Een verbinding tot stand brengen:

  • Client start een TCP-sessie door een TCP-socket tot stand te brengen.
  • Client stuurt een login-commando [005]
  • EnvisaLink reageert met één of meer [505]
  • Als de gegevens van het [505]-commando een 3 zijn, reageer dan binnen 10 seconden met een login-commando [005]
  • Als [505] gegevens een 1 bevatten, is inloggen gelukt

De gegevens van de inlogopdracht zijn een wachtwoord van maximaal zes tekens lang, hetzelfde wachtwoord om in te loggen op de lokale webpagina van EnvisaLink.

Zie 505-commandobeschrijving in de TPI-handleiding voor een beschrijving van alle gegevens.

Zodra het wachtwoord is geaccepteerd, wordt de sessie gemaakt en wordt deze voortgezet totdat de TCP-verbinding wordt verbroken.

Stap 17: Command Line Control Script

Ik heb documenten uit de vorige stap gebruikt om een interactief python-script te ontwikkelen dat kan worden uitgevoerd vanaf een opdrachtregel in een Mac Book Terminal-venster. Hier volgen enkele verhelderende opmerkingen:

  • Ik ben misschien een beetje overboord gegaan, maar ik denk dat alle commando's in het script staan.
  • Het python-script voor de opdrachtregel, ev3.py, kan worden gedownload via deze link: GitHub. Download ev3.py.
  • Kopieer het script naar een directory [directory].
  • Open een terminalvenster (klik op MacBook-schijf, Programma's, Hulpprogramma's, Terminal).
  • Ik gebruik vaak een terminalvenster. Dus ik heb de terminal-app vastgemaakt aan het dock.
  • Als u vanaf een computer werkt, wijzigt u self.file_log = sys.stderr, zoals aangegeven in het script.
  • Ga in het terminalvenster naar de map en voer het script uit:

$ cd [map]

$ python envisalink.py

  • Typ [return] om geldige opdrachten te zien.
  • Typ [ctrl-c] om het programma af te sluiten.

Stap 18: Korte uitleg

Ik wil het beveiligingssysteem instellen of bewaken vanaf een smartphone, tablet of pc. Een simpele oplossing is het ontwikkelen van een website.

Het python-script op de opdrachtregel bewaakt het beveiligingssysteem en kan de status van het systeem wijzigen. Het biedt echter geen goede mogelijkheden voor weergave op afstand.

Een website biedt een uitstekende interface voor het bewaken en wijzigen van het beveiligingssysteem. De website "loopt" echter alleen wanneer deze wordt bekeken. Terwijl het opdrachtregelscript altijd moet worden uitgevoerd. Wanneer het script wordt uitgevoerd, kijkt mogelijk niemand naar de website. De gegevens die door het script worden verzameld, moeten dus in een database worden opgeslagen totdat iemand ze wil bekijken.

Ook moet een gebruiker de status van het beveiligingssysteem kunnen wijzigen (inschakelen, uitschakelen). Wanneer toestandsveranderingen optreden, moeten de wijzigingen snel worden doorgevoerd.

Zowel het script als de database zijn potentiële faalpunten, er is een ander script nodig dat periodiek controleert of alles werkt en het script indien nodig opnieuw opstart.

Stappen overgeslagen

U moet deze stappen uitvoeren (zie de Garagedeuropener instructable voor sommige van deze stappen)

A) Stel Raspberry Pi in - eigenlijk kun je dit op elke server uitvoeren

B) Installeer python

C) Maak een zelfondertekend certificaat en installeer het op de Raspberry Pi en alle apparaten die u toegang wilt tot de website

D) Blokkeer mensen zonder uw zelfondertekende certificaat van toegang tot uw beveiligingssysteem

Stap 19: Installeer SQLite

De gebruikelijke DB-keuzes zijn MySQL of postgres. Deze app heeft iets eenvoudigs nodig, zoals een bestand. Ik wist dat SQLite de juiste keuze was toen ik las,

  • https://sqlite.org/ is kleiner dan MySQL of postgres
  • SQLite concurreert met fopen. en
  • SQLite is niet direct vergelijkbaar met MySQL of postgres omdat het een ander probleem probeert op te lossen.

Hier is een geweldige bron voor het instellen van SQLite: Installeer SQLite op een Raspberry Pi

Log in op de Raspberry en voer de opdracht uit:

$ sudo apt-get install sqlite3

$ sudo apt-get install php5-sqlite

Maak de databank aan:

$ sqlite3 security.db

Maak een tabel

sqlite > BEGIN;

sqlite > CREATE TABLE-status (tdate DATE, ttime TIME, naam TEXT, waarde TEXT);

sqlite > COMMIT;

Controleer of de tabel correct is gemaakt:

sqlite >.schemastatus

De tabelstatus bevat:

systeem: ingeschakeld, uitgeschakeld

alarm: geen, brand, paniek, alarm

zones [1-6]: open, gesloten

script: verbonden, ingelogd, actief

Voeg wat gegevens in de tabel in

sqlite > BEGIN;

sqlite > INSERT INTO statuswaarden (datum ('nu'), tijd ('nu'), "systeem", "uitgeschakeld");

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;

Waarden controleren waar correct ingevoerd

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

2015-06-06|17:39:52|zone1|gesloten

SQLite afsluiten

sqlite >.quit

Verplaats de db en wijzig de toegang:

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

$ chmod og+rw /var/www/

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

Stap 20: Installeer SQLite op MacBook [optioneel]

Ik ontwikkel graag op de Mac en verplaats de resultaten vervolgens naar de Raspberry Pi.

Ga naar de downloadpagina op sqlite.org en download sqlite-autoconf-*.tar.gz uit de broncodesectie

Open op MacBook downloads van uw account

Klik op het gedownloade tar.gx-bestand

Terminalvenster openen

$ cd-downloads

$ cd sqlite-autoconf-[nieuwste versienummer]

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

$ maken

Het maken duurt een paar minuten, wees geduldig.

$ sudo make install

[MacBook-wachtwoord]

Bevestig dat het werkt:

$ sqlite3

sqlite>

Of probeer

$ welke sqlite3

Herhaal de stappen in de vorige stap om de database, tabel en gegevens op MacBook in te stellen (of gebruik het script. Als db niet bestaat, wordt het aangemaakt en ingevuld).

Stap 21: Om te communiceren tussen de EnvisaLink 3 en Raspberry Pi Load Mod_wsgi

Mod_wsgi nodig om het op Raspberry Pi te laten werken.

Inloggen op Raspberry Pi:

$ ssh pi@[Raspberry Pi IP-adres]

voer wachtwoord in

krijg dan mod-wsgi

$ sudo apt-get install libapache2-mod-wsgi

Om ev3pi.py op de Raspberry Pi-opdrachtregel uit te voeren:

$ sudo python ev3pi.py

Stap 22: Software downloaden van GitHub

Wijzig het opdrachtregelscript om naar de database te schrijven.

Dit zijn goede verklaringen voor het koppelen van een python-script aan SQLite:

  • SQLite van python.org
  • SQLite van python

Ik heb de code aangepast om met SQLite te praten. Je kunt de code hier downloaden: GitHub. Download ev3pi.py.

Open een terminalvenster en kopieer het python-script van de opdrachtregel naar raspberry pi

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

Inloggen op pi

$ ssh pi@

voer wachtwoord in

Verplaats script naar /usr/local/bin en wijzig rechten

$ ssh pi@

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

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

of

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

Wijzig het script zodat het op Raspberry Pi draait. Zie opmerkingen in code. Zorg ervoor dat u de db gebruikt in /var/www/db/security.db

Website bijwerken om opdrachten naar DB te schrijven

Door op een beveiligingsopdracht op de website te klikken, wordt de opdracht naar de database geschreven.

Bij de volgende passage door de hoofdlus moet de opdracht worden gelezen en uitgevoerd.

Download hier de security.php-code: GitHub. Download security.php.

bash-script dat controleert of ev3pi.py actief is

Als ev3pi.py om de een of andere reden stopt met werken, zou het automatisch moeten starten. Dit script probeert het script opnieuw te starten.

Download hier de ev3chk.sh-code: GitHub. Download ev3chk.sh.

Python-script dat het beveiligingssysteem automatisch in- en uitschakelt met behulp van een schema

Dit script gebruikt een schema om het beveiligingssysteem in en uit te schakelen op basis van de door de gebruiker ingevoerde tijd van de dag en dag van de week. Als het vakantieveld is ingesteld, worden in- en uitschakelen genegeerd.

Download de ev3auto.py-code hier: GitHub. Download ev3auto.py.

Webpagina om de status weer te geven en het systeem in en uit te schakelen

Dit is een vrij eenvoudige webpagina, verbonden met een groter domoticasysteem. Hernoem dit script naar index en plaats het in /var/www op je Raspberry Pi.

Download hier de security.php-code: GitHub. Download security.php.

crontab om te controleren of het script actief is

Bewerk de Crontab om ervoor te zorgen dat de scripts worden uitgevoerd.

Inloggen op Raspberry Pi

$ sudo crontab -e

#

# controleer elke 5 minuten of het beveiligingssysteem actief is

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

#

# controleer elke 15 minuten of het beveiligingssysteem in goede staat is

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

Je kunt de crontab hier downloaden: GitHub. Crontab downloaden.

Aanbevolen: