Spisu treści:

Domowy system bezpieczeństwa DSC z obsługą Internetu: 22 kroki
Domowy system bezpieczeństwa DSC z obsługą Internetu: 22 kroki

Wideo: Domowy system bezpieczeństwa DSC z obsługą Internetu: 22 kroki

Wideo: Domowy system bezpieczeństwa DSC z obsługą Internetu: 22 kroki
Wideo: Kurs, szkolenie Satel Perfecta krok po kroku system-alarmowy.online 2024, Grudzień
Anonim

Zmodyfikuj istniejący system DSC Home Security, aby był włączony do Internetu i samomonitorowany.

Ta instrukcja zakłada, że masz działające Raspberry Pi.

Należy pamiętać, że ta implementacja ma następujące wady:

  • Jeśli złodziej przetnie przychodzący kabel DSL lub usługa internetowa zostanie utracona, monitorowanie z Internetu zostanie wyłączone

    Przyszłość: obejście tego problemu polega na skorzystaniu z niedrogiej usługi tylko do tworzenia kopii zapasowych LTE

  • Czujniki DSC nie wskazują, czy drzwi lub okna są zamknięte, a jedynie, że są zamknięte

    Przyszłość: Dodaj przełącznik przyciskowy, który jest aktywowany przez rygiel zamka drzwi. Wymaga to znacznej pracy, aby poprowadzić okablowanie bez niszczenia ościeżnicy drzwiowej

  • DSC wspiera integrację alarmu przeciwpożarowego. Jednak alarm przeciwpożarowy mojego domu nie jest zintegrowany

    Przyszłość: zintegrować alarm przeciwpożarowy z panelem sterowania DSC

  • Zainstalowany system DSC nie posiada czujnika do uchylnej bramy garażowej

    Wcześniej stworzyłem instrukcję otwierania drzwi garażowych i mogę przeczytać, że drzwi są otwarte lub zamknięte

Cele tego projektu to:

  • Wysyłaj alerty systemu bezpieczeństwa na mój telefon komórkowy
  • Sprawdź lub ustaw stan systemu bezpieczeństwa na bezpiecznej stronie internetowej
  • Uruchom rozwiązanie na bezpiecznym Raspberry Pi (https i certs)
  • Użyj istniejącego systemu DSC do samodzielnego monitorowania
  • Dodaj EnvisaLink 3, aby dodać obsługę Ethernet do systemu DSC
  • Napisz oprogramowanie do samokontroli
  • Stwórz instrukcję dla tego wysiłku

Uwaga: W tym dokumencie tekst zawarty w [nawiasach kwadratowych] należy zastąpić rzeczywistą wartością

Mojej rodzinie nigdy nie obrabowano naszego domu, a żyjemy na obszarze o niskiej przestępczości. Nie ma przekonującego powodu, aby zrobić ten projekt, poza tym, że był interesujący i zabawny.

Należy pamiętać, że istnieje doskonały skrót do tej instrukcji. Po uruchomieniu Envisalink 3 możesz skorzystać z gotowego rozwiązania oferowanego przez Eyes-On o nazwie EnvisAlerts i EnvisAlarm, które wysyła alerty i monitoruje Twój dom i/lub bardzo fajną aplikację mobilną na telefon komórkowy o nazwie DSC Security Server Mike P. Zarejestrowałem się w EnvisAlerts i kupiłem DSC Security Server Mike'a P. Byłem bardzo zadowolony z obu, ale chciałem mieć własną wersję.

Krok 1: Rozwiązywanie problemów i unikalne dane

Są pewne dane, na które często się odwołuję i lubię umieszczać te dane na przodzie.

Alarm – włącz i wyłącz

Upewnij się, że wszystkie drzwi i okna są zamknięte. Na panelu sterowania wprowadź kod główny:

[kod główny] = [twój kod główny]

Wyłącz linię telefoniczną

W moim domu jest telefon stacjonarny, ale nie mam usługi telefonii stacjonarnej. Każdej nocy około 23:00 system emituje sygnał dźwiękowy. Jeśli system utraci zasilanie, należy go ponownie wprowadzić. Aby wyłączyć ten dźwięk, na klawiaturze wprowadź:

  • Wyłącz linię telefoniczną: *8 5555 015 7 ##
  • Wyłącz transmisje testowe linii telefonicznej *8 5555 371 9999 ##
  • Wyłącz dialer telefoniczny: *8 5555 380 1 ##

Serwer alertów Envisalink

Zaloguj się do Envisaiink

Uzyskaj serwer Envisalerts: 184.106.215.218

