Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Przeróbka systemu alarmowego - wysyłanie e-maila z pomocą Arduino

ghost666 26 Lut 2019 14:28 1842 9
  • Przeróbka systemu alarmowego - wysyłanie e-maila z pomocą Arduino
    Dzięki Arduino możemy rozbudować niemalże dowolną centralkę alarmową o funkcję wysyłania powiadomienia poprzez e-mail. Doskonale uzupełnia to starsze systemy alarmowe, które najczęściej nie są już podłączone do usługi monitorowania.

    Istnieją komercyjnie dostępne produkty tego rodzaju, ale są one dosyć drogie. Przedstawiony poniżej projekt można zrealizować za niecałe 50 zł.

    Potrzebne nam będą:

    * Arduino, najlepiej modułu Uno lub Mega,
    * Shield z Ethernetem - W5100,
    * Kable do podłączenia Arduino do centralki,
    * Kabel Ethernet.

    Dodatkowo musimy mieć oczywiście w domu alarm, koniecznie taki, który posiada programowalny pin wyjściowy lub jakikolwiek pin wyjściowy, którego poziom chcemy monitorować poprzez Arduino. Autor projektu korzysta z centralki DSC power 832 PC5010, ale informacje odnośnie programowania wyjść z innych centralek powinny być dostępne w ich instrukcjach obsługi.

    Krok 1: Zaprogramowanie naszego alarmu

    Przeróbka systemu alarmowego - wysyłanie e-maila z pomocą Arduino


    Uwaga!

    Dostęp do panelu bezpieczeństwa lub wprowadzanie zmian w konfiguracji alarmu może spowodować uruchomienie się alarmu antysabotażowego, szczególnie jeśli subskrybujemy usługę zdalnego monitorowania naszego systemu. Pamiętaj też, aby śledzić każdą wprowadzoną zmianę, aby w razie potrzeby móc ją później odwrócić i przywrócić alarm do stanu fabrycznego.

    Próbujemy dokonać odczytu zmiany stanu z systemu po uruchomieniu alarmu. Większość systemów ma programowalny pin wyjściowy, który możemy wykorzystać do sygnalizowania zdarzeń np. dla Arduino. Możliwe jest również użycie sygnału z syreny (bez konieczności dokonywania jakichkolwiek zmian w systemie), ale wymagany będzie dodatkowy obwód i modyfikacja kodu Arduino. Autor projektu nie wykorzystał tej możliwości, ponieważ jego centralka posiada programowalny pin wyjściowy, a ponadto głównym problemem w tym projekcie jest kod programu wysyłającego e-mail.

    Aby zmienić w naszej centralce konfigurację, należy postępować dokładnie z informacjami zawartymi w jej instrukcji obsługi. Dla centralki DSC, z jakiej korzysta autor układu, należy kolejno:





    1. Skonfigurować pin PGM1 do sygnalizowania włączenia alarmu. Znajdziemy to w sekcji [009] jako opcja [01].
    2. Można skonfigurować także dokładniejsze parametry załączania wyjścia PGM1 w sekcji [141]:
    - Atrybut 1 na ON, dzięki czemu system załączy wyjście PGM1, gdy nastąpi alarm w sekcji 1.
    - Atrybut 3 na OFF, dzięki czemu pin jest albo rozwarty albo zwarty do masy. Jeśli nastawimy go na ON, to wystąpi na nim napięcie stanu wysokiego centralki. Może uszkodzić Arduino, jeżeli tylko nie będzie ono w stanie pracować z danym napięciem.
    - Wszystkie inne atrybuty na OFF.

    Większość centralek alarmowych posiada wbudowany modem, który jest przeznaczony głównie do komunikacji z centralną stacją monitorującą przez linie telefoniczne. Jeśli nie otrzymuje ona cyklicznego potwierdzenia, że dane są wysyłane i poprawnie odbierane, zostanie wyświetlony kod błędu. Niektóre mogą być ustawione na wysyłanie wiadomości na pager lub na wywoływanie linii osobistej bezpośrednio przez centralkę - bez konieczności potwierdzenia otrzymania danych. Możliwe jest takie zaprogramowanie centralki, że zadzwoni ona do nas (jeśli mamy w domu telefon stacjonarny) na skonfigurowany numer w przypadku wystąpienia zdefiniowanego zdarzenia (na przykład włączenia alarmu).

    Jeśli nie korzystamy z usług centrum monitorowania, to opcje dotyczące tego powinny być wyłączone, by centralka nie pokazywała kodów błędu etc.

    Przeróbka systemu alarmowego - wysyłanie e-maila z pomocą Arduino
    Krok 2: Programowanie Arduino

    Zanim przystąpimy do pisania kodu na Arduino, musimy zarejestrować się w usłudze, która pozwoli nam wysyłać e-mail. Autor skorzystał z prostego smtp2go, które jest darmowe i doskonale współpracuje z Arduino. dostępne są nawet przykładowe programy, z których pochodzi część kodu publikowanego poniżej. W pierwszej kolejności rejestrujemy się na stronie usługodawcy:

    https://www.smtp2go.com

    Po rejestracji musimy zakodować basze hasło i nazwę użytkownika (znajdziemy to na stronie w "Settings" > "Users") kodowaniem base64, aby wykorzystać wygenerowanie informacje w szkicu poniżej. W tym celu korzystamy z prostej stronki:

    https://www.base64encode.org/

    Kod źródłowy szkicu:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Sekcje, które należy edytować, by dopasować się do naszych potrzeb, opatrzono komentarzami.

    Teraz możemy skompilować program i załadować go do modułu Arduino.

    Przeróbka systemu alarmowego - wysyłanie e-maila z pomocą Arduino
    Krok 3: Zainstaluj Arduino w skrzynce rozdzielczej alarmu

    Najpierw musimy zainstalować shield w5100 do Arduino. Następnie możemy zainstalować moduł w skrzynce, gdzie znajdują się linie centralki alarmowej. Moduł możemy przyczepić np. z pomocą rzepu, aby móc go ewentualnie wymienić czy łatwo zdemontować.

    Arduino podłączamy w następujący sposób do centralki z przykładu:

    * PGM1 do pinu 7 Arduino
    * Aux(+) do Vin
    * Aux(-) do GND
    * Do gniazdka Ethernetowego podłączamy kabel LAN.

    Teraz system powinien już działać. Możemy podłączyć się do Arduino po USB, by wykorzystać konsolę szeregową do sprawdzenia statusu programu. Podłączając kabel do USB pamiętajmy, by najpierw odłączyć linię AUX od alarmu.

    Jeśli mimo testów nie otrzymujemy wyczekiwanego e-maila, a wiemy, że został wysłany, to warto sprawdzić folder SPAM w naszej skrzynce pocztowej.

    Źródła:
    https://www.instructables.com/id/Hack-Your-Security-System-to-Send-an-Email-Using-A/
    https://github.com/hzmeister/arduino_alarm_email


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2 26 Lut 2019 14:55
    Zdzicho
    Poziom 24  

    To samo ale jeszcze taniej można zrealizować na ESP01

  • #3 26 Lut 2019 15:04
    sosarek

    Poziom 43  

    ghost666 napisał:
    centralki DXC

    DSC jeśli już ;)
    ghost666 napisał:
    modem, który jest przeznaczony głównie do komunikacji z centralną stacją monitorującą przez linie telefoniczne. Jeśli nie otrzymuje ona cyklicznego potwierdzenia, że dane są wysyłane i poprawnie odbierane, zostanie wyświetlony kod błędu

    Coraz mniej obecnie posiada wbudowany dialer, i dopóki się go nie włączy w opcjach nie ma żadnych błędów.

  • #4 26 Lut 2019 15:10
    ghost666
    Tłumacz Redaktor

    sosarek napisał:
    ghost666 napisał:
    centralki DXC

    DSC jeśli już ;)
    ghost666 napisał:
    modem, który jest przeznaczony głównie do komunikacji z centralną stacją monitorującą przez linie telefoniczne. Jeśli nie otrzymuje ona cyklicznego potwierdzenia, że dane są wysyłane i poprawnie odbierane, zostanie wyświetlony kod błędu

    Coraz mniej obecnie posiada wbudowany dialer, i dopóki się go nie włączy w opcjach nie ma żadnych błędów.


    Poprawione. Dzięki :)

  • #5 27 Lut 2019 06:51
    Linoge
    Poziom 26  

    Brak końcówek na przewodach od czujek, instalacja jeszcze jest w miarę świeża więc nie ma problemu ale jeszcze kilka przeróbek i będą się łamać. Z ciekawości podłączacie różne cudaki pod systemy alarmowe i inne systemy z jakimś papierem. Robicie jakieś analizy bezpieczeństwa lub pseudo EMC ? Np. jaki stopień izolacyjności zapewnia trafo w złączu od ETH ? Czy samo uno nie będzie w stanie zaburzyć pracy centralki ze względu na emisję na liniach zasilania ?

    Esp ma jedną dużą wadę zapewne nie będzie działać w obudowie z metalu.

  • #6 27 Lut 2019 08:40
    suworow
    Moderator Zabezpieczeń

    Linoge napisał:
    Robicie jakieś analizy bezpieczeństwa lub pseudo EMC ? Np. jaki stopień izolacyjności zapewnia trafo w złączu od ETH ? Czy samo uno nie będzie w stanie zaburzyć pracy centralki ze względu na emisję na liniach zasilania ?

    Dobre pytania. Tak naprawdę należało by urządzenie całkowicie odizolować galwanicznie od centrali alarmowej i od niej odsunąć.
    Druga spawa to nie można traktować jako alternatywy dla profesjonalnych rozwiązań, jako podstawowego powiadomienia o alarmach z obiektu. Urządzenia alarmowe projektuje się przede wszystkim tak, aby cechowały się wysokim stopniem niezawodności. Między innymi składa się na to:
    - zasilanie buforowe wszystkich elementów systemu i kontrola tego zasilania.
    - ochrona sabotażowa wszystkich elementów systemu
    W naszym wypadku takim zasilaniem, jego kontrolą i ochroną należało by objąć router. Brak prądu, uszkodzenie układy zasilania, ktoś wypiął wtyczkę z routera i po naszym monitoringu :(
    Samo dotarcie mejla też obarczone jest sporym ryzykiem.

    Tak czy inaczej jako sposób dodatkowe źródło informacji o alarmach z obiektu jak najbardziej tak.
    Jako alternatywa dla rozwiązań profesjonalnych- zdecydowanie nie.

  • #7 27 Lut 2019 08:55
    LChucki
    Poziom 28  

    Zdzicho napisał:
    To samo ale jeszcze taniej można zrealizować na ESP01

    Po drucie zadziała?

  • #8 27 Lut 2019 16:02
    noel200
    Poziom 24  

    Ja coś podobnego założyłem sobie w garażu. Wemos D1 mini i czujnik MQ-2. Program to prakycznie gotowiec z examples. Jak czujnik wykryje jakiś gaz palny czy dym w wartości przekraczającej zadany próg to wysyła maila. Tanio, szybko i prosto.

  • #9 27 Lut 2019 16:34
    paszczakq
    Poziom 21  

    już tam nie cudujcie z zakłóceniami . o ile to nie antena gsm czasem nawet położona na centralce będzie działać . a tak potrafią niektórzy mi za plecami podrzucić takie cudo do skrzynki .

  • #10 28 Lut 2019 07:28
    Linoge
    Poziom 26  

    To nie jest cudowanie tylko budowanie świadomości. Jak mówi staropolskie przysłowie "Wszystko jest w porządku dopóki wszystko jest OK." Tutaj podobnie, problemy się zaczną kiedy np. centralka będzie się wieszać lub nie odpowiadać na komendy raz lub dwa razy w ciągu miesiąca lub kwartału. Moim zdaniem dla systemu alarmowego jest to niedopuszczalne a dla automatyki tak, pod warunkiem, że bez niej da się funkcjonować. Sam miałem coś podobnego, oczywiście system wieszał się raz na dwa miesiące no i padł jak byłem 3 000 km od domu.