Elektroda.pl
Elektroda.pl
X
OptexOptex
Proszę, dodaj wyjątek dla 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 3708 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.
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 9555 postów o ocenie 7623, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • OptexOptex
  • #2
    Zdzicho
    Poziom 24  
    To samo ale jeszcze taniej można zrealizować na ESP01
  • #3
    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.
  • OptexOptex
  • #4
    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
    Linoge
    Poziom 27  
    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
    suworow
    Admin Zabezpieczenia Stacjonarne
    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
    LChucki
    Poziom 31  
    Zdzicho napisał:
    To samo ale jeszcze taniej można zrealizować na ESP01

    Po drucie zadziała?
  • #8
    noel200
    Poziom 25  
    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
    paszczakq
    Poziom 23  
    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
    Linoge
    Poziom 27  
    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.