Otwarty router U-verse: 192.168.1.254

Przejdź do Ustawienia, Zapora

Logowanie Envisalink

Otwórz przeglądarkę

Wpisz adres IP Envisalink:

[nazwa użytkownika envisalink] = użytkownik

[hasło envislink] = [wprowadź swoje hasło]

Adres IP Envisalink

[Adres IP Envisalink] = 192.168.1.92

Nazwa użytkownika i hasło w zasięgu wzroku

[nazwa użytkownika eye-on] = [nazwa użytkownika envisalink]

[hasło do oczu] = [hasło do envisalink]

Kod instalatora

[Kod instalatora] = [Wprowadź swój kod instalatora]

5555 to kod domyślny. Możesz poprosić instalatora o kod lub zrobić reset do ustawień fabrycznych, co spowoduje powrót do 5555. Nie polecam resetowania do ustawień fabrycznych, ponieważ istnieje duża możliwość uszkodzenia systemu.

Kod główny

[Kod Główny] = [wprowadź swój kod główny]

IP Raspberry Pi

[Raspberry Pi IP] = [wprowadź swój adres IP Raspberry Pi, np. 192.168.1.57]

Logowanie do Raspberry Pi z Mac Book

Na Mac Booku otwórz terminal

ssh pi@ [Adres IP Raspberry Pi]

[Hasło]

Hasło do Raspberry Pi

Hasło = [Twoje hasło Raspberry Pi]

Router

Adres IP routera =[wprowadź adres IP routera]

Ustaw czas i datę DSC

*611301ggmmMMDDRR#

hh są w czasie wojskowym, po południu dodaj 12. Czyli 16:00 jest 16

Programowanie stref

Typ alarmu strefy

01 - Alarm po zapewnieniu opóźnienia (domyślnie 60 sekund) w trybie Stay lub Away

03 – Alarm natychmiast, jeśli zostanie naruszony w trybie Stay lub Away

05 – Wewnętrzny czujnik ruchu. Alarm natychmiast, jeśli zostanie naruszony tylko w trybie Away (pomija w trybie Stay)

Na klawiaturze wprowadź:

*8 [Kod instalatora] 001 01 03 05 05 87 # #

Wyjaśnienie powyższej sekwencji kodu:

  • *8 [Kod instalatora]
  • 001 – To wprowadza Cię w programowanie stref dla stref
  • 01 03 05 05 87 – To jest moja sekwencja typów alarmów strefowych, w kolejności stref od 1 do 5.
  • Wszystkie strefy muszą być odpowiednio ustawione.
  • # # – To zapisuje to, co zrobiłeś i wyprowadza Cię z trybu programowania.

Krok 2: Znajdź numery modeli klawiatury i panelu sterowania

Znajdź numery modeli klawiatury i panelu sterowania
Znajdź numery modeli klawiatury i panelu sterowania
Znajdź numery modeli klawiatury i panelu sterowania
Znajdź numery modeli klawiatury i panelu sterowania
Znajdź numery modeli klawiatury i panelu sterowania
Znajdź numery modeli klawiatury i panelu sterowania
Znajdź numery modeli klawiatury i panelu sterowania
Znajdź numery modeli klawiatury i panelu sterowania

Znajdź numer modelu klawiatury. Klawiatura DSC znajduje się w pobliżu drzwi (zdjęcie 1 i 2). W moim domu jest jedna klawiatura przy drzwiach garażowych i jedna przy drzwiach wejściowych.

Znajdź numer modelu panelu sterowania. Klawiatura ma naklejkę na górze, a numer modelu znajduje się pośrodku. Mój to PK5501 (zdjęcie 3 i 4).

Innym sposobem na to jest:

  • Na komputerze otwórz przeglądarkę
  • Przejdź do

Mój panel sterowania znajduje się w metalowym pudełku w szafie (zdjęcie 3). Otwórz metalowe pudełko, a na środku panelu sterowania znajduje się naklejka z numerem modelu. Numer modelu mojego panelu sterowania to PC1616 (zdjęcie 4).

Krok 3: Sprawdź, czy EnvisaLink 3 jest kompatybilny z Twoim systemem bezpieczeństwa

Kliknij link eyeson.com.

Przewiń w dół do kompatybilności paneli i sprawdź, czy Twój jest na liście. Jeśli nie, sprawdź w EyesOn.

Krok 4: Uzyskaj dokumentację DSC

DSC oferuje instrukcję obsługi, ale większość innych dokumentów wymaga, abyś był instalatorem

  • W przypadku centrali należy znaleźć Instrukcję instalatora, Instrukcję użytkownika, Instrukcję referencyjną i Arkusz programowania.
  • W przypadku klawiatury znajdź instrukcję instalacji. Wszystkie podręczniki, które znalazłem, były plikami PDF.

Kilka źródeł podręczników DSC innych niż DSC jest dostępnych on-line. Podręczniki DSC nie są wymagane do tej instrukcji. Są to jedynie odniesienia, jeśli chcesz rozszerzyć instrukcje lub jeśli twój system używa różnych części.

LiveWatch.com to najlepsze źródło instrukcji DSC. LiveWatch był również bardzo pomocny w odpowiadaniu na pytania i uwalnianiu mnie. Nie mógłbym ukończyć tej instrukcji bez pomocy LiveWatch.

Krok 5: Kup lub zbierz części i narzędzia

A) System bezpieczeństwa DSC z klawiaturami PK5501, centralą PC1616 i wieloma czujnikami (okna, drzwi i ruchu). System bezpieczeństwa przyszedł wraz z domem.

B) Zamów EnvisaLink 3 - 119 USD + S&H. www.eyezon.com

C) Dostawca Internetu AT&T U-verse, bramka DSL

D) 24-portowy zarządzalny przełącznik NetGear

E) niewidoczny płot dla psa lub przewód termostatu;

F) Kabel Ethernet CAT5E

G) Cztery przewody AWG o średnicy 18-22 o długości około 6 cali (czerwony, czarny żółty, zielony)

H) Szczypce półokrągłe

I) Wiertarka i wiertło do metalu 3/16” i bardzo małe wiertło

J) Czarna taśma elektryka

K) Bardzo mały śrubokręt płaski (mam taki do naprawy okularów, gdy śruba wypadnie)

L) SPST Mini chwilowy przełącznik przyciskowy, normalnie zamknięty

M) Małe plastikowe etui (nić dentystyczna)

N) Nóż Exacto

Krok 6: Instalacja EnvisaLink 3

Instalacja EnvisaLink 3
Instalacja EnvisaLink 3
Instalacja EnvisaLink 3
Instalacja EnvisaLink 3

Nie powinienem był postępować zgodnie z instrukcjami dołączonymi do EnvisLink 3.

Pierwszym krokiem w instrukcji jest odłączenie zasilania od PC1616. Założyłem, że oznacza to zarówno zasilanie prądem przemiennym, jak i zasilanie awaryjne z baterii. Odłączyłem oba, a następnie musiałem zadzwonić do technika, aby przywrócić połączenie z klawiaturami. Wezwanie serwisowe kosztowało 135 dolarów.

  1. Mój PC1616 jest zamknięty w metalowej obudowie. Znajdź kartę PC1616 systemu bezpieczeństwa.
  2. Użyj EV3, aby utworzyć papierowy szablon dla przesuniętych otworów. Szablon służy do zaznaczania otworów w metalowej obudowie. Ponieważ łatwiej było przykręcić od zewnątrz pudełka do środka, musiałem odwrócić szablon.
  3. Przyklej szablon na zewnątrz metalowego pudełka zawierającego PC1616. Wybierz miejsce, które ma wystarczająco dużo miejsca, aby pomieścić Envisalink 3.
  4. Bardzo powoli, używając wiertła do metalu 3/16" i szablonu, wywierć 3 otwory z boku metalowego pudełka.
  5. Od wewnętrznej strony metalowej obudowy wsuń plastikowe przesunięcia do otworów
  6. Zainstaluj płytkę EV3 w metalowym pudełku na plastikowych offsetach.
  7. Usuń 1/4" z obu końców czerwonego, czarnego, zielonego i żółtego przewodu (lub możesz przeciąć kabel RJ11 i użyć przewodów wewnątrz). złącza płyt mocniej zaciskają drut lity. Jeśli używasz skręconego drutu, skręć mocno końce, co ułatwi montaż.
  8. Odłącz czarny przewód zasilania AC od kontrolera DSC. To jest drugi przewód (przewody) od lewej. Uważaj, aby odsłonięty koniec czarnych przewodów nie dotykał czegokolwiek. Owinąłem koniec taśmą izolacyjną, aż wykonałem kolejne kroki. Jeśli czarny przewód (przewody) dotknie czegokolwiek, transformator będzie zwarty i będziesz musiał wezwać firmę serwisową w celu wymiany.
  9. Używając bardzo małego płaskiego śrubokręta, zainstaluj kolorowe przewody w odpowiednich gniazdach EV3.
  10. Jeden po drugim poluzuj czerwone, zielone, żółte i czarne śruby na kontrolerze DSC, ale TYLKO na tyle, aby wsunąć nowe przewody. Włóż odpowiednio kolorowy przewód i dokręć.
  11. Podłącz ponownie zasilanie AC (usunięte w G) do kontrolera DSC.
  12. Za pomocą kabla CAT5e lub CAT6 podłącz EnvisaLink 3 do routera.

Krok 7: Zainstaluj chwilowy przycisk zasilania

Zainstaluj przełącznik chwilowego przycisku zasilania
Zainstaluj przełącznik chwilowego przycisku zasilania

Miałem wiele problemów z programowaniem Envisalink i DSC Controller. Odkryłem, że wyłączanie i włączanie zasilania przywraca system do znanego dobrego stanu. Później dodałem chwilowy przełącznik przyciskowy. Istnieje wiele rodzajów przełączników. Potrzebny jest normalnie zamknięty.

A) Zdobądź małe plastikowe pudełko. Skorzystałam z etui na nić dentystyczną, którą dentysta może dać po wizycie. Usuń nić dentystyczną i metalowe klipsy.

B) Wywierć dwa małe otwory na przewód AC

C) Wywierć lub wytnij otwór na chwilowy przełącznik. Stwierdziłem, że łatwiej jest użyć noża dokładnego niż wywiercić dziurę. Otwórz obudowę i wytnij połowę otworu po jednej stronie otworu, a drugą połowę po sąsiedniej stronie. Tak więc, gdy chwilowy przełącznik przesuwa się w jedną stronę, a gdy obudowa jest zamknięta, chwilowy przełącznik jest mocno przymocowany.

D) Odłącz zasilanie AC od Envisalink. Przeprowadź przewód zasilający przez jeden z małych otworów i podłącz do przewodu na chwilowym wyłączniku zasilania. Owiń taśmą dla elektryka.

E) Zdejmij końce 3-4 calowego kawałka drutu. Przełóż jeden koniec przez drugi mały otwór w obudowie i połącz z drugim przewodem na chwilowym przełączniku. Owiń taśmą elektryczną.

F) Podłącz drugi przewód z przełącznika chwilowego do gniazda zasilania Envisalink AC

G) Użyj taśmy klejącej do uszczelnienia obudowy

H) Sprawdź, czy działa przełącznik. System powinien normalnie być włączony. Po naciśnięciu przełącznika światła na Envisalink zgasną.

Krok 8: Zarejestruj EnvisaLink 3

Po zarejestrowaniu nie można się wyrejestrować. EyesOn zbiera Twoje dane i może aktualizować oprogramowanie Twojej tablicy w dowolnym momencie, bez żadnego powiadomienia. Gdybym miał zrobić to jeszcze raz, nie zrobiłbym tego kroku.

A) Otwórz przeglądarkę i wejdź na www.eyezon.com, rozwijaj Wsparcie i wybierz EnvisaLink 3 Primer Guide

B) Postępuj zgodnie ze wskazówkami w Primer (Zarejestruj, Zaloguj się, Dodaj nowe urządzenie, itp.)

C) Nazwa użytkownika = [nazwa użytkownika patrząca na oczy]

D) Hasło = [hasło oczu]

Krok 9: Sprawdź instalację EnvisaLink 3

Otwórz przeglądarkę i przejdź do strony głównej routera.

  1. Otwórz przeglądarkę
  2. Wprowadź [Adres IP routera]
  3. Na karcie Home przewiń w dół do Home Network Devices

Moja brama mieszkaniowa U-verse (lub router) pokazuje coś takiego jak na obrazku 1.

Przewiń w dół do urządzenia, które powinno wyglądać jak obraz 2.

Stan aktywny oznacza, że płyta jest zainstalowana i działa.

Kliknij Szczegóły, aby uzyskać adres IP EnvisaLink. Adres IP może się od czasu do czasu zmieniać.

Otwórz przeglądarkę i wpisz

[Adres IP Envisalinka]

Wprowadź nazwę użytkownika i hasło:

[nazwa użytkownika envisalink]

[hasło envislinka]

Wprowadź nazwę użytkownika i hasło z instrukcji instalacji. Przeglądarka powinna pokazywać coś takiego jak obraz 3.

Krok 10: Zmień domyślne hasło w Envisalink 3

A) Otwórz przeglądarkę

B) Przejdź do [Adres IP Envisalink] /:80

Przykładem jest 192.168.1.34/:80. /:80 to port.

C) W Change User Password” zmień hasło. Uwaga: domyślna nazwa użytkownika i hasło to user

D) Zapis [hasło envisalink]

Krok 11: (skrót) Wygeneruj łącze mobilne [opcjonalnie]

Nie musisz robić tego ani następnego kroku, ale jeśli chcesz to zrobić, jest to dobra opcja.

Eyez-On oferuje pełną usługę monitorowania. Jest łatwy w użyciu i działa dobrze. Jeśli chcesz skorzystać z tej usługi, postępuj zgodnie z instrukcjami w krokach 10 i 11. W przeciwnym razie przejdź do kroku 12. Pamiętaj, że zrobiłem zarówno 10, jak i 11, a następnie musiałem je wyłączyć. Obie usługi działały dobrze i nie miałem problemów, po prostu chciałem to zrobić sam.

A) Otwórz przeglądarkę i przejdź do Eyez-On

B) Logowanie (na wcześniejszym etapie powinieneś mieć założone konto)

C) Wybierz łącze do portalu mobilnego

D) Kliknij wygeneruj link mobilny

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

E) Link jest długi. Wyślij go e-mailem na swoje urządzenie mobilne.

F) Otwórz link na swoim urządzeniu mobilnym

G) Otwórz inne okno lub kartę przeglądarki i przejdź do Eyez-On, wybierz wsparcie i wybierz EnvisAlarms Monitoring Primer z listy rozwijanej

H) Postępuj zgodnie z instrukcjami, aby pobrać oprogramowanie do samodzielnego monitorowania EV3

I) Postępuj zgodnie ze wskazówkami, aby skonfigurować sposób monitorowania

Krok 12: Zainstaluj aplikację DSC Server na smartfonie [opcjonalnie]

Nie musisz robić tego ani poprzedniego kroku, ale jeśli chcesz to zrobić, to jest to dobra opcja.

A) Przejdź do sklepu Android lub Apple i kup aplikację DSC Security Server od Mike'a P.

Jeśli wykonałeś dwa poprzednie kroki, to koniec! Powinieneś być w stanie zdalnie monitorować i kontrolować swój system bezpieczeństwa.

Krok 13: Ważne uwagi dotyczące Envisalink 3 i PC1616

Komunikacja z Envisalink 3 do EnvisAlerts wykorzystuje protokół UDP. Komunikacja z Envisalink 3 do skryptu odbywa się za pomocą protokołu TCP/IP.

Port Ethernet Envisalink 3 komunikuje się tylko z szybkością 10 Mb/s. Większość routerów i przełączników Ethernet 1 Gb lub 100 Mb będzie automatycznie negocjować do 10 Mb/s.

W sekcji 022 PC1616 opcja 1 nie może być włączona. Ta opcja wymaga podania kodu dostępu użytkownika w celu uzyskania dostępu do funkcji użytkownika, takich jak blokowanie stref itp. Opcja jest domyślnie wyłączona.

Wygaszanie klawiatury i blokowanie linii muszą być wyłączone, aby Envisalink działał.

Krok 14: Cofnij pracę w poprzednich dwóch krokach

Początkowo zapisałem się do Envisalerts i aplikacji Mike P.

Ponieważ nie chcę wysyłać moich informacji bezpieczeństwa wysyłanych do Internetu i nie chcę, aby oprogramowanie Envisalink 3 było aktualizowane bez mojej zgody, musiałem zablokować dostęp Envisalink 3 do Internetu.

A) Otwórz przeglądarkę

B) Przejdź do bramki AT&T U-verse 3801HGV. Wpisz w polu adresu przeglądarki: 192.168.1.254

C) Zaloguj się do bramki

D) Idź do domu

E) Przewiń w dół do Envisalink

F) Kliknij na szczegóły

  • Zapisz adres MAC (aka adres sprzętowy) = [adres MAC Envisalink]
  • [Adres MAC Envisalink] = 00:1c:2a:00:9d:07

G) Przejdź do Ustawienia >> LAN >> Bezprzewodowe

H) Przewiń w dół, aby włączyć filtrowanie adresów MAC

I) Kliknij filtrowanie MAC

  • Kliknij Edytuj listę zablokowanych/dozwolonych urządzeń
  • Kliknij Włącz filtrowanie adresów MAC
  • Przewiń w dół, aby wprowadzić adres MAC

J) Wklej adres MAC Envisalink

K) Kliknij dodaj do listy

L) Kliknij >>, aby przejść do zablokowanych urządzeń

M) Przewiń w górę i upewnij się, że pole wyboru Filtrowanie adresów MAC jest zaznaczone

N) A Envisalink powinien być zablokowany

Krok 15: Zbierz niezbędną dokumentację i zrozum, jak skonfigurowany jest Twój system

Chciałem zrozumieć, jak kontrolować system bezpieczeństwa. Najlepsze źródła to:

Jak zaprogramować system DSC – samouczek – wymagany do zrozumienia dokumentu TPI

EnvisaLink TM TPI Programmer’s Document, wersja 1.04 – opisuje zestaw poleceń TPI

Arkusz programowania – okropny, źle nazwany dokument, który opisuje konfigurację twojego systemu bezpieczeństwa

Poprzedni właściciel nie zostawił wypełnionego arkusza programowania. Musiałem to wypełnić sam. Zasadniczo używałem klawiatury do wprowadzania poleceń, dopóki wszystko nie zostało wymyślone. Arkusz roboczy to miejsce do zapisywania konfiguracji systemu. Ok, skłamałem. Użyj arkusza roboczego jako przewodnika, ale zapisz konfigurację systemu w dokumencie o normalnym rozmiarze.

Krok 16: Dokument programisty interfejsu strony trzeciej (TPI)

Interfejs strony trzeciej (TPI) to zestaw poleceń, odpowiedzi i kodów błędów umożliwiający aplikacjom innych firm łączenie się z EnvisaLink 3 przez połączenie TCP/IP. Ten dokument wydał mi się bardzo zagmatwany. Mam nadzieję, że to wyjaśnienie pomoże nieco lepiej wyjaśnić dokument.

Ogólnie rzecz biorąc, wszystkie polecenia, odpowiedzi i kody błędów TPI są trzycyfrowe:

  • Polecenia są większe lub równe 500
  • Odpowiedzi są mniejsze lub równe 200
  • Kody błędów mieszczą się w zakresie od 000 do 027, ale odpowiedzi również mieszczą się w tym zakresie

Dane są dołączane na końcu polecenia lub odpowiedzi. Na przykład polecenie logowania może wyglądać tak:

005pswdCS\n\r

gdzie,

pswd = to dane, w tym przypadku Twoje hasło

Wymagane są:

  • CS = suma kontrolna
  • n = znak nowej linii
  • r = znak powrotu karetki

W sieci znalazłem wiele implementacji do obliczania sumy kontrolnej. Suma kontrolna jest wymagana, a wiele implementacji nie działało. Nie jestem pewien, dlaczego tak wielu nie pracowało dla mnie. Może to być zły kod lub mogą to być różne wersje płyty lub wersje oprogramowania układowego działające na płycie. Mój kod sumy kontrolnej działa dla mojej płyty i oprogramowania układowego.

EnvisaLink działa jako serwer dla połączenia TCP z aplikacją kliencką. Klient powinien działać tylko na bezpiecznym serwerze, który może komunikować się z EnvisaLink 3. Serwer Klienta powinien znajdować się w sieci domowej, ale nie powinien być otwarty na Internet. Wymagany jest certyfikat z podpisem własnym (zobacz moje inne instrukcje dotyczące otwierania drzwi garażowych).

EnvisaLink nasłuchuje na porcie 4025 i akceptuje tylko jedno połączenie klienta. Kolejne połączenia będą odrzucane. EnvisaLink zamknie połączenie, jeśli klient zamknie swoją stronę.

Aby zainicjować połączenie:

  • Klient uruchamia sesję TCP, ustanawiając gniazdo TCP.
  • Klient wysyła polecenie logowania [005]
  • EnvisaLink odpowiada jednym lub więcej [505]
  • Jeżeli dane komendy [505] to 3, to w ciągu 10 sekund odpowiedz komendą logowania [005]
  • Jeśli [505] dane zawierają 1, logowanie powiodło się

Dane polecenia logowania to hasło o długości do sześciu znaków, które jest tym samym hasłem do logowania się na lokalnej stronie internetowej EnvisaLink.

Zobacz opis komendy 505 w instrukcji TPI, aby uzyskać opis wszystkich danych.

Po zaakceptowaniu hasła sesja jest tworzona i będzie kontynuowana do momentu zerwania połączenia TCP.

Krok 17: Skrypt kontrolny wiersza poleceń

Wykorzystałem dokumenty z poprzedniego kroku do opracowania interaktywnego skryptu Pythona, który można uruchomić z wiersza poleceń w oknie terminala Mac Book. Oto kilka wyjaśnień:

  • Może trochę przesadziłem, ale myślę, że wszystkie polecenia są w skrypcie.
  • Skrypt wiersza poleceń ev3.py można pobrać z tego linku: GitHub. Pobierz ev3.py.
  • Skopiuj skrypt do katalogu [katalog].
  • Otwórz okno terminala (kliknij dysk MacBooka, Aplikacje, Narzędzia, Terminal).
  • Często korzystam z okna terminala. Mam więc aplikację terminala przypiętą do stacji dokującej.
  • W przypadku uruchamiania z komputera zmień self.file_log = sys.stderr, jak wskazano w skrypcie.
  • W oknie terminala przejdź do katalogu i wykonaj skrypt:

$ cd [katalog]

$ python envisalink.py

  • Wpisz [return], aby zobaczyć prawidłowe polecenia.
  • Wpisz [ctrl-c], aby wyjść z programu.

Krok 18: Krótkie wyjaśnienie

Chcę ustawić lub monitorować system bezpieczeństwa ze smartfona, tabletu lub komputera. Prostym rozwiązaniem jest stworzenie strony internetowej.

Skrypt Pythona wiersza poleceń monitoruje system bezpieczeństwa i może zmienić stan systemu. Jednak nie zapewnia dobrych możliwości zdalnego przeglądania.

Strona internetowa zapewnia doskonały interfejs do monitorowania i zmiany systemu bezpieczeństwa. Jednak strona internetowa „działa” tylko wtedy, gdy jest przeglądana. Natomiast skrypt wiersza poleceń powinien być uruchomiony przez cały czas. Gdy skrypt jest uruchomiony, nikt nie może patrzeć na stronę. Tak więc dane zebrane przez skrypt powinny być przechowywane w bazie danych, dopóki ktoś nie zechce ich wyświetlić.

Ponadto użytkownik powinien mieć możliwość zmiany stanu systemu alarmowego (uzbrajanie, rozbrajanie). Gdy nastąpią zmiany stanu, zmiany powinny być dokonywane szybko.

Zarówno skrypt, jak i baza danych są potencjalnymi punktami awarii, potrzebny jest inny skrypt, który okresowo sprawdza, czy wszystko działa i w razie potrzeby uruchamia go ponownie.

Pominięte kroki

Musisz wykonać te kroki (patrz instrukcja otwierania drzwi garażowych dla niektórych z tych kroków)

A) Skonfiguruj Raspberry Pi – właściwie możesz to uruchomić na dowolnym serwerze

B) Zainstaluj Pythona

C) Utwórz certyfikat z podpisem własnym i zainstaluj go na Raspberry Pi i dowolnych urządzeniach, do których chcesz uzyskać dostęp do strony internetowej

D) Blokuj dostęp do systemu bezpieczeństwa osobom bez certyfikatu z podpisem własnym

Krok 19: Zainstaluj SQLite

Typowe opcje DB to MySQL lub postgres. Ta aplikacja potrzebuje czegoś prostego, takiego jak plik. Wiedziałem, że SQLite to właściwy wybór, kiedy czytam,

  • https://sqlite.org/ jest mniejszy niż MySQL czy postgres
  • SQLite konkuruje z fopen. oraz
  • SQLite nie jest bezpośrednio porównywalny z MySQL lub postgresem, ponieważ próbuje rozwiązać inny problem.

Oto świetne źródło do konfiguracji SQLite: Zainstaluj SQLite na Raspberry Pi

Zaloguj się do maliny i uruchom polecenie:

$ sudo apt-get install sqlite3

$ sudo apt-get install php5-sqlite

Utwórz bazę danych:

$ sqlite3 security.db

Utwórz tabelę

sqlite > POCZĄTEK;

sqlite > CREATE TABLE status (tdata DATA, ttime CZAS, nazwa TEKST, wartość TEKST);

sqlite > ZATWIERDZ;

Sprawdź, czy tabela została utworzona poprawnie:

sqlite >.stan schematu

Status tabeli będzie zawierał:

system: uzbrojony, rozbrojony

alarm: brak, pożar, panika, alarm

strefy[1-6]: otwarte, zamknięte

skrypt: podłączony, zalogowany, uruchomiony

Wstaw dane do tabeli

sqlite > POCZĄTEK;

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

sqlite > INSERT INTO status values(data('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 > ZATWIERDZ;

Sprawdź wartości, które zostały wprowadzone poprawnie

sqlite > SELECT * FROM status WHERE nazwa="strefa";

2015-06-06|17:39:52|strefa1|zamknięta

Wyjdź z SQLite

sqlite >.zakończ

Przenieś bazę danych i zmień dostęp:

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

$ chmod og+rw /var/www/

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

Krok 20: Zainstaluj SQLite na MacBooku [opcjonalnie]

Lubię programować na Macu, a następnie przenosić wyniki na Raspberry Pi.

Przejdź do strony pobierania na sqlite.org i pobierz sqlite-autoconf-*.tar.gz z sekcji kodu źródłowego

Na MacBooku otwórz pliki do pobrania ze swojego konta

Kliknij pobrany plik tar.gx

Otwórz okno terminala

$ cd pobrań

$ cd sqlite-autoconf-[najnowsza wersja]

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

$ zrobić

Wykonanie zajmuje kilka minut, bądź cierpliwy.

$ sudo make zainstaluj

[Hasło MacBooka]

Potwierdź, że działa:

$ sqlite3

sqlite>

Lub spróbuj

$ który sqlite3

Powtórz kroki z poprzedniego kroku, aby skonfigurować bazę danych, tabelę i wprowadzić dane na MacBooku (lub użyj skryptu. Jeśli db nie istnieje, utworzy i zapełni się).

Krok 21: Komunikacja między EnvisaLink 3 i Raspberry Pi Load Mod_wsgi

Potrzebujesz mod_wsgi, aby działał na Raspberry Pi.

Zaloguj się do Raspberry Pi:

$ ssh pi@[Adres IP Raspberry Pi]

Wprowadź hasło

następnie pobierz mod-wsgi

$ sudo apt-get zainstaluj libapache2-mod-wsgi

Aby uruchomić ev3pi.py w wierszu poleceń Raspberry Pi:

$ sudo python ev3pi.py

Krok 22: Pobierz oprogramowanie z GitHub

Zmodyfikuj skrypt wiersza poleceń, aby pisał do bazy danych.

Oto dobre wyjaśnienia dotyczące łączenia skryptu Pythona z SQLite:

  • SQLite z python.org
  • SQLite z Pythona

Zmodyfikowałem kod, aby rozmawiać z SQLite. Kod możesz pobrać tutaj: GitHub. Pobierz ev3pi.py.

Otwórz okno terminala i skopiuj skrypt Pythona wiersza poleceń do raspberry pi

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

Zaloguj się do pi

$ ssh pi@

Wprowadź hasło

Przenieś skrypt do /usr/local/bin i zmień uprawnienia

$ ssh pi@

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

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

lub

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

Zmień skrypt, aby działał na Raspberry Pi. Zobacz komentarze w kodzie. Pamiętaj, aby użyć bazy danych w /var/www/db/security.db

Zaktualizuj witrynę, aby zapisywać polecenia do DB

Kliknięcie na komendę bezpieczeństwa na stronie, zapisuje komendę do bazy danych.

Przy następnym przejściu przez pętlę główną polecenie powinno zostać odczytane i wykonane.

Pobierz kod security.php tutaj: GitHub. Pobierz security.php.

skrypt bash, który sprawdza, czy ev3pi.py jest uruchomiony

Jeśli ev3pi.py z jakiegoś powodu przestanie działać, powinien zacząć działać automatycznie. Ten skrypt próbuje zrestartować skrypt.

Pobierz kod ev3chk.sh tutaj: GitHub. Pobierz ev3chk.sh.

Skrypt Pythona, który automatycznie uzbraja i rozbraja system bezpieczeństwa za pomocą harmonogramu

Ten skrypt używa harmonogramu do uzbrajania i rozbrajania systemu bezpieczeństwa na podstawie wprowadzonej przez użytkownika pory dnia i dnia tygodnia. Jeżeli ustawione jest pole urlopowe, to załączanie i wyłączanie czuwania będzie ignorowane.

Pobierz kod ev3auto.py tutaj: GitHub. Pobierz ev3auto.py.

Strona internetowa do wyświetlania statusu oraz uzbrajania i rozbrajania systemu

To dość prosta strona internetowa, połączona z większym systemem automatyki domowej. Zmień nazwę tego skryptu na indeks i umieść w /var/www na swoim Raspberry Pi.

Pobierz kod security.php tutaj: GitHub. Pobierz security.php.

crontab, aby sprawdzić, czy skrypt jest uruchomiony

Edytuj Crontab, aby upewnić się, że skrypty są uruchomione.

Zaloguj się do Raspberry Pi

$ sudo crontab -e

#

# sprawdzaj co 5 minut, czy działa system bezpieczeństwa

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

#

# sprawdzaj co 15 minut, czy system bezpieczeństwa jest w dobrym stanie

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

Możesz pobrać crontab tutaj: GitHub. Pobierz crontab.

Zalecana: